From 1b4247498b5e9b1ea15446c89d3f9dfd67a23b45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Thu, 31 Aug 2023 14:05:12 +0200 Subject: [PATCH] ci: Trim FE package.json files before publishing (no-changelog) --- .github/workflows/release-publish.yml | 3 ++- docker/images/n8n-custom/Dockerfile | 3 +-- docker/images/n8n/Dockerfile | 2 ++ scripts/trim-fe-packageJson.js | 12 ++++++++++++ 4 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 scripts/trim-fe-packageJson.js diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index 22284e5155..09502bae92 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -39,7 +39,8 @@ jobs: - name: Publish to NPM run: | echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc - pnpm publish -r --publish-branch ${{github.event.pull_request.base.ref}} --access public --tag rc + node scripts/trim-fe-packageJson.js + pnpm publish -r --publish-branch ${{github.event.pull_request.base.ref}} --access public --tag rc --no-git-checks npm dist-tag rm n8n rc - name: Create a Release on GitHub diff --git a/docker/images/n8n-custom/Dockerfile b/docker/images/n8n-custom/Dockerfile index 66ae1888c0..5c5f37c8da 100644 --- a/docker/images/n8n-custom/Dockerfile +++ b/docker/images/n8n-custom/Dockerfile @@ -16,8 +16,7 @@ RUN pnpm install --frozen-lockfile RUN pnpm build RUN rm -rf node_modules RUN jq 'del(.pnpm.patchedDependencies)' package.json > package.json.tmp; mv package.json.tmp package.json -RUN jq '{name: .name, version: .version}' packages/editor-ui/package.json > editor-ui.tmp; mv editor-ui.tmp packages/editor-ui/package.json -RUN jq '{name: .name, version: .version}' packages/design-system/package.json > design-system.tmp; mv design-system.tmp packages/design-system/package.json +RUN node scripts/trim-fe-packageJson.js RUN NODE_ENV=production pnpm install --prod --no-optional RUN find . -type f -name "*.ts" -o -name "*.js.map" -o -name "*.vue" -o -name "tsconfig.json" -o -name "*.tsbuildinfo" | xargs rm -rf RUN rm -rf packages/@n8n_io/eslint-config packages/editor-ui/src packages/editor-ui/node_modules packages/design-system diff --git a/docker/images/n8n/Dockerfile b/docker/images/n8n/Dockerfile index 34da16ada2..75892ddffb 100644 --- a/docker/images/n8n/Dockerfile +++ b/docker/images/n8n/Dockerfile @@ -15,6 +15,8 @@ RUN set -eux; \ case "$apkArch" in \ 'armv7') apk del build-dependencies;; \ esac && \ + rm -rf /usr/local/lib/node_modules/n8n/node_modules/n8n-design-system && \ + rm -rf /usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/node_modules && \ find /usr/local/lib/node_modules/n8n -type f -name "*.ts" -o -name "*.js.map" -o -name "*.vue" | xargs rm && \ rm -rf /root/.npm diff --git a/scripts/trim-fe-packageJson.js b/scripts/trim-fe-packageJson.js new file mode 100644 index 0000000000..b593352352 --- /dev/null +++ b/scripts/trim-fe-packageJson.js @@ -0,0 +1,12 @@ +const { writeFileSync } = require('fs') +const { resolve } = require('path'); +const baseDir = resolve(__dirname, '..'); + +const trimPackageJson = (packageName) => { + const filePath = resolve(baseDir, 'packages', packageName, 'package.json'); + const { scripts, peerDependencies, devDependencies, dependencies, ...packageJson } = require(filePath); + writeFileSync(filePath, JSON.stringify(packageJson, null, 2) + '\n', 'utf-8'); +} + +trimPackageJson('design-system') +trimPackageJson('editor-ui')