From 07e40928c0b88fde8379321bb4004e46ad8ec3c6 Mon Sep 17 00:00:00 2001 From: Ice Date: Wed, 19 Feb 2025 23:45:05 +0100 Subject: [PATCH] fix: replace-version script --- .github/workflows/build-test-publish.yml | 9 +++++++++ package.json | 2 +- scripts/replace-versions.ts | 24 +++++++++++++----------- tsconfig.json | 7 +++++++ 4 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 tsconfig.json diff --git a/.github/workflows/build-test-publish.yml b/.github/workflows/build-test-publish.yml index 012888378..a1eab5be1 100644 --- a/.github/workflows/build-test-publish.yml +++ b/.github/workflows/build-test-publish.yml @@ -79,6 +79,15 @@ jobs: publish: bun publish-packages setupGitUser: false + - name: Publish Nightly to npm + uses: changesets/action@v1 + if: contains(github.ref_name, 'beta') + with: + title: ":tada: Publish Beta" + version: bun version-bump + publish: bun publish-packages --tag beta + setupGitUser: false + - name: Publish Nightly to npm uses: changesets/action@v1 if: contains(github.ref_name, 'nightly') diff --git a/package.json b/package.json index a80f5698a..be59f39b3 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "playground:node": "bun --cwd ./playgrounds/node", "playground:vite": "bun --cwd ./playgrounds/vite", "postinstall": "lefthook install; bun lint:ws", - "publish-packages": "bun run build && bun version-bump && bun changeset publish", + "publish-packages": "bun build:ci && bun version-bump && bun changeset publish", "test": "bun --filter '*' --elide-lines=0 test", "test:ci": "bun --filter '*' test:ci", "test:coverage": "bun --filter '*' --elide-lines=0 test:ci", diff --git a/scripts/replace-versions.ts b/scripts/replace-versions.ts index 8acc2db37..26699898c 100644 --- a/scripts/replace-versions.ts +++ b/scripts/replace-versions.ts @@ -6,11 +6,11 @@ const onlyPackageJson = files.filter( (file) => !file.includes("node_modules") && file.endsWith("package.json"), ); -const versions = {}; +const versions: Record = {}; for (const file of onlyPackageJson) { const { version } = await import(`../packages/${file}`); - const [, name] = file.split("/"); + const [name] = file.split("/"); const packageName = `@swapkit/${name}`; @@ -18,15 +18,17 @@ for (const file of onlyPackageJson) { } for (const file of onlyPackageJson) { - // @ts-expect-error - const packageJson = Bun.file(`./packages/${file}`); - const content = await packageJson.text(); + const pkgContent = await Bun.file(`./packages/${file}`).json(); - const replacedContent = content.replace( - /"(@swapkit\/[^"]+)": "[^"]+"/g, - (_, p1) => `"${p1}": "${versions[p1]}"`, - ); + for (const [key, value] of Object.entries(versions)) { + if (pkgContent.dependencies?.[key]) { + pkgContent.dependencies[key] = value; + } - // @ts-expect-error - await Bun.write(`./packages/${file}`, replacedContent); + if (pkgContent.devDependencies?.[key]) { + pkgContent.devDependencies[key] = value; + } + + await Bun.write(`./packages/${file}`, JSON.stringify(pkgContent, null, 2)); + } } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..f81633d43 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "./tools/typescript/base.json", + "compilerOptions": { + "types": ["bun-types"] + }, + "include": ["**/*.ts"] +}