diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 136111f..e321926 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,10 +19,10 @@ jobs: if: ${{ !contains(github.head_ref, 'all-contributors') }} name: Svelte ${{ matrix.svelte }}, Node ${{ matrix.node }}, ${{ matrix.check }} runs-on: ubuntu-latest + needs: [build] - # enable OIDC for codecov uploads permissions: - id-token: write + id-token: write # codecov uploads strategy: fail-fast: false @@ -41,24 +41,35 @@ jobs: - { svelte: '5', node: '22', check: 'lint' } - { svelte: '5', node: '22', check: 'test:examples' } # Run type checks in latest applicable Node - - { svelte: '3', node: '20', check: 'types:legacy' } - - { svelte: '4', node: '22', check: 'types:legacy' } - - { svelte: '5', node: '22', check: 'types' } + - { svelte: '3', node: '20', check: 'typecheck:legacy' } + - { svelte: '4', node: '22', check: 'typecheck:legacy' } + - { svelte: '5', node: '22', check: 'typecheck' } steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 + - name: 🧱 Setup pnpm + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 + with: + standalone: ${{ matrix.node == '16' }} + - name: ⎔ Setup node uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - - name: 📥 Download deps - run: npm run install:${{ matrix.svelte }} + - name: 📥 Install dependencies + run: pnpm run install:${{ matrix.svelte }} + + - name: 📥 Download build + uses: actions/download-artifact@v4 + with: + name: build + path: packages/svelte - name: ▶️ Run ${{ matrix.check }} - run: npm run ${{ matrix.check }} + run: pnpm run ${{ matrix.check }} - name: ⬆️ Upload coverage report if: ${{ startsWith(matrix.check, 'test:') }} @@ -73,22 +84,27 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v4 + - name: 🧱 Setup pnpm + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 + - name: ⎔ Setup node uses: actions/setup-node@v4 with: node-version: 22 - - name: 📥 Download deps - run: npm install + - name: 📥 Install dependencies + run: pnpm install - - name: 🏗️ Build types - run: npm run build + - name: 🏗️ Build types and documentation + run: pnpm run build - - name: ⬆️ Upload types build + - name: ⬆️ Upload build uses: actions/upload-artifact@v4 with: - name: types - path: types + name: build + path: | + packages/svelte/README.md + packages/svelte/types release: needs: [main, build] @@ -96,27 +112,38 @@ jobs: if: ${{ github.repository == 'testing-library/svelte-testing-library' && contains('refs/heads/main,refs/heads/next', github.ref) && github.event_name == 'push' }} + permissions: + contents: write # GitHub release publish + issues: write # released issues comments + pull-requests: write # released pull requests comments + id-token: write # trusted publishing and npm provenance steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 + - name: 🧱 Setup pnpm + uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 + - name: ⎔ Setup node uses: actions/setup-node@v4 with: node-version: 22 - - name: 📥 Downloads types build + - name: 📥 Download build uses: actions/download-artifact@v4 with: - name: types - path: types + name: build + path: packages/svelte - name: 🚀 Release - uses: cycjimmy/semantic-release-action@v4 - with: - semantic_version: 24 - extra_plugins: | - conventional-changelog-conventionalcommits@8 + run: | + pnpm \ + --package="@anolilab/multi-semantic-release@2" \ + --package="@anolilab/semantic-release-pnpm@2" \ + --package="semantic-release@25" \ + --package="conventional-changelog-conventionalcommits@9" \ + dlx \ + multi-semantic-release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.gitignore b/.gitignore index ca3410b..53ae236 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,7 @@ yarn.lock # generated typing output types +*.tsbuildinfo + +# copied documentation +packages/svelte/README.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 328bcda..bfd17d3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,29 +9,18 @@ ## Release -The module is released automatically from the `main` and `next` branches using [semantic-release-action][]. Version bumps and change logs are generated from the commit messages. +The module is released automatically from the `main` and `next` branches using [multi-semantic-release][]. Version bumps and change logs are generated from the commit messages. -[semantic-release-action]: https://github.com/cycjimmy/semantic-release-action - -### Preview release - -If you would like to preview the release from a given branch, and... - -- You have push access to the repository -- The branch exists in GitHub - -...you can preview the next release version and changelog using: - -```shell -npm run preview-release -``` +[multi-semantic-release]: https://github.com/anolilab/semantic-release/tree/main/packages/multi-semantic-release ## Development setup +This repository uses `pnpm` as its package manager. See the `pnpm` [installation guide](https://pnpm.io/installation) to set it up through whatever method you prefer. + After cloning the repository, use the `setup` script to install dependencies and run all checks: ```shell -npm run setup +pnpm run setup ``` ### Lint and format @@ -39,13 +28,13 @@ npm run setup Run auto-formatting to ensure any changes adhere to the code style of the repository: ```shell -npm run format +pnpm run format ``` To run lint and format checks without making any changes: ```shell -npm run lint +pnpm run lint ``` ### Test @@ -53,8 +42,8 @@ npm run lint Run unit tests once or in watch mode: ```shell -npm test -npm run test:watch +pnpm test +pnpm run test:watch ``` ### Using different versions of Svelte @@ -63,16 +52,16 @@ Use the provided script to set up your environment for different versions of Sve ```shell # Svelte 5 -npm run install:5 -npm run all +pnpm run install:5 +pnpm run all # Svelte 4 -npm run install:4 -npm run all:legacy +pnpm run install:4 +pnpm run all:legacy # Svelte 3 -npm run install:3 -npm run all:legacy +pnpm run install:3 +pnpm run all:legacy ``` ### Docs @@ -80,17 +69,17 @@ npm run all:legacy Use the `docs` script to ensure the README's table of contents is up to date: ```shell -npm run docs +pnpm run docs ``` Use `contributors:add` to add a contributor to the README: ```shell -npm run contributors:add +pnpm run contributors:add ``` Use `contributors:generate` to ensure the README's contributor list is up to date: ```shell -npm run contributors:generate +pnpm run contributors:generate ``` diff --git a/eslint.config.js b/eslint.config.js index 092d967..857a556 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -37,7 +37,7 @@ export default tseslint.config( }, { name: 'ignores', - ignores: ['coverage', 'types'], + ignores: ['**/coverage/**', '**/types/**'], }, { name: 'simple-import-sort', diff --git a/jest.config.js b/jest.config.js index f4daad1..f51c201 100644 --- a/jest.config.js +++ b/jest.config.js @@ -17,13 +17,12 @@ export default { injectGlobals: true, moduleNameMapper: { '^vitest$': '/tests/_jest-vitest-alias.js', - [String.raw`^@testing-library\/svelte$`]: '/src/index.js', }, resetMocks: true, restoreMocks: true, - collectCoverageFrom: ['/src/**/*'], + collectCoverageFrom: ['/packages/*/src/**/*'], coveragePathIgnorePatterns: [ - '/src/vite.js', - '/src/vitest.js', + '/packages/svelte/src/vite.js', + '/packages/svelte/src/vitest.js', ], } diff --git a/package.json b/package.json index 14e8cf9..2c11cbd 100644 --- a/package.json +++ b/package.json @@ -1,99 +1,42 @@ { - "name": "@testing-library/svelte", - "version": "0.0.0-semantically-released", - "description": "Simple and complete Svelte testing utilities that encourage good testing practices.", - "main": "src/index.js", - "exports": { - ".": { - "types": "./types/index.d.ts", - "default": "./src/index.js" - }, - "./svelte5": { - "types": "./types/index.d.ts", - "default": "./src/index.js" - }, - "./vitest": { - "types": "./types/vitest.d.ts", - "default": "./src/vitest.js" - }, - "./vite": { - "types": "./types/vite.d.ts", - "default": "./src/vite.js" - } - }, + "name": "@testing-library/svelte-repo", + "private": true, "type": "module", - "types": "types/index.d.ts", "license": "MIT", - "homepage": "https://github.com/testing-library/svelte-testing-library#readme", - "repository": { - "type": "git", - "url": "git+https://github.com/testing-library/svelte-testing-library.git" - }, - "bugs": { - "url": "https://github.com/testing-library/svelte-testing-library/issues" - }, - "engines": { - "node": ">= 10" - }, - "keywords": [ - "testing", - "svelte", - "ui", - "dom", - "jsdom", - "unit", - "integration", - "functional", - "end-to-end", - "e2e" - ], - "files": [ - "src", - "types" - ], "scripts": { - "all": "npm-run-all contributors:generate docs format types build test:vitest:* test:jest test:examples", - "all:legacy": "npm-run-all types:legacy test:vitest:* test:jest", - "docs": "remark --output --use remark-toc --use remark-code-import --use unified-prettier README.md examples", + "all": "pnpm contributors:generate && pnpm build && pnpm format && pnpm test:all && pnpm typecheck", + "all:legacy": "pnpm build:types && pnpm test:all:legacy && pnpm typecheck:legacy", + "docs": "", "lint": "prettier . --check && eslint .", "format": "prettier . --write && eslint . --fix", - "setup": "npm run install:5 && npm run all", + "setup": "pnpm install:5 && pnpm all", "test": "vitest run --coverage", "test:watch": "vitest", "test:vitest:jsdom": "vitest run tests --coverage --environment jsdom", "test:vitest:happy-dom": "vitest run tests --coverage --environment happy-dom", - "test:jest": "npx --node-options=\"--experimental-vm-modules --no-warnings\" jest --coverage", + "test:jest": "NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --coverage", "test:examples": "vitest run examples --coverage", - "types": "svelte-check", - "types:legacy": "svelte-check --tsconfig tsconfig.legacy.json", - "build": "tsc -p tsconfig.build.json && cp src/component-types.d.ts types", + "typecheck": "svelte-check --tsconfig=tests/tsconfig.json", + "typecheck:legacy": "svelte-check --tsconfig=tests/tsconfig.legacy.json", + "test:all": "pnpm test:vitest:jsdom && pnpm test:vitest:happy-dom && pnpm test:jest && pnpm test:examples", + "test:all:legacy": "pnpm test:vitest:jsdom && pnpm test:vitest:happy-dom && pnpm test:jest", + "build": "pnpm build:types && pnpm build:docs", + "build:types": "tsc --build && cp packages/svelte/src/component-types.d.ts packages/svelte/types", + "build:docs": "remark --output --use remark-toc --use remark-code-import --use unified-prettier README.md examples && cp -f README.md packages/svelte", "contributors:add": "all-contributors add", "contributors:generate": "all-contributors generate", - "preview-release": "./scripts/preview-release", "install:3": "./scripts/install-dependencies 3", "install:4": "./scripts/install-dependencies 4", "install:5": "./scripts/install-dependencies 5" }, - "peerDependencies": { - "svelte": "^3 || ^4 || ^5 || ^5.0.0-next.0", - "vite": "*", - "vitest": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - }, - "vitest": { - "optional": true - } - }, "dependencies": { - "@testing-library/dom": "9.x.x || 10.x.x" + "@testing-library/svelte": "workspace:*" }, "devDependencies": { "@eslint/js": "^9.26.0", "@jest/globals": "^29.7.0", "@sveltejs/vite-plugin-svelte": "^5.0.3", + "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.6.3", "@testing-library/user-event": "^14.6.1", "@vitest/coverage-v8": "^3.1.3", @@ -113,7 +56,6 @@ "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jsdom": "^26.1.0", - "npm-run-all": "^4.1.5", "prettier": "^3.5.3", "prettier-plugin-svelte": "^3.3.3", "remark-cli": "^12.0.1", @@ -128,5 +70,6 @@ "unified-prettier": "^2.0.1", "vite": "^6.3.5", "vitest": "^3.1.3" - } + }, + "packageManager": "pnpm@10.22.0+sha512.bf049efe995b28f527fd2b41ae0474ce29186f7edcb3bf545087bd61fbbebb2bf75362d1307fda09c2d288e1e499787ac12d4fcb617a974718a6051f2eee741c" } diff --git a/packages/svelte/package.json b/packages/svelte/package.json new file mode 100644 index 0000000..c28a692 --- /dev/null +++ b/packages/svelte/package.json @@ -0,0 +1,71 @@ +{ + "name": "@testing-library/svelte", + "version": "0.0.0-semantically-released", + "description": "Simple and complete Svelte testing utilities that encourage good testing practices.", + "main": "src/index.js", + "exports": { + ".": { + "types": "./types/index.d.ts", + "default": "./src/index.js" + }, + "./svelte5": { + "types": "./types/index.d.ts", + "default": "./src/index.js" + }, + "./vitest": { + "types": "./types/vitest.d.ts", + "default": "./src/vitest.js" + }, + "./vite": { + "types": "./types/vite.d.ts", + "default": "./src/vite.js" + } + }, + "type": "module", + "types": "types/index.d.ts", + "license": "MIT", + "homepage": "https://github.com/testing-library/svelte-testing-library#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/testing-library/svelte-testing-library.git", + "directory": "packages/svelte" + }, + "bugs": { + "url": "https://github.com/testing-library/svelte-testing-library/issues" + }, + "engines": { + "node": ">= 10" + }, + "keywords": [ + "testing", + "svelte", + "ui", + "dom", + "jsdom", + "unit", + "integration", + "functional", + "end-to-end", + "e2e" + ], + "files": [ + "src", + "types" + ], + "peerDependencies": { + "svelte": "^3 || ^4 || ^5 || ^5.0.0-next.0", + "vite": "*", + "vitest": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + }, + "vitest": { + "optional": true + } + }, + "dependencies": { + "@testing-library/dom": "9.x.x || 10.x.x" + } +} diff --git a/src/component-types.d.ts b/packages/svelte/src/component-types.d.ts similarity index 100% rename from src/component-types.d.ts rename to packages/svelte/src/component-types.d.ts diff --git a/src/core/cleanup.js b/packages/svelte/src/core/cleanup.js similarity index 100% rename from src/core/cleanup.js rename to packages/svelte/src/core/cleanup.js diff --git a/src/core/index.js b/packages/svelte/src/core/index.js similarity index 100% rename from src/core/index.js rename to packages/svelte/src/core/index.js diff --git a/src/core/mount.js b/packages/svelte/src/core/mount.js similarity index 100% rename from src/core/mount.js rename to packages/svelte/src/core/mount.js diff --git a/src/core/props.svelte.js b/packages/svelte/src/core/props.svelte.js similarity index 100% rename from src/core/props.svelte.js rename to packages/svelte/src/core/props.svelte.js diff --git a/src/core/validate-options.js b/packages/svelte/src/core/validate-options.js similarity index 100% rename from src/core/validate-options.js rename to packages/svelte/src/core/validate-options.js diff --git a/src/index.js b/packages/svelte/src/index.js similarity index 100% rename from src/index.js rename to packages/svelte/src/index.js diff --git a/src/pure.js b/packages/svelte/src/pure.js similarity index 100% rename from src/pure.js rename to packages/svelte/src/pure.js diff --git a/src/vite.js b/packages/svelte/src/vite.js similarity index 100% rename from src/vite.js rename to packages/svelte/src/vite.js diff --git a/src/vitest.js b/packages/svelte/src/vitest.js similarity index 100% rename from src/vitest.js rename to packages/svelte/src/vitest.js diff --git a/tsconfig.build.json b/packages/svelte/tsconfig.json similarity index 56% rename from tsconfig.build.json rename to packages/svelte/tsconfig.json index bfc566b..ca9fee3 100644 --- a/tsconfig.build.json +++ b/packages/svelte/tsconfig.json @@ -1,10 +1,14 @@ { - "extends": ["./tsconfig.json"], "compilerOptions": { + "module": "node16", + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "types": ["svelte"], + "composite": true, "declaration": true, "declarationMap": true, "emitDeclarationOnly": true, - "noEmit": false, "rootDir": "src", "outDir": "types" }, diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..924b55f --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - packages/* diff --git a/release.config.js b/release.config.js index 7aeece8..7104578 100644 --- a/release.config.js +++ b/release.config.js @@ -1,4 +1,10 @@ export default { preset: 'conventionalcommits', branches: ['main', { name: 'next', prerelease: true }], + plugins: [ + '@semantic-release/commit-analyzer', + '@semantic-release/release-notes-generator', + '@anolilab/semantic-release-pnpm', + '@semantic-release/github', + ], } diff --git a/scripts/install-dependencies b/scripts/install-dependencies index aef6257..d7b358d 100755 --- a/scripts/install-dependencies +++ b/scripts/install-dependencies @@ -11,9 +11,21 @@ if [[ -d $env_dir_by_node ]]; then env_dir="$env_dir_by_node" fi +clean_node_modules () { + find . -name 'node_modules' -type d -prune -exec rm -rf '{}' + +} + +reset_package_json () { + if [[ -f package.json.original ]]; then + mv -f package.json.original package.json + fi +} + +trap "reset_package_json" EXIT + if [[ "$svelte_version" == "5" ]]; then - rm -rf coverage node_modules - npm install + clean_node_modules + pnpm install exit 0 fi @@ -27,9 +39,8 @@ if [[ ! -d "$env_dir" ]]; then exit 2 fi -rm -rf coverage node_modules "$env_dir/node_modules" -pushd "$env_dir" -npm install --no-package-lock --engine-strict -npm ls "$env_dir" svelte -popd -mv "$env_dir/node_modules" . +clean_node_modules +mv package.json package.json.original +cp "$env_dir/package.json" package.json +pnpm install --no-lockfile +reset_package_json diff --git a/scripts/preview-release b/scripts/preview-release deleted file mode 100755 index 82ebdee..0000000 --- a/scripts/preview-release +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -# Preview the next release from a branch -# -# Prerequisites: -# - You must have push access to repository at the `origin` URL -# - The branch you are on must exist on `origin` - -set -euxo pipefail - -branch="$(git rev-parse --abbrev-ref HEAD)" -repository_url="$(git remote get-url origin)" - -npx \ - --package semantic-release@24 \ - --package conventional-changelog-conventionalcommits@8 \ - -- \ - semantic-release \ - --plugins="@semantic-release/commit-analyzer,@semantic-release/release-notes-generator" \ - --dry-run \ - --branches="$branch" \ - --repository-url="$repository_url" diff --git a/tests/envs/svelte3/node16/package.json b/tests/envs/svelte3/node16/package.json index 8acb921..2de9e7f 100644 --- a/tests/envs/svelte3/node16/package.json +++ b/tests/envs/svelte3/node16/package.json @@ -3,6 +3,9 @@ "engines": { "node": "16.x.x" }, + "dependencies": { + "@testing-library/svelte": "workspace:*" + }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "2.x.x", "@testing-library/dom": "9.x.x", diff --git a/tests/envs/svelte3/node18/package.json b/tests/envs/svelte3/node18/package.json new file mode 100644 index 0000000..b0b9b88 --- /dev/null +++ b/tests/envs/svelte3/node18/package.json @@ -0,0 +1,27 @@ +{ + "private": true, + "engines": { + "node": ">=18" + }, + "dependencies": { + "@testing-library/svelte": "workspace:*" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "2.x.x", + "@testing-library/dom": "^10.4.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/user-event": "^14.6.1", + "@vitest/coverage-v8": "0.x.x", + "expect-type": "^1.2.1", + "happy-dom": "17.6.1", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jsdom": "^26.1.0", + "npm-run-all": "^4.1.5", + "svelte": "3.x.x", + "svelte-check": "3.x.x", + "svelte-jester": "3.x.x", + "vite": "4.x.x", + "vitest": "0.x.x" + } +} diff --git a/tests/envs/svelte3/package.json b/tests/envs/svelte3/package.json index d563d97..3501e53 100644 --- a/tests/envs/svelte3/package.json +++ b/tests/envs/svelte3/package.json @@ -3,6 +3,9 @@ "engines": { "node": ">=18" }, + "dependencies": { + "@testing-library/svelte": "workspace:*" + }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "2.x.x", "@testing-library/dom": "^10.4.0", diff --git a/tests/envs/svelte4/node16/package.json b/tests/envs/svelte4/node16/package.json index ce420a1..eac1a6b 100644 --- a/tests/envs/svelte4/node16/package.json +++ b/tests/envs/svelte4/node16/package.json @@ -3,6 +3,9 @@ "engines": { "node": "16.x.x" }, + "dependencies": { + "@testing-library/svelte": "workspace:*" + }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "2.x.x", "@testing-library/dom": "9.x.x", diff --git a/tests/envs/svelte4/node18/package.json b/tests/envs/svelte4/node18/package.json new file mode 100644 index 0000000..f777882 --- /dev/null +++ b/tests/envs/svelte4/node18/package.json @@ -0,0 +1,27 @@ +{ + "private": true, + "engines": { + "node": ">=18" + }, + "dependencies": { + "@testing-library/svelte": "workspace:*" + }, + "devDependencies": { + "@sveltejs/vite-plugin-svelte": "3.x.x", + "@testing-library/dom": "^10.4.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/user-event": "^14.6.1", + "@vitest/coverage-v8": "2.x.x", + "expect-type": "^1.2.1", + "happy-dom": "17.6.1", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "jsdom": "^26.1.0", + "npm-run-all": "^4.1.5", + "svelte": "4.x.x", + "svelte-check": "^4.1.7", + "svelte-jester": "^5.0.0", + "vite": "5.x.x", + "vitest": "2.x.x" + } +} diff --git a/tests/envs/svelte4/package.json b/tests/envs/svelte4/package.json index b90351d..7cff02f 100644 --- a/tests/envs/svelte4/package.json +++ b/tests/envs/svelte4/package.json @@ -3,6 +3,9 @@ "engines": { "node": ">=18" }, + "dependencies": { + "@testing-library/svelte": "workspace:*" + }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "3.x.x", "@testing-library/dom": "^10.4.0", diff --git a/tests/tsconfig.json b/tests/tsconfig.json new file mode 100644 index 0000000..5e4a954 --- /dev/null +++ b/tests/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "module": "node16", + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "types": ["svelte", "vite/client", "vitest", "vitest/globals"], + "noEmit": true, + "plugins": [{ "name": "typescript-svelte-plugin" }] + } +} diff --git a/tests/tsconfig.legacy.json b/tests/tsconfig.legacy.json new file mode 100644 index 0000000..d32648e --- /dev/null +++ b/tests/tsconfig.legacy.json @@ -0,0 +1,9 @@ +{ + "extends": ["./tsconfig.json"], + "exclude": [ + "render-runes.test-d.ts", + "fixtures/CompRunes.svelte", + "fixtures/PropCloner.svelte", + "fixtures/TypedRunes.svelte" + ] +} diff --git a/tsconfig.json b/tsconfig.json index fda8aba..493e5db 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,16 +1,4 @@ { - "compilerOptions": { - "module": "node16", - "allowJs": true, - "noEmit": true, - "skipLibCheck": true, - "strict": true, - "types": ["svelte", "vite/client", "vitest", "vitest/globals"], - "baseUrl": "./", - "paths": { - "@testing-library/svelte": ["./src"] - }, - "plugins": [{ "name": "typescript-svelte-plugin" }] - }, - "include": ["src", "tests"] + "references": [{ "path": "packages/svelte" }], + "files": [] } diff --git a/tsconfig.legacy.json b/tsconfig.legacy.json deleted file mode 100644 index 304d872..0000000 --- a/tsconfig.legacy.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": ["./tsconfig.json"], - "exclude": [ - "tests/render-runes.test-d.ts", - "tests/fixtures/CompRunes.svelte", - "tests/fixtures/TypedRunes.svelte" - ] -} diff --git a/vite.config.js b/vite.config.js index 65e1ca7..c07c815 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,11 +1,7 @@ -import { createRequire } from 'node:module' - import { svelte } from '@sveltejs/vite-plugin-svelte' import { svelteTesting } from '@testing-library/svelte/vite' import { defineConfig } from 'vite' -const require = createRequire(import.meta.url) - export default defineConfig({ plugins: [svelte({ hot: false }), svelteTesting()], test: { @@ -16,11 +12,7 @@ export default defineConfig({ unstubEnvs: true, coverage: { provider: 'v8', - include: ['src/**/*'], - }, - alias: { - '@testing-library/svelte/vite': require.resolve('./src/vite.js'), - '@testing-library/svelte': require.resolve('./src/index.js'), + include: ['packages/*/src/**/*'], }, }, })