diff --git a/.changeset/slimy-readers-hide.md b/.changeset/slimy-readers-hide.md new file mode 100644 index 000000000..53ef8d09f --- /dev/null +++ b/.changeset/slimy-readers-hide.md @@ -0,0 +1,28 @@ +--- +"@flint.fyi/plugin-performance": patch +"@flint.fyi/plugin-spelling": patch +"@flint.fyi/plugin-browser": patch +"@flint.fyi/plugin-astro": patch +"@flint.fyi/plugin-flint": patch +"@flint.fyi/plugin-react": patch +"@flint.fyi/plugin-solid": patch +"@flint.fyi/comparisons": patch +"@flint.fyi/plugin-next": patch +"@flint.fyi/plugin-node": patch +"@flint.fyi/plugin-nuxt": patch +"@flint.fyi/rule-tester": patch +"@flint.fyi/plugin-jsx": patch +"@flint.fyi/ts-patch": patch +"flint": patch +"@flint.fyi/utils": patch +"@flint.fyi/core": patch +"@flint.fyi/json": patch +"@flint.fyi/site": patch +"@flint.fyi/text": patch +"@flint.fyi/yaml": patch +"@flint.fyi/cli": patch +"@flint.fyi/md": patch +"@flint.fyi/ts": patch +--- + +chore: rework packaging with tsdown diff --git a/.editorconfig b/.editorconfig index 1a6e72d7b..49c9660a7 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,3 +6,6 @@ indent_style = tab end_of_line = lf insert_final_newline = true quote_type = double + +[*.yaml] +indent_style = space diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c6d3b5b1a..8620bfd49 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -5,40 +5,40 @@ jobs: steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: ./.github/actions/prepare - - run: pnpm build --noCheck - - run: pnpm run -r build - - run: pnpm flint + - run: pnpm run build + - run: pnpm run -r build # Build packages/site + - run: pnpm run flint lint: name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: ./.github/actions/prepare - - run: pnpm build --noCheck - - run: pnpm run -r build - - run: pnpm lint + - run: pnpm run build + - run: pnpm run -r prebuild # Generate packages/site/.astro without a full build. + - run: pnpm run lint lint_knip: name: Lint Knip runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: ./.github/actions/prepare - - run: pnpm build - - run: pnpm lint:knip + - run: pnpm run build # Knip requires all exports to be generated. + - run: pnpm run lint:knip lint_packages: name: Lint Packages runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: ./.github/actions/prepare - - run: pnpm lint:packages + - run: pnpm run lint:packages test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: ./.github/actions/prepare - - run: pnpm build --noCheck + - run: pnpm run build # https://github.com/vitest-dev/vitest/discussions/9353 - run: pnpm run test name: CI diff --git a/.github/workflows/copilot-setup-steps.yaml b/.github/workflows/copilot-setup-steps.yaml index b417eae20..165d1e70d 100644 --- a/.github/workflows/copilot-setup-steps.yaml +++ b/.github/workflows/copilot-setup-steps.yaml @@ -6,7 +6,7 @@ jobs: steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: ./.github/actions/prepare - - run: pnpm build --noCheck + - run: pnpm build name: Copilot Setup Steps diff --git a/.gitignore b/.gitignore index 726ca90a0..5571a84db 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,4 @@ node_modules packages/*/.astro packages/*/dist packages/*/lib -tsconfig.tsbuildinfo tsconfig.vitest-temp.json diff --git a/.prettierignore b/.prettierignore index 6132e3136..e949aea19 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,3 @@ /.all-contributorsrc /.husky -/lib /pnpm-lock.yaml diff --git a/cspell.json b/cspell.json index c57b96ab2..57da831ce 100644 --- a/cspell.json +++ b/cspell.json @@ -8,8 +8,7 @@ "node_modules", "packages/comparisons/src/data.json", "packages/site/dist", - "pnpm-lock.yaml", - "tsconfig.tsbuildinfo" + "pnpm-lock.yaml" ], "words": [ "affordances", @@ -31,8 +30,10 @@ "aria-setsize", "aria-valuenow", "aria-valuetext", + "attw", "autolinks", "auvred", + "azat-io", "bday", "codemod", "contentinfo", diff --git a/package.json b/package.json index 45b5c2e8a..b0995e908 100644 --- a/package.json +++ b/package.json @@ -14,19 +14,19 @@ }, "type": "module", "scripts": { - "build": "tsc -b", + "build": "tsdown", "flint": "node packages/flint/bin/index.js", - "format": "prettier .", "lint": "eslint . --max-warnings 0", "lint:knip": "knip", "lint:packages": "pnpm dedupe --check", "prepare": "husky", - "test": "vitest" + "test": "vitest --typecheck" }, "lint-staged": { "*": "prettier --ignore-unknown --write" }, "devDependencies": { + "@arethetypeswrong/core": "^0.18.2", "@changesets/cli": "2.29.7", "@eslint-community/eslint-plugin-eslint-comments": "4.5.0", "@eslint/js": "9.39.1", @@ -58,6 +58,7 @@ "prettier-plugin-packagejson": "2.5.20", "prettier-plugin-sentences-per-line": "0.2.0", "prettier-plugin-sh": "0.18.0", + "tsdown": "0.18.3", "typescript": "5.9.3", "typescript-eslint": "8.50.0", "vitest": "4.0.15" diff --git a/packages/cli/package.json b/packages/cli/package.json index 558513283..6bcd9fe3d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -15,11 +15,15 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", - "!lib/**/*.map" + "!lib/**/*.map", + "!lib/**/*.test.*" ], "dependencies": { "@flint.fyi/core": "workspace:", @@ -34,7 +38,8 @@ "wrap-ansi": "^9.0.2" }, "devDependencies": { - "prettier": "3.7.4" + "prettier": "3.7.4", + "tsdown": "0.18.3" }, "peerDependencies": { "prettier": "^3.7.4" @@ -43,6 +48,9 @@ "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/cli/src/packageData.ts b/packages/cli/src/packageData.ts deleted file mode 100644 index 4c9387a7c..000000000 --- a/packages/cli/src/packageData.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { createRequire } from "node:module"; - -const require = createRequire(import.meta.url); - -export const packageData = - // Importing from above src/ would expand the TS build rootDir - require("../package.json") as typeof import("../package.json"); diff --git a/packages/cli/src/runCli.ts b/packages/cli/src/runCli.ts index 82a20dca0..aaed2e4b7 100644 --- a/packages/cli/src/runCli.ts +++ b/packages/cli/src/runCli.ts @@ -1,8 +1,8 @@ import { parseArgs } from "node:util"; +import packageData from "../package.json" with { type: "json" }; import { findConfigFileName } from "./findConfigFileName.js"; import { options } from "./options.js"; -import { packageData } from "./packageData.js"; import { createRendererFactory } from "./renderers/createRendererFactory.js"; import { runCliOnce } from "./runCliOnce.js"; import { runCliWatch } from "./runCliWatch.js"; diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index 3a6c9c21c..eb0b41522 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -1,9 +1,11 @@ { "compilerOptions": { - "outDir": "lib", - "rootDir": "src" + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": ["src", "package.json"], "references": [{ "path": "../core" }, { "path": "../utils" }] } diff --git a/packages/cli/tsdown.config.ts b/packages/cli/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/cli/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/comparisons/package.json b/packages/comparisons/package.json index 59fd877ce..fc875030c 100644 --- a/packages/comparisons/package.json +++ b/packages/comparisons/package.json @@ -15,19 +15,29 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", - "!lib/**/*.map" + "!lib/**/*.map", + "!lib/**/*.test.*" ], "dependencies": { "prettier": "3.7.4" }, + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/comparisons/tsconfig.json b/packages/comparisons/tsconfig.json index 8e0531f42..758923fde 100644 --- a/packages/comparisons/tsconfig.json +++ b/packages/comparisons/tsconfig.json @@ -1,7 +1,9 @@ { "compilerOptions": { - "outDir": "lib", - "rootDir": "src" + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] }, "extends": "../../tsconfig.base.json", "include": ["src", "src/data.json"] diff --git a/packages/comparisons/tsdown.config.ts b/packages/comparisons/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/comparisons/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/core/package.json b/packages/core/package.json index 02fe18ebd..3aa75350a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -15,11 +15,15 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", - "!lib/**/*.map" + "!lib/**/*.map", + "!lib/**/*.test.*" ], "dependencies": { "@flint.fyi/utils": "workspace:", @@ -30,12 +34,16 @@ }, "devDependencies": { "@types/omit-empty": "1.0.4", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/core/src/plugins/createPlugin.test-d.ts b/packages/core/src/plugins/createPlugin.test-d.ts index 723ab050d..7de04466c 100644 --- a/packages/core/src/plugins/createPlugin.test-d.ts +++ b/packages/core/src/plugins/createPlugin.test-d.ts @@ -3,7 +3,7 @@ import { assertType, describe, expectTypeOf, it } from "vitest"; import { FilesValue } from "../types/files.js"; import { createPlugin } from "./createPlugin.js"; -describe(createPlugin, () => { +describe("createPlugin", () => { it("should type files as undefined w/o files property", () => { const plugin = createPlugin({ name: "test", diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 9529d0c6a..c37e7bdb5 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../utils" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/core/tsconfig.src.json b/packages/core/tsconfig.src.json new file mode 100644 index 000000000..9d8848f40 --- /dev/null +++ b/packages/core/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts"], + "references": [{ "path": "../utils" }] +} diff --git a/packages/core/tsconfig.test.json b/packages/core/tsconfig.test.json new file mode 100644 index 000000000..240596624 --- /dev/null +++ b/packages/core/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts"], + "references": [{ "path": "./tsconfig.src.json" }] +} diff --git a/packages/core/tsdown.config.ts b/packages/core/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/core/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/fixtures/tsconfig.json b/packages/fixtures/tsconfig.json index de061cbc3..02613ffe6 100644 --- a/packages/fixtures/tsconfig.json +++ b/packages/fixtures/tsconfig.json @@ -1,7 +1,9 @@ { "compilerOptions": { - "outDir": "lib", - "rootDir": "src" + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] }, "extends": "../../tsconfig.base.json", "include": ["src"] diff --git a/packages/flint/package.json b/packages/flint/package.json index e75b4d4b6..7a316ae39 100644 --- a/packages/flint/package.json +++ b/packages/flint/package.json @@ -15,14 +15,19 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "bin": { "flint": "bin/index.js" }, "files": [ "lib/", - "!lib/**/*.map" + "!lib/**/*.map", + "!lib/**/*.test.*", + "!lib/bin/**" ], "dependencies": { "@flint.fyi/cli": "workspace:", @@ -35,7 +40,8 @@ "typescript": "^5.9.3" }, "devDependencies": { - "prettier": "3.7.4" + "prettier": "3.7.4", + "tsdown": "0.18.3" }, "peerDependencies": { "prettier": "^3.7.4" @@ -44,6 +50,8 @@ "node": ">=24.0.0" }, "publishConfig": { - "provenance": true + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/flint/tsconfig.bin.json b/packages/flint/tsconfig.bin.json new file mode 100644 index 000000000..9ef3cfacf --- /dev/null +++ b/packages/flint/tsconfig.bin.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.bin.json", + "rootDir": "bin/", + "outDir": "lib/bin/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["bin"], + "references": [{ "path": "../cli" }, { "path": "../ts-patch" }] +} diff --git a/packages/flint/tsconfig.json b/packages/flint/tsconfig.json index 57bb58887..6c7b549c7 100644 --- a/packages/flint/tsconfig.json +++ b/packages/flint/tsconfig.json @@ -1,17 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../cli" }, - { "path": "../json" }, - { "path": "../md" }, - { "path": "../ts" }, - { "path": "../ts-patch" }, - { "path": "../yaml" } + { "path": "./tsconfig.bin.json" }, + { "path": "./tsconfig.src.json" } ] } diff --git a/packages/flint/tsconfig.src.json b/packages/flint/tsconfig.src.json new file mode 100644 index 000000000..1aed27aa7 --- /dev/null +++ b/packages/flint/tsconfig.src.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "references": [ + { "path": "../core" }, + { "path": "../json" }, + { "path": "../md" }, + { "path": "../ts" }, + { "path": "../yaml" } + ] +} diff --git a/packages/flint/tsdown.config.ts b/packages/flint/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/flint/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/json/package.json b/packages/json/package.json index 2fbef748e..98bf910b8 100644 --- a/packages/json/package.json +++ b/packages/json/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -28,12 +31,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/json/tsconfig.json b/packages/json/tsconfig.json index 1c093e614..c37e7bdb5 100644 --- a/packages/json/tsconfig.json +++ b/packages/json/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../core" }, { "path": "../rule-tester" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/json/tsconfig.src.json b/packages/json/tsconfig.src.json new file mode 100644 index 000000000..73d7669ce --- /dev/null +++ b/packages/json/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [{ "path": "../core" }] +} diff --git a/packages/json/tsconfig.test.json b/packages/json/tsconfig.test.json new file mode 100644 index 000000000..3b5325cc8 --- /dev/null +++ b/packages/json/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/json/tsdown.config.ts b/packages/json/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/json/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/md/package.json b/packages/md/package.json index eb36d4424..7051bd2d1 100644 --- a/packages/md/package.json +++ b/packages/md/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -30,12 +33,16 @@ "devDependencies": { "@flint.fyi/rule-tester": "workspace:", "@types/unist": "3.0.3", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/md/tsconfig.json b/packages/md/tsconfig.json index 1c093e614..c37e7bdb5 100644 --- a/packages/md/tsconfig.json +++ b/packages/md/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../core" }, { "path": "../rule-tester" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/md/tsconfig.src.json b/packages/md/tsconfig.src.json new file mode 100644 index 000000000..73d7669ce --- /dev/null +++ b/packages/md/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [{ "path": "../core" }] +} diff --git a/packages/md/tsconfig.test.json b/packages/md/tsconfig.test.json new file mode 100644 index 000000000..3b5325cc8 --- /dev/null +++ b/packages/md/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/md/tsdown.config.ts b/packages/md/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/md/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-astro/package.json b/packages/plugin-astro/package.json index 208c4e7d4..cafe6b465 100644 --- a/packages/plugin-astro/package.json +++ b/packages/plugin-astro/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -25,10 +28,16 @@ "@flint.fyi/core": "workspace:", "typescript": "^5.9.3" }, + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-astro/tsconfig.json b/packages/plugin-astro/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-astro/tsconfig.json +++ b/packages/plugin-astro/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-astro/tsconfig.src.json b/packages/plugin-astro/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-astro/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-astro/tsconfig.test.json b/packages/plugin-astro/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-astro/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-astro/tsdown.config.ts b/packages/plugin-astro/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-astro/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-browser/package.json b/packages/plugin-browser/package.json index d22901469..57d51f3b5 100644 --- a/packages/plugin-browser/package.json +++ b/packages/plugin-browser/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -28,12 +31,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-browser/tsconfig.json b/packages/plugin-browser/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-browser/tsconfig.json +++ b/packages/plugin-browser/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-browser/tsconfig.src.json b/packages/plugin-browser/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-browser/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-browser/tsconfig.test.json b/packages/plugin-browser/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-browser/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-browser/tsdown.config.ts b/packages/plugin-browser/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-browser/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-flint/package.json b/packages/plugin-flint/package.json index 2ed958ab9..622354f4d 100644 --- a/packages/plugin-flint/package.json +++ b/packages/plugin-flint/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -29,12 +32,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-flint/tsconfig.json b/packages/plugin-flint/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-flint/tsconfig.json +++ b/packages/plugin-flint/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-flint/tsconfig.src.json b/packages/plugin-flint/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-flint/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-flint/tsconfig.test.json b/packages/plugin-flint/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-flint/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-flint/tsdown.config.ts b/packages/plugin-flint/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-flint/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-jsx/package.json b/packages/plugin-jsx/package.json index c69606d3e..50556478b 100644 --- a/packages/plugin-jsx/package.json +++ b/packages/plugin-jsx/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -30,12 +33,16 @@ "devDependencies": { "@flint.fyi/rule-tester": "workspace:", "@types/language-tags": "1.0.4", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-jsx/tsconfig.json b/packages/plugin-jsx/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-jsx/tsconfig.json +++ b/packages/plugin-jsx/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-jsx/tsconfig.src.json b/packages/plugin-jsx/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-jsx/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-jsx/tsconfig.test.json b/packages/plugin-jsx/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-jsx/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-jsx/tsdown.config.ts b/packages/plugin-jsx/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-jsx/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-next/package.json b/packages/plugin-next/package.json index 8a6be6e3e..6c6afcf4b 100644 --- a/packages/plugin-next/package.json +++ b/packages/plugin-next/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -25,10 +28,16 @@ "@flint.fyi/core": "workspace:", "typescript": "^5.9.3" }, + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-next/tsconfig.json b/packages/plugin-next/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-next/tsconfig.json +++ b/packages/plugin-next/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-next/tsconfig.src.json b/packages/plugin-next/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-next/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-next/tsconfig.test.json b/packages/plugin-next/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-next/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-next/tsdown.config.ts b/packages/plugin-next/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-next/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-node/package.json b/packages/plugin-node/package.json index c768a9b4d..f04cb46c3 100644 --- a/packages/plugin-node/package.json +++ b/packages/plugin-node/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -28,12 +31,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-node/tsconfig.json b/packages/plugin-node/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-node/tsconfig.json +++ b/packages/plugin-node/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-node/tsconfig.src.json b/packages/plugin-node/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-node/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-node/tsconfig.test.json b/packages/plugin-node/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-node/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-node/tsdown.config.ts b/packages/plugin-node/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-node/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-nuxt/package.json b/packages/plugin-nuxt/package.json index e2c2491d5..c354c8119 100644 --- a/packages/plugin-nuxt/package.json +++ b/packages/plugin-nuxt/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -25,10 +28,16 @@ "@flint.fyi/core": "workspace:", "typescript": "^5.9.3" }, + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-nuxt/tsconfig.json b/packages/plugin-nuxt/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-nuxt/tsconfig.json +++ b/packages/plugin-nuxt/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-nuxt/tsconfig.src.json b/packages/plugin-nuxt/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-nuxt/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-nuxt/tsconfig.test.json b/packages/plugin-nuxt/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-nuxt/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-nuxt/tsdown.config.ts b/packages/plugin-nuxt/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-nuxt/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-performance/package.json b/packages/plugin-performance/package.json index 2482b2888..855b99e38 100644 --- a/packages/plugin-performance/package.json +++ b/packages/plugin-performance/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -29,12 +32,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-performance/tsconfig.json b/packages/plugin-performance/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-performance/tsconfig.json +++ b/packages/plugin-performance/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-performance/tsconfig.src.json b/packages/plugin-performance/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-performance/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-performance/tsconfig.test.json b/packages/plugin-performance/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-performance/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-performance/tsdown.config.ts b/packages/plugin-performance/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-performance/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-react/package.json b/packages/plugin-react/package.json index 51ff68ebc..3f18f994c 100644 --- a/packages/plugin-react/package.json +++ b/packages/plugin-react/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -25,10 +28,16 @@ "@flint.fyi/core": "workspace:", "typescript": "^5.9.3" }, + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-react/tsconfig.json b/packages/plugin-react/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-react/tsconfig.json +++ b/packages/plugin-react/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-react/tsconfig.src.json b/packages/plugin-react/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-react/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-react/tsconfig.test.json b/packages/plugin-react/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-react/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-react/tsdown.config.ts b/packages/plugin-react/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-react/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-solid/package.json b/packages/plugin-solid/package.json index 7bd0535f5..7d389258f 100644 --- a/packages/plugin-solid/package.json +++ b/packages/plugin-solid/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -25,10 +28,16 @@ "@flint.fyi/core": "workspace:", "typescript": "^5.9.3" }, + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-solid/tsconfig.json b/packages/plugin-solid/tsconfig.json index b43c3a951..c37e7bdb5 100644 --- a/packages/plugin-solid/tsconfig.json +++ b/packages/plugin-solid/tsconfig.json @@ -1,14 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], + "include": [], "references": [ - { "path": "../core" }, - { "path": "../rule-tester" }, - { "path": "../ts" }, - { "path": "../utils" } + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } ] } diff --git a/packages/plugin-solid/tsconfig.src.json b/packages/plugin-solid/tsconfig.src.json new file mode 100644 index 000000000..dc95ca9f4 --- /dev/null +++ b/packages/plugin-solid/tsconfig.src.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../core" }, + { "path": "../ts" }, + { "path": "../utils" } + ] +} diff --git a/packages/plugin-solid/tsconfig.test.json b/packages/plugin-solid/tsconfig.test.json new file mode 100644 index 000000000..0197a85c6 --- /dev/null +++ b/packages/plugin-solid/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": [] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-solid/tsdown.config.ts b/packages/plugin-solid/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-solid/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/plugin-spelling/package.json b/packages/plugin-spelling/package.json index 6ac2fca73..f26e71ce7 100644 --- a/packages/plugin-spelling/package.json +++ b/packages/plugin-spelling/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -30,12 +33,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/plugin-spelling/tsconfig.json b/packages/plugin-spelling/tsconfig.json index e49b35699..c37e7bdb5 100644 --- a/packages/plugin-spelling/tsconfig.json +++ b/packages/plugin-spelling/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../text" }, { "path": "../utils" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/plugin-spelling/tsconfig.src.json b/packages/plugin-spelling/tsconfig.src.json new file mode 100644 index 000000000..c8e9b2e9c --- /dev/null +++ b/packages/plugin-spelling/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [{ "path": "../text" }, { "path": "../utils" }] +} diff --git a/packages/plugin-spelling/tsconfig.test.json b/packages/plugin-spelling/tsconfig.test.json new file mode 100644 index 000000000..3b5325cc8 --- /dev/null +++ b/packages/plugin-spelling/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/plugin-spelling/tsdown.config.ts b/packages/plugin-spelling/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/plugin-spelling/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/rule-tester/package.json b/packages/rule-tester/package.json index 467185c90..be2eb25c7 100644 --- a/packages/rule-tester/package.json +++ b/packages/rule-tester/package.json @@ -15,11 +15,15 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", - "!lib/**/*.map" + "!lib/**/*.map", + "!lib/**/*.test.*" ], "dependencies": { "@flint.fyi/core": "workspace:", @@ -27,12 +31,16 @@ "cached-factory": "^0.1.0" }, "devDependencies": { + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/rule-tester/tsconfig.json b/packages/rule-tester/tsconfig.json index 3a6c9c21c..c37e7bdb5 100644 --- a/packages/rule-tester/tsconfig.json +++ b/packages/rule-tester/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../core" }, { "path": "../utils" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/rule-tester/tsconfig.src.json b/packages/rule-tester/tsconfig.src.json new file mode 100644 index 000000000..b60d773dd --- /dev/null +++ b/packages/rule-tester/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts"], + "references": [{ "path": "../core" }, { "path": "../utils" }] +} diff --git a/packages/rule-tester/tsconfig.test.json b/packages/rule-tester/tsconfig.test.json new file mode 100644 index 000000000..240596624 --- /dev/null +++ b/packages/rule-tester/tsconfig.test.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts"], + "references": [{ "path": "./tsconfig.src.json" }] +} diff --git a/packages/rule-tester/tsdown.config.ts b/packages/rule-tester/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/rule-tester/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/site/tsconfig.json b/packages/site/tsconfig.json index 0d0b4597e..35a03da55 100644 --- a/packages/site/tsconfig.json +++ b/packages/site/tsconfig.json @@ -9,7 +9,8 @@ "paths": { "~/*": ["src/*"] }, - "target": "esnext" + "target": "esnext", + "customConditions": ["@flint.fyi/source"] }, "extends": "astro/tsconfigs/strict", "include": [".astro/types.d.ts", "*.config.*", "src"], diff --git a/packages/text/package.json b/packages/text/package.json index df9085458..62b829f57 100644 --- a/packages/text/package.json +++ b/packages/text/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -25,10 +28,16 @@ "@flint.fyi/core": "workspace:", "index-to-position": "^1.2.0" }, + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/text/tsconfig.json b/packages/text/tsconfig.json index a64a53c70..c37e7bdb5 100644 --- a/packages/text/tsconfig.json +++ b/packages/text/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../core" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/text/tsconfig.src.json b/packages/text/tsconfig.src.json new file mode 100644 index 000000000..73d7669ce --- /dev/null +++ b/packages/text/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [{ "path": "../core" }] +} diff --git a/packages/text/tsconfig.test.json b/packages/text/tsconfig.test.json new file mode 100644 index 000000000..3b5325cc8 --- /dev/null +++ b/packages/text/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/text/tsdown.config.ts b/packages/text/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/text/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/ts-patch/package.json b/packages/ts-patch/package.json index e8e7a716b..7bb21e3b4 100644 --- a/packages/ts-patch/package.json +++ b/packages/ts-patch/package.json @@ -20,18 +20,31 @@ ], "type": "module", "imports": { - "#proxy-program": "./lib/proxy-program.js" + "#proxy-program": { + "@flint.fyi/source": "./src/proxy-program.ts", + "default": "./lib/proxy-program.js" + } }, "exports": { - ".": "./lib/index.js", - "./install-patch": "./lib/install-patch.js", - "./install-patch-hooks": "./lib/install-patch-hooks.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + }, + "./install-patch": { + "@flint.fyi/source": "./src/install-patch.ts", + "default": "./lib/install-patch.js" + }, + "./install-patch-hooks": { + "@flint.fyi/source": "./src/install-patch-hooks.ts", + "default": "./lib/install-patch-hooks.js" + } }, "files": [ "lib/", "!lib/**/*.map" ], "devDependencies": { + "tsdown": "0.18.3", "typescript": "5.9.3" }, "peerDependencies": { @@ -41,6 +54,11 @@ "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js", + "./install-patch": "./lib/install-patch.js", + "./install-patch-hooks": "./lib/install-patch-hooks.js" + } } } diff --git a/packages/ts-patch/tsconfig.json b/packages/ts-patch/tsconfig.json index 0ee3b7ef9..cef225d4e 100644 --- a/packages/ts-patch/tsconfig.json +++ b/packages/ts-patch/tsconfig.json @@ -1,7 +1,8 @@ { "compilerOptions": { - "outDir": "lib", + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.json", "rootDir": "src", + "outDir": "lib/", "types": ["node"] }, "extends": "../../tsconfig.base.json", diff --git a/packages/ts-patch/tsdown.config.ts b/packages/ts-patch/tsdown.config.ts new file mode 100644 index 000000000..0bf42e686 --- /dev/null +++ b/packages/ts-patch/tsdown.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: [ + "src/index.ts", + "src/install-patch.ts", + "src/install-patch-hooks.ts", + "src/proxy-program.ts", + ], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + treeshake: false, + unbundle: true, +}); diff --git a/packages/ts/package.json b/packages/ts/package.json index 070401cc6..b86f934bb 100644 --- a/packages/ts/package.json +++ b/packages/ts/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -33,12 +36,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/ts/src/index.ts b/packages/ts/src/index.ts index d801bbae1..2f5ab1912 100644 --- a/packages/ts/src/index.ts +++ b/packages/ts/src/index.ts @@ -5,16 +5,16 @@ export { } from "./createTypeScriptFileFromProgram.js"; export { extractDirectivesFromTypeScriptFile, - ExtractedDirective, + type ExtractedDirective, } from "./directives/parseDirectivesFromTypeScriptFile.js"; export { getTSNodeRange } from "./getTSNodeRange.js"; export * from "./language.js"; -export { TSNodesByName } from "./nodes.js"; +export type { TSNodesByName } from "./nodes.js"; export { ts } from "./plugin.js"; export { prepareTypeScriptBasedLanguage, - TypeScriptBasedLanguageFile, - TypeScriptBasedLanguageFileFactoryDefinition, + type TypeScriptBasedLanguageFile, + type TypeScriptBasedLanguageFileFactoryDefinition, } from "./prepareTypeScriptBasedLanguage.js"; export { getDeclarationsIfGlobal } from "./utils/getDeclarationsIfGlobal.js"; export { isGlobalDeclaration } from "./utils/isGlobalDeclaration.js"; diff --git a/packages/ts/tsconfig.json b/packages/ts/tsconfig.json index 1c093e614..c37e7bdb5 100644 --- a/packages/ts/tsconfig.json +++ b/packages/ts/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../core" }, { "path": "../rule-tester" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/ts/tsconfig.src.json b/packages/ts/tsconfig.src.json new file mode 100644 index 000000000..73d7669ce --- /dev/null +++ b/packages/ts/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [{ "path": "../core" }] +} diff --git a/packages/ts/tsconfig.test.json b/packages/ts/tsconfig.test.json new file mode 100644 index 000000000..3b5325cc8 --- /dev/null +++ b/packages/ts/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/ts/tsdown.config.ts b/packages/ts/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/ts/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/utils/package.json b/packages/utils/package.json index 2b928ec82..cface6ecc 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -15,16 +15,26 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", - "!lib/**/*.map" + "!lib/**/*.map", + "!lib/**/*.test.*" ], + "devDependencies": { + "tsdown": "0.18.3" + }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index de061cbc3..63443dc4b 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,7 +1,9 @@ { "compilerOptions": { - "outDir": "lib", - "rootDir": "src" + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] }, "extends": "../../tsconfig.base.json", "include": ["src"] diff --git a/packages/utils/tsdown.config.ts b/packages/utils/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/utils/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/packages/yaml/package.json b/packages/yaml/package.json index 7df9ba39e..25926d6ea 100644 --- a/packages/yaml/package.json +++ b/packages/yaml/package.json @@ -15,7 +15,10 @@ "sideEffects": false, "type": "module", "exports": { - ".": "./lib/index.js" + ".": { + "@flint.fyi/source": "./src/index.ts", + "default": "./lib/index.js" + } }, "files": [ "lib/", @@ -28,12 +31,16 @@ }, "devDependencies": { "@flint.fyi/rule-tester": "workspace:", + "tsdown": "0.18.3", "vitest": "4.0.15" }, "engines": { "node": ">=24.0.0" }, "publishConfig": { - "access": "public" + "access": "public", + "exports": { + ".": "./lib/index.js" + } } } diff --git a/packages/yaml/tsconfig.json b/packages/yaml/tsconfig.json index 1c093e614..c37e7bdb5 100644 --- a/packages/yaml/tsconfig.json +++ b/packages/yaml/tsconfig.json @@ -1,9 +1,8 @@ { - "compilerOptions": { - "outDir": "lib", - "rootDir": "src" - }, "extends": "../../tsconfig.base.json", - "include": ["src"], - "references": [{ "path": "../core" }, { "path": "../rule-tester" }] + "include": [], + "references": [ + { "path": "./tsconfig.src.json" }, + { "path": "./tsconfig.test.json" } + ] } diff --git a/packages/yaml/tsconfig.src.json b/packages/yaml/tsconfig.src.json new file mode 100644 index 000000000..73d7669ce --- /dev/null +++ b/packages/yaml/tsconfig.src.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.src.json", + "rootDir": "src/", + "outDir": "lib/", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src"], + "exclude": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [{ "path": "../core" }] +} diff --git a/packages/yaml/tsconfig.test.json b/packages/yaml/tsconfig.test.json new file mode 100644 index 000000000..3b5325cc8 --- /dev/null +++ b/packages/yaml/tsconfig.test.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", + "rootDir": "src/", + "outDir": "node_modules/.cache/tsbuild/test", + "types": ["node"] + }, + "extends": "../../tsconfig.base.json", + "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], + "references": [ + { "path": "../rule-tester" }, + { "path": "./tsconfig.src.json" } + ] +} diff --git a/packages/yaml/tsdown.config.ts b/packages/yaml/tsdown.config.ts new file mode 100644 index 000000000..f14f7e8c7 --- /dev/null +++ b/packages/yaml/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + attw: { + enabled: "ci-only", + profile: "esm-only", + }, + clean: ["./node_modules/.cache/tsbuild/"], + dts: { build: true, incremental: true }, + entry: ["src/index.ts"], + failOnWarn: true, + fixedExtension: false, + outDir: "lib", + unbundle: true, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5ccf543f7..a59af7426 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,6 +13,9 @@ importers: .: devDependencies: + '@arethetypeswrong/core': + specifier: ^0.18.2 + version: 0.18.2 '@changesets/cli': specifier: 2.29.7 version: 2.29.7(@types/node@24.10.1) @@ -106,6 +109,9 @@ importers: prettier-plugin-sh: specifier: 0.18.0 version: 0.18.0(prettier@3.7.4) + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 @@ -152,12 +158,19 @@ importers: prettier: specifier: 3.7.4 version: 3.7.4 + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/comparisons: dependencies: prettier: specifier: 3.7.4 version: 3.7.4 + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/core: dependencies: @@ -180,6 +193,9 @@ importers: '@types/omit-empty': specifier: 1.0.4 version: 1.0.4 + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -214,6 +230,9 @@ importers: prettier: specifier: 3.7.4 version: 3.7.4 + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/json: dependencies: @@ -230,6 +249,9 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -255,6 +277,9 @@ importers: '@types/unist': specifier: 3.0.3 version: 3.0.3 + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -267,6 +292,10 @@ importers: typescript: specifier: ^5.9.3 version: 5.9.3 + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/plugin-browser: dependencies: @@ -283,6 +312,9 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -305,6 +337,9 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -330,6 +365,9 @@ importers: '@types/language-tags': specifier: 1.0.4 version: 1.0.4 + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -342,6 +380,10 @@ importers: typescript: specifier: ^5.9.3 version: 5.9.3 + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/plugin-node: dependencies: @@ -358,6 +400,9 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -370,6 +415,10 @@ importers: typescript: specifier: ^5.9.3 version: 5.9.3 + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/plugin-performance: dependencies: @@ -389,6 +438,9 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -401,6 +453,10 @@ importers: typescript: specifier: ^5.9.3 version: 5.9.3 + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/plugin-solid: dependencies: @@ -410,6 +466,10 @@ importers: typescript: specifier: ^5.9.3 version: 5.9.3 + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/plugin-spelling: dependencies: @@ -432,6 +492,9 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -448,6 +511,9 @@ importers: specifier: ^0.1.0 version: 0.1.0 devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -551,6 +617,10 @@ importers: index-to-position: specifier: ^1.2.0 version: 1.2.0 + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/ts: dependencies: @@ -582,17 +652,27 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) packages/ts-patch: devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 - packages/utils: {} + packages/utils: + devDependencies: + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) packages/yaml: dependencies: @@ -609,6 +689,9 @@ importers: '@flint.fyi/rule-tester': specifier: 'workspace:' version: link:../rule-tester + tsdown: + specifier: 0.18.3 + version: 0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3) vitest: specifier: 4.0.15 version: 4.0.15(@types/node@24.10.1)(jiti@2.6.1)(yaml@2.8.2) @@ -618,6 +701,13 @@ packages: '@altano/repository-tools@2.0.1': resolution: {integrity: sha512-YE/52CkFtb+YtHPgbWPai7oo5N9AKnMuP5LM+i2AG7G1H2jdYBCO1iDnkDE3dZ3C1MIgckaF+d5PNRulgt0bdw==} + '@andrewbranch/untar.js@1.0.3': + resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} + + '@arethetypeswrong/core@0.18.2': + resolution: {integrity: sha512-GiwTmBFOU1/+UVNqqCGzFJYfBXEytUkiI+iRZ6Qx7KmUVtLm00sYySkfe203C9QtPG11yOz1ZaMek8dT/xnlgg==} + engines: {node: '>=20'} + '@astrojs/check@0.9.5': resolution: {integrity: sha512-88vc8n2eJ1Oua74yXSGo/8ABMeypfQPGEzuoAx2awL9Ju8cE6tZ2Rz9jVx5hIExHK5gKVhpxfZj4WXm7e32g1w==} hasBin: true @@ -775,6 +865,9 @@ packages: resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} + '@braidai/lang@1.1.2': + resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==} + '@capsizecss/unpack@3.0.1': resolution: {integrity: sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==} engines: {node: '>=18'} @@ -1494,6 +1587,9 @@ packages: astro: ^2 || ^3 || ^4 || ^5.0.0 konami-emoji-blast: 0.6.0 + '@loaderkit/resolve@1.0.4': + resolution: {integrity: sha512-rJzYKVcV4dxJv+vW6jlvagF8zvGxHJ2+HTr1e2qOejfmGhAApgJHl8Aog4mMszxceTRiKTTbnpgmTO1bEZHV/A==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -1521,6 +1617,9 @@ packages: '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + '@oxc-project/types@0.103.0': + resolution: {integrity: sha512-bkiYX5kaXWwUessFRSoXFkGIQTmc6dLGdxuRTrC+h8PSnIdZyuXHHlLAeTmOue5Br/a0/a7dHH0Gca6eXn9MKg==} + '@oxc-resolver/binding-android-arm-eabi@11.15.0': resolution: {integrity: sha512-Q+lWuFfq7whNelNJIP1dhXaVz4zO9Tu77GcQHyxDWh3MaCoO2Bisphgzmsh4ZoUe2zIchQh6OvQL99GlWHg9Tw==} cpu: [arm] @@ -1653,13 +1752,96 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@quansync/fs@1.0.0': + resolution: {integrity: sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==} + '@reteps/dockerfmt@0.3.6': resolution: {integrity: sha512-Tb5wIMvBf/nLejTQ61krK644/CEMB/cpiaIFXqGApfGqO3GwcR3qnI0DbmkFVCl2OyEp8LnLX3EkucoL0+tbFg==} engines: {node: ^v12.20.0 || ^14.13.0 || >=16.0.0} + '@rolldown/binding-android-arm64@1.0.0-beta.57': + resolution: {integrity: sha512-GoOVDy8bjw9z1K30Oo803nSzXJS/vWhFijFsW3kzvZCO8IZwFnNa6pGctmbbJstKl3Fv6UBwyjJQN6msejW0IQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.0-beta.57': + resolution: {integrity: sha512-9c4FOhRGpl+PX7zBK5p17c5efpF9aSpTPgyigv57hXf5NjQUaJOOiejPLAtFiKNBIfm5Uu6yFkvLKzOafNvlTw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-beta.57': + resolution: {integrity: sha512-6RsB8Qy4LnGqNGJJC/8uWeLWGOvbRL/KG5aJ8XXpSEupg/KQtlBEiFaYU/Ma5Usj1s+bt3ItkqZYAI50kSplBA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.0-beta.57': + resolution: {integrity: sha512-uA9kG7+MYkHTbqwv67Tx+5GV5YcKd33HCJIi0311iYBd25yuwyIqvJfBdt1VVB8tdOlyTb9cPAgfCki8nhwTQg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57': + resolution: {integrity: sha512-3KkS0cHsllT2T+Te+VZMKHNw6FPQihYsQh+8J4jkzwgvAQpbsbXmrqhkw3YU/QGRrD8qgcOvBr6z5y6Jid+rmw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57': + resolution: {integrity: sha512-A3/wu1RgsHhqP3rVH2+sM81bpk+Qd2XaHTl8LtX5/1LNR7QVBFBCpAoiXwjTdGnI5cMdBVi7Z1pi52euW760Fw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57': + resolution: {integrity: sha512-d0kIVezTQtazpyWjiJIn5to8JlwfKITDqwsFv0Xc6s31N16CD2PC/Pl2OtKgS7n8WLOJbfqgIp5ixYzTAxCqMg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57': + resolution: {integrity: sha512-E199LPijo98yrLjPCmETx8EF43sZf9t3guSrLee/ej1rCCc3zDVTR4xFfN9BRAapGVl7/8hYqbbiQPTkv73kUg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.57': + resolution: {integrity: sha512-++EQDpk/UJ33kY/BNsh7A7/P1sr/jbMuQ8cE554ZIy+tCUWCivo9zfyjDUoiMdnxqX6HLJEqqGnbGQOvzm2OMQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@rolldown/binding-openharmony-arm64@1.0.0-beta.57': + resolution: {integrity: sha512-voDEBcNqxbUv/GeXKFtxXVWA+H45P/8Dec4Ii/SbyJyGvCqV1j+nNHfnFUIiRQ2Q40DwPe/djvgYBs9PpETiMA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.57': + resolution: {integrity: sha512-bRhcF7NLlCnpkzLVlVhrDEd0KH22VbTPkPTbMjlYvqhSmarxNIq5vtlQS8qmV7LkPKHrNLWyJW/V/sOyFba26Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.57': + resolution: {integrity: sha512-rnDVGRks2FQ2hgJ2g15pHtfxqkGFGjJQUDWzYznEkE8Ra2+Vag9OffxdbJMZqBWXHVM0iS4dv8qSiEn7bO+n1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57': + resolution: {integrity: sha512-OqIUyNid1M4xTj6VRXp/Lht/qIP8fo25QyAZlCP+p6D2ATCEhyW4ZIFLnC9zAGN/HMbXoCzvwfa8Jjg/8J4YEg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@rolldown/pluginutils@1.0.0-beta.27': resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + '@rolldown/pluginutils@1.0.0-beta.57': + resolution: {integrity: sha512-aQNelgx14tGA+n2tNSa9x6/jeoCL9fkDeCei7nOKnHx0fEFRRMu5ReiITo+zZD5TzWDGGRjbSYCs93IfRIyTuQ==} + '@rollup/pluginutils@5.3.0': resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} @@ -2193,6 +2375,10 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-kit@2.2.0: + resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} + engines: {node: '>=20.19.0'} + astring@1.9.0: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true @@ -2241,6 +2427,9 @@ packages: resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} engines: {node: '>=4'} + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -2330,6 +2519,9 @@ packages: resolution: {integrity: sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==} engines: {node: '>=8'} + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + clear-module@4.1.2: resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} engines: {node: '>=8'} @@ -2581,6 +2773,15 @@ packages: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} + dts-resolver@2.1.3: + resolution: {integrity: sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw==} + engines: {node: '>=20.19.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + electron-to-chromium@1.5.218: resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==} @@ -2597,6 +2798,10 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + empathic@2.0.0: + resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} + engines: {node: '>=14'} + enhanced-resolve@5.18.3: resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} engines: {node: '>=10.13.0'} @@ -2862,6 +3067,9 @@ packages: picomatch: optional: true + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -3050,6 +3258,9 @@ packages: hastscript@9.0.1: resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + hookable@6.0.1: + resolution: {integrity: sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw==} + hosted-git-info@9.0.2: resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} engines: {node: ^20.17.0 || >=22.9.0} @@ -3100,6 +3311,10 @@ packages: import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + import-without-cache@0.2.5: + resolution: {integrity: sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A==} + engines: {node: '>=20.19.0'} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -3884,6 +4099,9 @@ packages: quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + quansync@1.0.0: + resolution: {integrity: sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -4051,6 +4269,30 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rolldown-plugin-dts@0.20.0: + resolution: {integrity: sha512-cLAY1kN2ilTYMfZcFlGWbXnu6Nb+8uwUBsi+Mjbh4uIx7IN8uMOmJ7RxrrRgPsO4H7eSz3E+JwGoL1gyugiyUA==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@ts-macro/tsc': ^0.3.6 + '@typescript/native-preview': '>=7.0.0-dev.20250601.1' + rolldown: ^1.0.0-beta.57 + typescript: ^5.0.0 + vue-tsc: ~3.2.0 + peerDependenciesMeta: + '@ts-macro/tsc': + optional: true + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.0.0-beta.57: + resolution: {integrity: sha512-lMMxcNN71GMsSko8RyeTaFoATHkCh4IWU7pYF73ziMYjhHZWfVesC6GQ+iaJCvZmVjvgSks9Ks1aaqEkBd8udg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + rollup@4.52.5: resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -4336,6 +4578,10 @@ packages: resolution: {integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==} engines: {node: '>=20'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -4363,6 +4609,31 @@ packages: typescript: optional: true + tsdown@0.18.3: + resolution: {integrity: sha512-OVFzktKDTglFAUh/WO8WamBUbZoBlJ9m7NgZZrVyIKe32BfXBeRZ+soFFpuOGVP8g8OU4tOLOpTyPTELWvcTFw==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + '@arethetypeswrong/core': ^0.18.1 + '@vitejs/devtools': '*' + publint: ^0.3.0 + typescript: ^5.0.0 + unplugin-lightningcss: ^0.4.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@vitejs/devtools': + optional: true + publint: + optional: true + typescript: + optional: true + unplugin-lightningcss: + optional: true + unplugin-unused: + optional: true + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -4391,6 +4662,11 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + typescript@5.6.1-rc: + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -4405,6 +4681,9 @@ packages: ultrahtml@1.6.0: resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} + unconfig-core@7.4.2: + resolution: {integrity: sha512-VgPCvLWugINbXvMQDf8Jh0mlbvNjNC6eSUziHsBCMpxR05OPrNrvDnyatdMjRgcHaaNsCqz+wjNXxNw1kRLHUg==} + uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -4464,6 +4743,16 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} + unrun@0.2.21: + resolution: {integrity: sha512-VuwI4YKtwBpDvM7hCEop2Im/ezS82dliqJpkh9pvS6ve8HcUsBDvESHxMmUfImXR03GkmfdDynyrh/pUJnlguw==} + engines: {node: '>=20.19.0'} + hasBin: true + peerDependencies: + synckit: ^0.11.11 + peerDependenciesMeta: + synckit: + optional: true + unstorage@1.17.3: resolution: {integrity: sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q==} peerDependencies: @@ -4541,6 +4830,10 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validate-npm-package-name@7.0.0: resolution: {integrity: sha512-bwVk/OK+Qu108aJcMAEiU4yavHUI7aN20TgZNBj9MR2iU1zPUl1Z1Otr7771ExfYTPTvfN8ZJ1pbr5Iklgt4xg==} engines: {node: ^20.17.0 || >=22.9.0} @@ -4910,6 +5203,19 @@ snapshots: '@altano/repository-tools@2.0.1': {} + '@andrewbranch/untar.js@1.0.3': {} + + '@arethetypeswrong/core@0.18.2': + dependencies: + '@andrewbranch/untar.js': 1.0.3 + '@loaderkit/resolve': 1.0.4 + cjs-module-lexer: 1.4.3 + fflate: 0.8.2 + lru-cache: 11.2.2 + semver: 7.7.3 + typescript: 5.6.1-rc + validate-npm-package-name: 5.0.1 + '@astrojs/check@0.9.5(prettier-plugin-astro@0.14.1)(prettier@3.7.4)(typescript@5.9.3)': dependencies: '@astrojs/language-server': 2.15.4(prettier-plugin-astro@0.14.1)(prettier@3.7.4)(typescript@5.9.3) @@ -5226,6 +5532,8 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@braidai/lang@1.1.2': {} + '@capsizecss/unpack@3.0.1': dependencies: fontkit: 2.0.4 @@ -5942,6 +6250,10 @@ snapshots: astro: 5.16.2(@types/node@24.10.1)(jiti@2.6.1)(rollup@4.52.5)(typescript@5.9.3)(yaml@2.8.2) konami-emoji-blast: 0.6.0 + '@loaderkit/resolve@1.0.4': + dependencies: + '@braidai/lang': 1.1.2 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.28.4 @@ -6009,6 +6321,8 @@ snapshots: '@oslojs/encoding@1.1.0': {} + '@oxc-project/types@0.103.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.15.0': optional: true @@ -6090,10 +6404,57 @@ snapshots: '@pkgr/core@0.2.9': {} + '@quansync/fs@1.0.0': + dependencies: + quansync: 1.0.0 + '@reteps/dockerfmt@0.3.6': {} + '@rolldown/binding-android-arm64@1.0.0-beta.57': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.0-beta.57': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-beta.57': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-beta.57': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.57': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.0-beta.57': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.57': + dependencies: + '@napi-rs/wasm-runtime': 1.1.0 + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.57': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57': + optional: true + '@rolldown/pluginutils@1.0.0-beta.27': {} + '@rolldown/pluginutils@1.0.0-beta.57': {} + '@rollup/pluginutils@5.3.0(rollup@4.52.5)': dependencies: '@types/estree': 1.0.8 @@ -6685,6 +7046,11 @@ snapshots: assertion-error@2.0.1: {} + ast-kit@2.2.0: + dependencies: + '@babel/parser': 7.28.5 + pathe: 2.0.3 + astring@1.9.0: {} astro-expressive-code@0.41.3(astro@5.16.2(@types/node@24.10.1)(jiti@2.6.1)(rollup@4.52.5)(typescript@5.9.3)(yaml@2.8.2)): @@ -6826,6 +7192,8 @@ snapshots: dependencies: is-windows: 1.0.2 + birpc@4.0.0: {} + boolbase@1.0.0: {} boxen@8.0.1: @@ -6905,6 +7273,8 @@ snapshots: ci-info@4.3.1: {} + cjs-module-lexer@1.4.3: {} + clear-module@4.1.2: dependencies: parent-module: 2.0.0 @@ -7152,6 +7522,10 @@ snapshots: dset@3.1.4: {} + dts-resolver@2.1.3(oxc-resolver@11.15.0): + optionalDependencies: + oxc-resolver: 11.15.0 + electron-to-chromium@1.5.218: {} emmet@2.4.11: @@ -7165,6 +7539,8 @@ snapshots: emoji-regex@8.0.0: {} + empathic@2.0.0: {} + enhanced-resolve@5.18.3: dependencies: graceful-fs: 4.2.11 @@ -7526,6 +7902,8 @@ snapshots: optionalDependencies: picomatch: 4.0.3 + fflate@0.8.2: {} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -7845,6 +8223,8 @@ snapshots: property-information: 7.1.0 space-separated-tokens: 2.0.2 + hookable@6.0.1: {} + hosted-git-info@9.0.2: dependencies: lru-cache: 11.2.2 @@ -7882,6 +8262,8 @@ snapshots: import-meta-resolve@4.2.0: {} + import-without-cache@0.2.5: {} + imurmurhash@0.1.4: {} index-to-position@1.2.0: {} @@ -8926,6 +9308,8 @@ snapshots: quansync@0.2.11: {} + quansync@1.0.0: {} + queue-microtask@1.2.3: {} radix3@1.1.2: {} @@ -9167,6 +9551,41 @@ snapshots: rfdc@1.4.1: {} + rolldown-plugin-dts@0.20.0(oxc-resolver@11.15.0)(rolldown@1.0.0-beta.57)(typescript@5.9.3): + dependencies: + '@babel/generator': 7.28.5 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + ast-kit: 2.2.0 + birpc: 4.0.0 + dts-resolver: 2.1.3(oxc-resolver@11.15.0) + get-tsconfig: 4.13.0 + obug: 2.1.1 + rolldown: 1.0.0-beta.57 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - oxc-resolver + + rolldown@1.0.0-beta.57: + dependencies: + '@oxc-project/types': 0.103.0 + '@rolldown/pluginutils': 1.0.0-beta.57 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.0-beta.57 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.57 + '@rolldown/binding-darwin-x64': 1.0.0-beta.57 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.57 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.57 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.57 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.57 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.57 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.57 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.57 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.57 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.57 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.57 + rollup@4.52.5: dependencies: '@types/estree': 1.0.8 @@ -9519,6 +9938,8 @@ snapshots: '@sindresorhus/base62': 1.0.0 reserved-identifiers: 1.0.0 + tree-kill@1.2.2: {} + trim-lines@3.0.1: {} trough@2.2.0: {} @@ -9536,6 +9957,34 @@ snapshots: optionalDependencies: typescript: 5.9.3 + tsdown@0.18.3(@arethetypeswrong/core@0.18.2)(oxc-resolver@11.15.0)(synckit@0.11.11)(typescript@5.9.3): + dependencies: + ansis: 4.2.0 + cac: 6.7.14 + defu: 6.1.4 + empathic: 2.0.0 + hookable: 6.0.1 + import-without-cache: 0.2.5 + obug: 2.1.1 + picomatch: 4.0.3 + rolldown: 1.0.0-beta.57 + rolldown-plugin-dts: 0.20.0(oxc-resolver@11.15.0)(rolldown@1.0.0-beta.57)(typescript@5.9.3) + semver: 7.7.3 + tinyexec: 1.0.2 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + unconfig-core: 7.4.2 + unrun: 0.2.21(synckit@0.11.11) + optionalDependencies: + '@arethetypeswrong/core': 0.18.2 + typescript: 5.9.3 + transitivePeerDependencies: + - '@ts-macro/tsc' + - '@typescript/native-preview' + - oxc-resolver + - synckit + - vue-tsc + tslib@2.8.1: {} type-check@0.4.0: @@ -9565,6 +10014,8 @@ snapshots: transitivePeerDependencies: - supports-color + typescript@5.6.1-rc: {} + typescript@5.9.3: {} uc.micro@2.1.0: {} @@ -9573,6 +10024,11 @@ snapshots: ultrahtml@1.6.0: {} + unconfig-core@7.4.2: + dependencies: + '@quansync/fs': 1.0.0 + quansync: 1.0.0 + uncrypto@0.1.3: {} undici-types@7.16.0: {} @@ -9659,6 +10115,12 @@ snapshots: universalify@0.1.2: {} + unrun@0.2.21(synckit@0.11.11): + dependencies: + rolldown: 1.0.0-beta.57 + optionalDependencies: + synckit: 0.11.11 + unstorage@1.17.3: dependencies: anymatch: 3.1.3 @@ -9687,6 +10149,8 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + validate-npm-package-name@5.0.1: {} + validate-npm-package-name@7.0.0: {} vfile-location@5.0.3: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3868198e4..76aa97be6 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -14,6 +14,9 @@ overrides: packages: - packages/* -strictDepBuilds: true +peerDependencyRules: + allowedVersions: + astro: "5" +strictDepBuilds: true strictPeerDependencies: true diff --git a/tsconfig.base.json b/tsconfig.base.json index 5610b07c1..a42f17f6b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -5,14 +5,18 @@ "composite": true, "declaration": true, "declarationMap": true, + "emitDeclarationOnly": true, "esModuleInterop": true, + "isolatedModules": true, "lib": ["ESNext"], "module": "NodeNext", + "moduleDetection": "force", "moduleResolution": "NodeNext", - "resolveJsonModule": true, + "noUncheckedSideEffectImports": true, "skipLibCheck": true, "sourceMap": true, "strict": true, - "target": "ESNext" + "target": "ESNext", + "types": [] } } diff --git a/tsconfig.json b/tsconfig.json index d2b315096..a7b3d935a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,15 @@ { "compilerOptions": { - "noEmit": true + "noEmit": true, + "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.json" }, "extends": "./tsconfig.base.json", - "include": ["./*.ts", "packages/*/bin/index.js", "./@types/*/*.d.ts"], + "include": [ + "./@types/*/*.ts", + "./*.ts", + "./packages/*/tsdown.config.ts", + "./packages/*/bin/index.js" + ], "references": [ { "path": "./packages/comparisons" }, { "path": "./packages/core" }, diff --git a/tsdown.config.ts b/tsdown.config.ts new file mode 100644 index 000000000..dae4cb745 --- /dev/null +++ b/tsdown.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + workspace: true, +}); diff --git a/vitest.config.ts b/vitest.config.ts index 331c67de0..0b9a96d18 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -2,6 +2,9 @@ import { readdirSync } from "node:fs"; import { defineConfig } from "vitest/config"; export default defineConfig({ + resolve: { + conditions: ["@flint.fyi/source"], + }, test: { projects: readdirSync("./packages").map((name) => ({ test: {