From 95b7cabe00016933ca1354c83b69c02388e52d67 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Thu, 1 Dec 2022 12:47:09 +0200 Subject: [PATCH] [v9.3.x] Build: Adds a fallback script to fix package.json main and types fields before packaging (#59639) Co-authored-by: Esteban Beltran --- packages/grafana-data/package.json | 4 +++- packages/grafana-e2e-selectors/package.json | 4 +++- packages/grafana-e2e/package.json | 4 +++- packages/grafana-runtime/package.json | 4 +++- packages/grafana-schema/package.json | 4 +++- packages/grafana-ui/package.json | 4 +++- scripts/prepare-packagejson.js | 21 +++++++++++++++++++++ 7 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 scripts/prepare-packagejson.js diff --git a/packages/grafana-data/package.json b/packages/grafana-data/package.json index 627769428f6..7b67b0a4c21 100644 --- a/packages/grafana-data/package.json +++ b/packages/grafana-data/package.json @@ -30,7 +30,9 @@ "scripts": { "build": "tsc -p ./tsconfig.build.json && rollup -c rollup.config.ts", "clean": "rimraf ./dist ./compiled ./package.tgz", - "typecheck": "tsc --emitDeclarationOnly false --noEmit" + "typecheck": "tsc --emitDeclarationOnly false --noEmit", + "prepack": "cp package.json package.json.bak && node ../../scripts/prepare-packagejson.js", + "postpack": "mv package.json.bak package.json" }, "dependencies": { "@braintree/sanitize-url": "6.0.1", diff --git a/packages/grafana-e2e-selectors/package.json b/packages/grafana-e2e-selectors/package.json index 0d33839b5a7..bf28448b29d 100644 --- a/packages/grafana-e2e-selectors/package.json +++ b/packages/grafana-e2e-selectors/package.json @@ -34,7 +34,9 @@ "build": "tsc -p ./tsconfig.build.json && rollup -c rollup.config.ts", "bundle": "rollup -c rollup.config.ts", "clean": "rimraf ./dist ./compiled ./package.tgz", - "typecheck": "tsc --emitDeclarationOnly false --noEmit" + "typecheck": "tsc --emitDeclarationOnly false --noEmit", + "prepack": "cp package.json package.json.bak && node ../../scripts/prepare-packagejson.js", + "postpack": "mv package.json.bak package.json" }, "devDependencies": { "@rollup/plugin-commonjs": "23.0.2", diff --git a/packages/grafana-e2e/package.json b/packages/grafana-e2e/package.json index a0809df5887..e34850e9e13 100644 --- a/packages/grafana-e2e/package.json +++ b/packages/grafana-e2e/package.json @@ -42,7 +42,9 @@ "start": "cypress run --browser=chrome", "start-benchmark": "CYPRESS_NO_COMMAND_LOG=1 yarn start", "test": "pushd test && node ../dist/bin/grafana-e2e.js run", - "typecheck": "tsc --emitDeclarationOnly false --noEmit" + "typecheck": "tsc --emitDeclarationOnly false --noEmit", + "prepack": "cp package.json package.json.bak && node ../../scripts/prepare-packagejson.js", + "postpack": "mv package.json.bak package.json" }, "devDependencies": { "@rollup/plugin-node-resolve": "15.0.1", diff --git a/packages/grafana-runtime/package.json b/packages/grafana-runtime/package.json index 97785b2a3d7..d6816536940 100644 --- a/packages/grafana-runtime/package.json +++ b/packages/grafana-runtime/package.json @@ -32,7 +32,9 @@ "build": "tsc -p ./tsconfig.build.json && rollup -c rollup.config.ts", "bundle": "rollup -c rollup.config.ts", "clean": "rimraf ./dist ./compiled ./package.tgz", - "typecheck": "tsc --emitDeclarationOnly false --noEmit" + "typecheck": "tsc --emitDeclarationOnly false --noEmit", + "prepack": "cp package.json package.json.bak && node ../../scripts/prepare-packagejson.js", + "postpack": "mv package.json.bak package.json" }, "dependencies": { "@grafana/data": "9.3.0", diff --git a/packages/grafana-schema/package.json b/packages/grafana-schema/package.json index e6ea9175349..f221fc9ae97 100644 --- a/packages/grafana-schema/package.json +++ b/packages/grafana-schema/package.json @@ -31,7 +31,9 @@ "build": "tsc -p ./tsconfig.build.json && rollup -c rollup.config.ts", "bundle": "rollup -c rollup.config.ts", "clean": "rimraf ./dist ./compiled ./package.tgz", - "typecheck": "tsc --emitDeclarationOnly false --noEmit" + "typecheck": "tsc --emitDeclarationOnly false --noEmit", + "prepack": "cp package.json package.json.bak && node ../../scripts/prepare-packagejson.js", + "postpack": "mv package.json.bak package.json" }, "devDependencies": { "@grafana/tsconfig": "^1.2.0-rc1", diff --git a/packages/grafana-ui/package.json b/packages/grafana-ui/package.json index 600964e9992..9e844f1394b 100644 --- a/packages/grafana-ui/package.json +++ b/packages/grafana-ui/package.json @@ -38,7 +38,9 @@ "storybook": "start-storybook -p 9001 -c .storybook", "storybook:build": "build-storybook -o ./dist/storybook -c .storybook", "typecheck": "tsc --emitDeclarationOnly false --noEmit", - "generate-icons-bundle-cache-file": "node ./scripts/generate-icon-bundle.js" + "generate-icons-bundle-cache-file": "node ./scripts/generate-icon-bundle.js", + "prepack": "cp package.json package.json.bak && node ../../scripts/prepare-packagejson.js", + "postpack": "mv package.json.bak package.json" }, "browserslist": [ "defaults", diff --git a/scripts/prepare-packagejson.js b/scripts/prepare-packagejson.js new file mode 100644 index 00000000000..cab9eed4c98 --- /dev/null +++ b/scripts/prepare-packagejson.js @@ -0,0 +1,21 @@ +const fs = require('fs'); + +const cwd = process.cwd(); +const packageJson = require(`${cwd}/package.json`); + +const newPackageJson = { + ...packageJson, + main: packageJson.publishConfig?.main ?? packageJson.main, +}; + +if (packageJson.publishConfig?.types) { + newPackageJson.types = packageJson.publishConfig.types; +} + +if (packageJson.publishConfig?.module) { + newPackageJson.module = packageJson.publishConfig.module; +} + +try { + fs.writeFileSync(`${cwd}/package.json`, JSON.stringify(newPackageJson, null, 2)); +} catch (e) {}