From ea95210b6623fea1cbb0a3e80226344413c49b89 Mon Sep 17 00:00:00 2001 From: Morten Olsen Date: Fri, 12 Jan 2024 14:42:52 +0100 Subject: [PATCH] ci: add NPM publish --- .github/workflows/release.yml | 60 +++++++++++++++---------------- package.json | 7 +++- packages/cli/README.md | 1 + packages/cli/package.json | 6 ++++ packages/configs/package.json | 8 ++++- packages/examples/package.json | 7 ++++ packages/mini-loader/README.md | 1 + packages/mini-loader/package.json | 6 ++++ packages/runner/README.md | 1 + packages/runner/package.json | 6 ++++ packages/server/README.md | 1 + packages/server/package.json | 8 ++++- scripts/set-version.mjs | 7 +++- scripts/shared-data.json | 8 +++++ 14 files changed, 93 insertions(+), 34 deletions(-) create mode 100644 packages/cli/README.md create mode 100644 packages/mini-loader/README.md create mode 100644 packages/runner/README.md create mode 100644 packages/server/README.md create mode 100644 scripts/shared-data.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4b6b7c7..79e29d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,33 +91,33 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - # release-npm: - # if: github.ref == 'refs/heads/main' - # runs-on: ubuntu-latest - # needs: [build, update-release-draft] - # permissions: - # contents: read - # packages: write - # steps: - # - uses: actions/checkout@v3 - # with: - # fetch-depth: 0 - # - run: corepack enable - # - uses: actions/setup-node@v3 - # with: - # cache: '${{ env.NODE_CACHE }}' - # node-version: '${{ env.NODE_VERSION }}' - # scope: '${{ env.NODE_SCOPE }}' - # - uses: actions/download-artifact@v3 - # with: - # name: lib - # path: ./ - # - run: | - # pnpm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} - # pnpm install - # git config user.name "Github Actions Bot" - # git config user.email "<>" - # node scripts/set-version.ts $(git describe --tag --abbrev=0) - # pnpm publish -r --publish-branch main --access public --no-git-checks - # env: - # NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + release-npm: + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + needs: [build, update-release-draft] + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - run: corepack enable + - uses: actions/setup-node@v3 + with: + cache: '${{ env.NODE_CACHE }}' + node-version: '${{ env.NODE_VERSION }}' + scope: '${{ env.NODE_SCOPE }}' + - uses: actions/download-artifact@v3 + with: + name: lib + path: ./ + - run: | + pnpm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} + pnpm install + git config user.name "Github Actions Bot" + git config user.email "<>" + node scripts/set-version.mjs $(git describe --tag --abbrev=0) + pnpm publish -r --publish-branch main --access public --no-git-checks + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/package.json b/package.json index 614326b..857381e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "@morten-olsen/mini-loader-repo", "private": "true", + "license": "GPL-3.0", "packageManager": "pnpm@8.10.4", "version": "1.0.0", "scripts": { @@ -11,7 +12,6 @@ }, "keywords": [], "author": "", - "license": "ISC", "devDependencies": { "@react-native-community/eslint-config": "^3.2.0", "eslint": "^8.53.0", @@ -23,5 +23,10 @@ "@pnpm/find-workspace-packages": "^6.0.9", "@types/node": "^20.10.8", "ts-node": "^10.9.2" + }, + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" } } \ No newline at end of file diff --git a/packages/cli/README.md b/packages/cli/README.md new file mode 100644 index 0000000..5c0aaf7 --- /dev/null +++ b/packages/cli/README.md @@ -0,0 +1 @@ +[Go to documentation](https://github.com/morten-olsen/mini-loader) diff --git a/packages/cli/package.json b/packages/cli/package.json index 48c3d97..81b8f4f 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -3,6 +3,7 @@ "version": "1.0.0", "main": "./dist/esm/index.js", "types": "./dist/esm/index.d.ts", + "license": "GPL-3.0", "bin": { "mini-loader": "./bin/index.mjs" }, @@ -41,5 +42,10 @@ "@morten-olsen/mini-loader-server": "workspace:^", "@types/inquirer": "^9.0.7", "typescript": "^5.3.3" + }, + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" } } \ No newline at end of file diff --git a/packages/configs/package.json b/packages/configs/package.json index 882b6e7..08d4160 100644 --- a/packages/configs/package.json +++ b/packages/configs/package.json @@ -1,6 +1,7 @@ { "name": "@morten-olsen/mini-loader-configs", "version": "1.0.0", + "private": true, "description": "", "main": "index.js", "scripts": { @@ -8,5 +9,10 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "GPL-3.0", + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" + } } \ No newline at end of file diff --git a/packages/examples/package.json b/packages/examples/package.json index ec429ce..e0df443 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,6 +1,8 @@ { "name": "@morten-olsen/mini-loader-examples", "version": "1.0.0", + "license": "GPL-3.0", + "private": true, "main": "./dist/esm/index.js", "types": "./dist/esm/index.d.ts", "scripts": { @@ -21,5 +23,10 @@ "@morten-olsen/mini-loader": "workspace:^", "@types/node": "^20.10.8", "typescript": "^5.3.3" + }, + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" } } \ No newline at end of file diff --git a/packages/mini-loader/README.md b/packages/mini-loader/README.md new file mode 100644 index 0000000..5c0aaf7 --- /dev/null +++ b/packages/mini-loader/README.md @@ -0,0 +1 @@ +[Go to documentation](https://github.com/morten-olsen/mini-loader) diff --git a/packages/mini-loader/package.json b/packages/mini-loader/package.json index a0b7bc0..bdba40a 100644 --- a/packages/mini-loader/package.json +++ b/packages/mini-loader/package.json @@ -1,6 +1,7 @@ { "name": "@morten-olsen/mini-loader", "version": "1.0.0", + "license": "GPL-3.0", "main": "./dist/esm/index.js", "types": "./dist/esm/index.d.ts", "scripts": { @@ -19,5 +20,10 @@ "@morten-olsen/mini-loader-configs": "workspace:^", "@types/node": "^20.10.8", "typescript": "^5.3.3" + }, + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" } } \ No newline at end of file diff --git a/packages/runner/README.md b/packages/runner/README.md new file mode 100644 index 0000000..5c0aaf7 --- /dev/null +++ b/packages/runner/README.md @@ -0,0 +1 @@ +[Go to documentation](https://github.com/morten-olsen/mini-loader) diff --git a/packages/runner/package.json b/packages/runner/package.json index e45aa9d..197667b 100644 --- a/packages/runner/package.json +++ b/packages/runner/package.json @@ -1,6 +1,7 @@ { "name": "@morten-olsen/mini-loader-runner", "version": "1.0.0", + "license": "GPL-3.0", "main": "./dist/esm/index.js", "types": "./dist/esm/index.d.ts", "scripts": { @@ -24,5 +25,10 @@ "dependencies": { "eventemitter3": "^5.0.1", "nanoid": "^5.0.4" + }, + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" } } \ No newline at end of file diff --git a/packages/server/README.md b/packages/server/README.md new file mode 100644 index 0000000..5c0aaf7 --- /dev/null +++ b/packages/server/README.md @@ -0,0 +1 @@ +[Go to documentation](https://github.com/morten-olsen/mini-loader) diff --git a/packages/server/package.json b/packages/server/package.json index 33fba12..7b0ca03 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,7 @@ { "name": "@morten-olsen/mini-loader-server", "version": "1.0.0", + "license": "GPL-3.0", "main": "./dist/esm/index.js", "types": "./dist/esm/index.d.ts", "bin": { @@ -38,5 +39,10 @@ "sqlite3": "^5.1.7", "superjson": "^2.2.1", "zod": "^3.22.4" + }, + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" } -} +} \ No newline at end of file diff --git a/scripts/set-version.mjs b/scripts/set-version.mjs index e990e84..0900600 100644 --- a/scripts/set-version.mjs +++ b/scripts/set-version.mjs @@ -1,7 +1,9 @@ import { findWorkspacePackages } from '@pnpm/find-workspace-packages'; -import { writeFile } from 'fs/promises'; +import { readFile, writeFile } from 'fs/promises'; import { join } from 'path'; +const sharedData = JSON.parse(await readFile(join(process.cwd(), 'scripts/shared-data.json'))); + const version = process.argv[2]; if (!version) { throw new Error('Version is required'); @@ -11,6 +13,9 @@ const packages = await findWorkspacePackages(process.cwd()); for (const { manifest, dir } of packages) { console.log(dir, version); + for (let [key, value] of Object.entries(sharedData || {})) { + manifest[key] = value; + } manifest.version = version; await writeFile(join(dir, 'package.json'), JSON.stringify(manifest, null, 2)); } diff --git a/scripts/shared-data.json b/scripts/shared-data.json new file mode 100644 index 0000000..90f23a7 --- /dev/null +++ b/scripts/shared-data.json @@ -0,0 +1,8 @@ +{ + "license": "GPL-3.0", + "homepage": "https://github.com/morten-olsen/mini-loader", + "repository": { + "type": "git", + "url": "https://github.com/morten-olsen/mini-loader-repo" + } +}