From 1a34a6d54047705f095bfe38e56f211e35fded46 Mon Sep 17 00:00:00 2001 From: Friedjoff Trautwein Date: Fri, 5 May 2023 10:07:33 +0200 Subject: [PATCH] feat!: set NPM package type to module and publish only build artifacts BREAKING CHANGE: changes import paths for downstream dependencies --- .lintstagedrc.json | 3 --- package.json | 7 +++---- tasks/prepare-package.mjs | 1 + 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.lintstagedrc.json b/.lintstagedrc.json index 30ff165e..3d618bd6 100644 --- a/.lintstagedrc.json +++ b/.lintstagedrc.json @@ -1,7 +1,4 @@ { "(src|__mocks__)/**/*.js": ["eslint --fix", "prettier --write"], - "package.json": [ - "fixpack --sortToTop name --sortToTop license --sortToTop description --sortToTop version --sortToTop author --sortToTop main --sortToTop module --sortToTop files --sortToTop proxy --sortToTop dependencies --sortToTop peerDependencies --sortToTop devDependencies --sortToTop resolutions --sortToTop scripts" - ], "src/**/*.{css,scss}": ["stylelint --fix"] } diff --git a/package.json b/package.json index 9bd7bb90..2d2d98bb 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,6 @@ "license": "BSD-2-Clause", "description": "OpenLayers Editor", "version": "2.2.0", - "main": "build/index.js", "dependencies": {}, "peerDependencies": { "jsts": "^2", @@ -37,7 +36,7 @@ "typescript": "5.0.4" }, "scripts": { - "build": "shx rm -rf build && tsc --project config/tsconfig-build.json && esbuild build/index.js --bundle --global-name=ole --loader:.svg=dataurl --minify --outfile=build/bundle.js", + "build": "shx rm -rf build && tsc --project config/tsconfig-build.json && esbuild build/index.js --bundle --global-name=ole --loader:.svg=dataurl --minify --outfile=build/bundle.js && node tasks/prepare-package.mjs", "cy:open": "cypress open", "cy:run": "cypress run --headless", "cy:test": "start-server-and-test start http://127.0.0.1:8000 cy:run", @@ -45,9 +44,9 @@ "format": "prettier --write 'cypress/integration/*.js' 'src/**/*.js' && eslint 'src/**/*.js' --fix && stylelint 'style/**/*.css' 'src/**/*.css' 'src/**/*.scss' --fix", "lint": "eslint 'cypress/e2e/**/*.js' 'src/**/*.js' && stylelint 'style/**/*.css' 'src/**/*.css' 'src/**/*.scss'", "prepare": "is-ci || husky install", - "publish:beta": "yarn release -- --prerelease beta --skip.changelog && yarn build && git push origin HEAD && git push --tags && yarn publish --tag beta", + "publish:beta": "yarn release -- --prerelease beta --skip.changelog && yarn build && git push origin HEAD && git push --tags && cd build && yarn publish --tag beta", "publish:beta:dryrun": "yarn release -- --prerelease beta --dry-run --skip.changelog", - "publish:public": "yarn release && yarn build && git push origin HEAD && git push --tags && yarn publish", + "publish:public": "yarn release && yarn build && git push origin HEAD && git push --tags && cd build && yarn publish", "publish:public:dryrun": "yarn release --dry-run", "release": "standard-version", "start": "esbuild src/index.js --bundle --global-name=ole --loader:.svg=dataurl --minify --outfile=index.js --serve=localhost:8000 --servedir=. --sourcemap --watch=forever" diff --git a/tasks/prepare-package.mjs b/tasks/prepare-package.mjs index 110e72fb..a00104d6 100644 --- a/tasks/prepare-package.mjs +++ b/tasks/prepare-package.mjs @@ -9,6 +9,7 @@ function main() { // write out simplified package.json pkg.main = 'index.js'; + pkg.type = 'module'; delete pkg.devDependencies; delete pkg.scripts; const data = JSON.stringify(pkg, null, 2);