@slango.configs/vitest 2.0.66 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,3 +1,14 @@
1
1
  # ![Vitest](https://img.shields.io/badge/Vitest-F9C72C?style=flat-square&logo=vitest) Slango Vitest Configs (@slango.configs/vitest)
2
2
 
3
3
  This package exposes vitest configurations for easy setup.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ // vitest.config.ts (or vitest.config.js)
9
+ export { default } from '@slango.configs/vitest/default';
10
+ ```
11
+
12
+ Presets: `default`, `browser` (jsdom), `react` (jsdom, globals, React plugin) and `nestjs` (SWC for decorators). They
13
+ are written in TypeScript and published with generated type declarations, so the config can be TypeScript too. Import
14
+ without the `.js` extension: the package's exports map adds it.
@@ -0,0 +1,4 @@
1
+ import { type ViteUserConfig } from 'vitest/config';
2
+ declare const vitestBrowserConfig: ViteUserConfig;
3
+ export default vitestBrowserConfig;
4
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/presets/browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,QAAA,MAAM,mBAAmB,EAAE,cAWzB,CAAC;eAEY,mBAAmB"}
@@ -0,0 +1,15 @@
1
+ import cv8 from '@vitest/coverage-v8';
2
+ import { configDefaults, defineConfig } from 'vitest/config';
3
+ const vitestBrowserConfig = defineConfig({
4
+ plugins: [cv8.getProvider()],
5
+ test: {
6
+ environment: 'jsdom',
7
+ coverage: {
8
+ ...configDefaults.coverage,
9
+ exclude: [...(configDefaults.coverage.exclude ?? []), '**/lint-staged.config.js'],
10
+ },
11
+ isolate: true,
12
+ },
13
+ });
14
+ export default vitestBrowserConfig;
15
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/presets/browser.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElF,MAAM,mBAAmB,GAAmB,YAAY,CAAC;IACvD,OAAO,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAE5B,IAAI,EAAE;QACJ,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,QAAQ;YAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,0BAA0B,CAAC;SAClF;QACD,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ViteUserConfig } from 'vitest/config';
2
+ declare const vitestConfig: ViteUserConfig;
3
+ export default vitestConfig;
4
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/presets/default.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,QAAA,MAAM,YAAY,EAAE,cASlB,CAAC;eAEY,YAAY"}
@@ -0,0 +1,14 @@
1
+ import cv8 from '@vitest/coverage-v8';
2
+ import { configDefaults, defineConfig } from 'vitest/config';
3
+ const vitestConfig = defineConfig({
4
+ plugins: [cv8.getProvider()],
5
+ test: {
6
+ coverage: {
7
+ ...configDefaults.coverage,
8
+ exclude: [...(configDefaults.coverage.exclude ?? []), '**/lint-staged.config.js'],
9
+ },
10
+ isolate: true,
11
+ },
12
+ });
13
+ export default vitestConfig;
14
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/presets/default.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElF,MAAM,YAAY,GAAmB,YAAY,CAAC;IAChD,OAAO,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5B,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,QAAQ;YAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,0BAA0B,CAAC;SAClF;QACD,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ViteUserConfig } from 'vitest/config';
2
+ declare const vitestNestJsConfig: ViteUserConfig;
3
+ export default vitestNestJsConfig;
4
+ //# sourceMappingURL=nestjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.d.ts","sourceRoot":"","sources":["../../src/presets/nestjs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,QAAA,MAAM,kBAAkB,EAAE,cASxB,CAAC;eAEY,kBAAkB"}
@@ -0,0 +1,15 @@
1
+ import cv8 from '@vitest/coverage-v8';
2
+ import swc from 'unplugin-swc';
3
+ import { configDefaults, defineConfig } from 'vitest/config';
4
+ const vitestNestJsConfig = defineConfig({
5
+ plugins: [cv8.getProvider(), swc.vite()],
6
+ test: {
7
+ coverage: {
8
+ ...configDefaults.coverage,
9
+ exclude: [...(configDefaults.coverage.exclude ?? []), '**/lint-staged.config.js'],
10
+ },
11
+ isolate: true,
12
+ },
13
+ });
14
+ export default vitestNestJsConfig;
15
+ //# sourceMappingURL=nestjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs.js","sourceRoot":"","sources":["../../src/presets/nestjs.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElF,MAAM,kBAAkB,GAAmB,YAAY,CAAC;IACtD,OAAO,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,QAAQ;YAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,0BAA0B,CAAC;SAClF;QACD,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ViteUserConfig } from 'vitest/config';
2
+ declare const vitestReactConfig: ViteUserConfig;
3
+ export default vitestReactConfig;
4
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/presets/react.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAElF,QAAA,MAAM,iBAAiB,EAAE,cAWvB,CAAC;eAEY,iBAAiB"}
@@ -0,0 +1,17 @@
1
+ import react from '@vitejs/plugin-react';
2
+ import cv8 from '@vitest/coverage-v8';
3
+ import { configDefaults, defineConfig } from 'vitest/config';
4
+ const vitestReactConfig = defineConfig({
5
+ plugins: [cv8.getProvider(), react()],
6
+ test: {
7
+ environment: 'jsdom',
8
+ globals: true,
9
+ coverage: {
10
+ ...configDefaults.coverage,
11
+ exclude: [...(configDefaults.coverage.exclude ?? []), '**/lint-staged.config.js'],
12
+ },
13
+ isolate: true,
14
+ },
15
+ });
16
+ export default vitestReactConfig;
17
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/presets/react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAElF,MAAM,iBAAiB,GAAmB,YAAY,CAAC;IACrD,OAAO,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC;IACrC,IAAI,EAAE;QACJ,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,QAAQ;YAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,0BAA0B,CAAC;SAClF;QACD,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slango.configs/vitest",
3
- "version": "2.0.66",
3
+ "version": "2.1.0",
4
4
  "private": false,
5
5
  "description": "Slango vitest configs",
6
6
  "repository": {
@@ -10,18 +10,18 @@
10
10
  },
11
11
  "type": "module",
12
12
  "files": [
13
- "src"
13
+ "dist"
14
14
  ],
15
15
  "exports": {
16
- "./*": "./src/presets/*.js"
16
+ "./*": "./dist/presets/*.js"
17
17
  },
18
18
  "dependencies": {
19
19
  "@swc/core": "1.16.13",
20
20
  "@testing-library/dom": "10.4.2",
21
21
  "@testing-library/jest-dom": "7.0.1",
22
22
  "@testing-library/react": "16.3.3",
23
- "@vitejs/plugin-react": "6.1.1",
24
- "jsdom": "30.1.1",
23
+ "@vitejs/plugin-react": "6.1.2",
24
+ "jsdom": "30.1.2",
25
25
  "unplugin-swc": "2.0.0"
26
26
  },
27
27
  "peerDependencies": {
@@ -31,12 +31,20 @@
31
31
  "vitest": "^5.0.3"
32
32
  },
33
33
  "devDependencies": {
34
- "@slango.configs/oxlint": "0.1.10",
35
- "oxlint": "1.86.0",
34
+ "@slango.configs/oxlint": "0.1.12",
35
+ "@slango.configs/typescript": "3.0.0",
36
+ "@types/node": "26.6.4",
37
+ "@vitest/coverage-v8": "5.0.3",
38
+ "oxlint": "1.87.0",
39
+ "oxlint-tsgolint": "7.0.2003",
40
+ "typescript": "7.0.2",
36
41
  "vitest": "5.0.3"
37
42
  },
38
43
  "scripts": {
39
- "lint": "oxlint --max-warnings 0 .",
40
- "lint:fix": "oxlint --fix --max-warnings 0 ."
44
+ "build": "tsc -p tsconfig.build.json",
45
+ "build:watch": "tsc -p tsconfig.build.json --watch",
46
+ "build:check": "tsc --noEmit",
47
+ "lint": "oxlint --type-aware --max-warnings 0 .",
48
+ "lint:fix": "oxlint --type-aware --fix --max-warnings 0 ."
41
49
  }
42
50
  }
@@ -1,54 +0,0 @@
1
- import { MongoMemoryServer } from 'mongodb-memory-server';
2
- import mongoose from 'mongoose';
3
- import { afterAll, afterEach, beforeAll } from 'vitest';
4
-
5
- const ConnectionStates = mongoose.ConnectionStates;
6
-
7
- type SetupMongoTestEnvironmentOptions = {
8
- preserveCollections?: string[];
9
- };
10
-
11
- export function setupMongoTestEnvironment({
12
- preserveCollections = [],
13
- }: SetupMongoTestEnvironmentOptions = {}) {
14
- let mongoServer: MongoMemoryServer;
15
-
16
- beforeAll(async () => {
17
- mongoServer = await MongoMemoryServer.create();
18
- const uri = mongoServer.getUri();
19
- process.env.MONGO_URI = uri;
20
- await mongoose.connect(uri, { dbName: 'test-db' });
21
-
22
- await waitForDatabaseConnection();
23
- });
24
-
25
- afterAll(async () => {
26
- await mongoose.disconnect();
27
- await mongoServer.stop();
28
- });
29
-
30
- afterEach(async () => {
31
- if (mongoose.connection.db) {
32
- const collections = await mongoose.connection.db.collections();
33
- for (const collection of collections) {
34
- if (!preserveCollections.includes(collection.collectionName)) {
35
- await collection.deleteMany({});
36
- }
37
- }
38
- }
39
- });
40
- }
41
-
42
- async function waitForDatabaseConnection(maxRetries = 5, interval = 1000) {
43
- let retries = 0;
44
-
45
- while (mongoose.connection.readyState !== ConnectionStates.connected && retries < maxRetries) {
46
- await new Promise((resolve) => setTimeout(resolve, interval));
47
- retries++;
48
- console.log(`Retrying database connection (${retries}/${maxRetries})...`);
49
- }
50
-
51
- if (mongoose.connection.readyState !== ConnectionStates.connected) {
52
- throw new Error('Failed to connect to the database within the allowed retries.');
53
- }
54
- }
@@ -1,17 +0,0 @@
1
- import cv8 from '@vitest/coverage-v8';
2
- import { configDefaults, defineConfig } from 'vitest/config';
3
-
4
- const vitestBrowserConfig = defineConfig({
5
- plugins: [cv8.getProvider()],
6
-
7
- test: {
8
- environment: 'jsdom',
9
- coverage: {
10
- ...configDefaults.coverage,
11
- exclude: [...configDefaults.coverage.exclude, '**/lint-staged.config.js'],
12
- },
13
- isolate: true,
14
- },
15
- });
16
-
17
- export default vitestBrowserConfig;
@@ -1,15 +0,0 @@
1
- import cv8 from '@vitest/coverage-v8';
2
- import { configDefaults, defineConfig } from 'vitest/config';
3
-
4
- const vitestConfig = defineConfig({
5
- plugins: [cv8.getProvider()],
6
- test: {
7
- coverage: {
8
- ...configDefaults.coverage,
9
- exclude: [...configDefaults.coverage.exclude, '**/lint-staged.config.js'],
10
- },
11
- isolate: true,
12
- },
13
- });
14
-
15
- export default vitestConfig;
@@ -1,16 +0,0 @@
1
- import cv8 from '@vitest/coverage-v8';
2
- import swc from 'unplugin-swc';
3
- import { configDefaults, defineConfig } from 'vitest/config';
4
-
5
- const vitestNestJsConfig = defineConfig({
6
- plugins: [cv8.getProvider(), swc.vite()],
7
- test: {
8
- coverage: {
9
- ...configDefaults.coverage,
10
- exclude: [...configDefaults.coverage.exclude, '**/lint-staged.config.js'],
11
- },
12
- isolate: true,
13
- },
14
- });
15
-
16
- export default vitestNestJsConfig;
@@ -1,18 +0,0 @@
1
- import react from '@vitejs/plugin-react';
2
- import cv8 from '@vitest/coverage-v8';
3
- import { configDefaults, defineConfig } from 'vitest/config';
4
-
5
- const vitestReactConfig = defineConfig({
6
- plugins: [cv8.getProvider(), react()],
7
- test: {
8
- environment: 'jsdom',
9
- globals: true,
10
- coverage: {
11
- ...configDefaults.coverage,
12
- exclude: [...configDefaults.coverage.exclude, '**/lint-staged.config.js'],
13
- },
14
- isolate: true,
15
- },
16
- });
17
-
18
- export default vitestReactConfig;