diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8a1cc701b2..6e3ef73105 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -72,26 +72,46 @@ jobs: npm version "$NEW_VERSION" --no-git-tag-version git add package* && git commit -m "chore(release): $NEW_VERSION [skip ci]" - - name: Build packages - run: npm run build - - name: Publish scratch-svg-renderer - run: npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-svg-renderer + run: | + npm run build --workspace @scratch/scratch-svg-renderer + npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-svg-renderer env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - name: Publish scratch-render - run: npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-render + run: | + npm run build --workspace @scratch/scratch-render + npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-render env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - name: Publish scratch-vm - run: npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-vm + run: | + npm run build --workspace @scratch/scratch-vm + npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-vm env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - name: Publish scratch-gui - run: npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-gui + run: | + npm run build:dist --workspace @scratch/scratch-gui + npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-gui + env: + NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} + + - name: Publish scratch-gui-standalone + run: | + jq ' + .name = "@scratch/scratch-gui-standalone" | + del(.peerDependencies) | + .exports."." = .exports."./standalone" | + del(.exports."./standalone") + ' ./packages/scratch-gui/package.json | npx sponge ./packages/scratch-gui/package.json + + npm i + npm run clean && npm run build:dist-standalone --workspace @scratch/scratch-gui-standalone + npm publish --access=public --tag="${{steps.npm_tag.outputs.npm_tag}}" --workspace=@scratch/scratch-gui-standalone env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} diff --git a/packages/scratch-gui/package.json b/packages/scratch-gui/package.json index aac4dfb990..64d33a843e 100644 --- a/packages/scratch-gui/package.json +++ b/packages/scratch-gui/package.json @@ -26,7 +26,10 @@ "src" ], "scripts": { - "build": "npm run clean && BUILD_TYPE=dev webpack && BUILD_TYPE=dist webpack && BUILD_TYPE=dist-standalone webpack", + "build": "npm run clean && npm run build:dev && npm run build:dist && npm run build:dist-standalone", + "build:dev": "BUILD_TYPE=dev webpack", + "build:dist": "cross-env NODE_ENV=production BUILD_TYPE=dist webpack", + "build:dist-standalone": "cross-env NODE_ENV=production BUILD_TYPE=dist-standalone webpack", "clean": "rimraf build dist", "deploy": "touch build/.nojekyll && gh-pages -t -d build -m \"[skip ci] Build for $(git log --pretty=format:%H -n1)\"", "prepare": "node scripts/prepare.mjs",