diff --git a/packages/grafana-data/package.json b/packages/grafana-data/package.json index 537beb5f0af..c1a7fcc37c4 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 db889edf461..bcdcc9cb61f 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 793424e5ca8..783cd4e4d65 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 a724775f4fd..162a650a309 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.4.0-pre", diff --git a/packages/grafana-schema/package.json b/packages/grafana-schema/package.json index 6c82f2e2bbb..2da2fd6e2ef 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 18302142bd1..e3ab4d8f9f1 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) {}