diff --git a/apps/vite-react/index.html b/apps/vite-react/index.html index eb19c9e..6d26901 100644 --- a/apps/vite-react/index.html +++ b/apps/vite-react/index.html @@ -4,7 +4,7 @@ - Example Vite React Application + Example Vite React Application kekw
diff --git a/apps/vite-react/package.json b/apps/vite-react/package.json index c64223d..564e9ee 100644 --- a/apps/vite-react/package.json +++ b/apps/vite-react/package.json @@ -2,10 +2,5 @@ "name": "vite-react", "private": true, "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview" - } + "type": "module" } diff --git a/apps/vite-react/project.json b/apps/vite-react/project.json index 832bbea..ae592a9 100644 --- a/apps/vite-react/project.json +++ b/apps/vite-react/project.json @@ -1,14 +1,21 @@ { - "$schema": "../../node_modules/nx/schemas/project-schema.json", "name": "vite-react", + "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "apps/vite-react/src", "projectType": "application", "tags": [], "targets": { + "dev": {}, + "test": {}, "lint": {}, - "storybook": {}, "typecheck": {}, + "storybook": {}, "test-storybook": {}, - "build-storybook": {} + "build-storybook": {}, + "build": { + "executor": "@nx/vite:build" + }, + "serve": {}, + "preview": {} } } diff --git a/apps/vite-react/tsconfig.json b/apps/vite-react/tsconfig.json index 80b6610..edee174 100644 --- a/apps/vite-react/tsconfig.json +++ b/apps/vite-react/tsconfig.json @@ -1,8 +1,9 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "lib": ["ESNext", "DOM"], - "types": ["vitest/globals", "vitest/importMeta", "vite/client", "vitest"] + "types": ["vite/client"], + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "jsx": "react-jsx" }, - "include": ["src"] + "include": ["src", "vite.config.ts"] } diff --git a/apps/vite-react/vite.config.ts b/apps/vite-react/vite.config.ts index a02a332..0d98f31 100644 --- a/apps/vite-react/vite.config.ts +++ b/apps/vite-react/vite.config.ts @@ -1,7 +1,17 @@ +/// +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import react from '@vitejs/plugin-react'; import { defineConfig } from 'vite'; -import tsconfigPaths from 'vite-tsconfig-paths'; export default defineConfig({ - plugins: [react(), tsconfigPaths()], + cacheDir: '../../node_modules/.vite/vite-react', + test: { + globals: true, + cache: { + dir: '../../node_modules/.vitest', + }, + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + }, + plugins: [react(), nxViteTsPaths()], }); diff --git a/libs/react-ui/tsconfig.json b/libs/react-ui/tsconfig.json index 553811f..bcba478 100644 --- a/libs/react-ui/tsconfig.json +++ b/libs/react-ui/tsconfig.json @@ -1,9 +1,8 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "lib": ["dom", "esnext"], - "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node", "vitest"] + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "types": ["vitest/globals", "vitest/importMeta", "vite/client"] }, - "include": ["src", "vite.config.ts", ".storybook"], - "exclude": ["**/*.test.ts", "**/*.test.tsx"] + "include": ["src", "vite.config.ts", ".storybook"] } diff --git a/libs/react-ui/vite.config.ts b/libs/react-ui/vite.config.ts index 14876aa..8f351f9 100644 --- a/libs/react-ui/vite.config.ts +++ b/libs/react-ui/vite.config.ts @@ -1,3 +1,4 @@ +/// import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; diff --git a/nx.json b/nx.json index f32fe7a..599fa15 100644 --- a/nx.json +++ b/nx.json @@ -15,8 +15,28 @@ "inputs": ["production", "^production"] }, "dev": { - "dependsOn": ["^build", "dev"], - "cache": false + "cache": false, + "dependsOn": ["typecheck", "test", "lint", "^build", "dev"], + "executor": "@nx/vite:dev-server", + "options": { + "buildTarget": "{projectName}:build:development", + "hmr": true + } + }, + "serve": { + "executor": "@nx/vite:dev-server", + "options": { + "buildTarget": "{projectName}:build:production", + "hmr": false + } + }, + "preview": { + "cache": false, + "executor": "@nx/vite:preview-server", + "options": { + "buildTarget": "{projectName}:build:production" + }, + "dependsOn": ["typecheck", "test", "lint", "^build"] }, "test": { "cache": true, @@ -51,6 +71,25 @@ "command": "tsc --noEmit -p {projectRoot}/tsconfig.json" } }, + "@nx/vite:build": { + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/{projectRoot}", + "configFile": "{projectRoot}/vite.config.ts", + "skipTypeCheck": true + }, + "defaultConfiguration": "production", + "configurations": { + "development": { + "mode": "development" + }, + "production": { + "mode": "production" + } + }, + "cache": true, + "inputs": ["default", "^production"] + }, "@nx/vite:test": { "cache": true, "inputs": ["default", "^production"] diff --git a/package.json b/package.json index 3f895fd..f203b1f 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "eslint": "8.55.0", "eslint-kit": "10.6.0", "is-ci": "3.0.1", + "jsdom": "~22.1.0", "lefthook": "1.5.5", "nx": "17.1.3", "postcss": "8.4.32", diff --git a/yarn.lock b/yarn.lock index 8d6e8cc..08d65eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3268,7 +3268,7 @@ __metadata: languageName: node linkType: hard -"@my-org/config@npm:*, @my-org/config@workspace:libs/config": +"@my-org/config@workspace:libs/config": version: 0.0.0-use.local resolution: "@my-org/config@workspace:libs/config" languageName: unknown @@ -8044,6 +8044,13 @@ __metadata: languageName: node linkType: hard +"abab@npm:^2.0.6": + version: 2.0.6 + resolution: "abab@npm:2.0.6" + checksum: 0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 + languageName: node + linkType: hard + "abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -9794,6 +9801,15 @@ __metadata: languageName: node linkType: hard +"cssstyle@npm:^3.0.0": + version: 3.0.0 + resolution: "cssstyle@npm:3.0.0" + dependencies: + rrweb-cssom: "npm:^0.6.0" + checksum: 23acee092c1cec670fb7b8110e48abd740dc4e574d3b74848743067cb3377a86a1f64cf02606aabd7bb153785e68c2c1e09ce53295ddf7a4b470b3c7c55ec807 + languageName: node + linkType: hard + "csstype@npm:^3.0.2, csstype@npm:^3.1.2": version: 3.1.2 resolution: "csstype@npm:3.1.2" @@ -9858,6 +9874,17 @@ __metadata: languageName: node linkType: hard +"data-urls@npm:^4.0.0": + version: 4.0.0 + resolution: "data-urls@npm:4.0.0" + dependencies: + abab: "npm:^2.0.6" + whatwg-mimetype: "npm:^3.0.0" + whatwg-url: "npm:^12.0.0" + checksum: 928d9a21db31d3dcee125d514fddfeb88067c348b1225e9d2c6ca55db16e1cbe49bf58c092cae7163de958f415fd5c612c2aef2eef87896e097656fce205d766 + languageName: node + linkType: hard + "dataloader@npm:^1.4.0": version: 1.4.0 resolution: "dataloader@npm:1.4.0" @@ -9919,6 +9946,13 @@ __metadata: languageName: node linkType: hard +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + "dedent@npm:^1.0.0": version: 1.5.1 resolution: "dedent@npm:1.5.1" @@ -10265,6 +10299,15 @@ __metadata: languageName: node linkType: hard +"domexception@npm:^4.0.0": + version: 4.0.0 + resolution: "domexception@npm:4.0.0" + dependencies: + webidl-conversions: "npm:^7.0.0" + checksum: 774277cd9d4df033f852196e3c0077a34dbd15a96baa4d166e0e47138a80f4c0bdf0d94e4703e6ff5883cec56bb821a6fff84402d8a498e31de7c87eb932a294 + languageName: node + linkType: hard + "domhandler@npm:^2.3.0": version: 2.4.2 resolution: "domhandler@npm:2.4.2" @@ -12688,7 +12731,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.0": +"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: @@ -13161,6 +13204,13 @@ __metadata: languageName: node linkType: hard +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 + languageName: node + linkType: hard + "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -14033,6 +14083,42 @@ __metadata: languageName: node linkType: hard +"jsdom@npm:~22.1.0": + version: 22.1.0 + resolution: "jsdom@npm:22.1.0" + dependencies: + abab: "npm:^2.0.6" + cssstyle: "npm:^3.0.0" + data-urls: "npm:^4.0.0" + decimal.js: "npm:^10.4.3" + domexception: "npm:^4.0.0" + form-data: "npm:^4.0.0" + html-encoding-sniffer: "npm:^3.0.0" + http-proxy-agent: "npm:^5.0.0" + https-proxy-agent: "npm:^5.0.1" + is-potential-custom-element-name: "npm:^1.0.1" + nwsapi: "npm:^2.2.4" + parse5: "npm:^7.1.2" + rrweb-cssom: "npm:^0.6.0" + saxes: "npm:^6.0.0" + symbol-tree: "npm:^3.2.4" + tough-cookie: "npm:^4.1.2" + w3c-xmlserializer: "npm:^4.0.0" + webidl-conversions: "npm:^7.0.0" + whatwg-encoding: "npm:^2.0.0" + whatwg-mimetype: "npm:^3.0.0" + whatwg-url: "npm:^12.0.1" + ws: "npm:^8.13.0" + xml-name-validator: "npm:^4.0.0" + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: a1c1501c611d1fe833e0a28796a234325aa09d4c597a9d8ccf6970004a9d946d261469502eadb555bdd7a55f5a2fbf3ce60c727cd99acb0d63f257fb9afcd33d + languageName: node + linkType: hard + "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -15426,6 +15512,13 @@ __metadata: languageName: node linkType: hard +"nwsapi@npm:^2.2.4": + version: 2.2.7 + resolution: "nwsapi@npm:2.2.7" + checksum: 44be198adae99208487a1c886c0a3712264f7bbafa44368ad96c003512fed2753d4e22890ca1e6edb2690c3456a169f2a3c33bfacde1905cf3bf01c7722464db + languageName: node + linkType: hard + "nx@npm:17.1.3": version: 17.1.3 resolution: "nx@npm:17.1.3" @@ -15893,7 +15986,7 @@ __metadata: languageName: node linkType: hard -"parse5@npm:^7.0.0": +"parse5@npm:^7.0.0, parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" dependencies: @@ -16388,6 +16481,7 @@ __metadata: eslint-kit: "npm:10.6.0" history: "npm:5.3.0" is-ci: "npm:3.0.1" + jsdom: "npm:~22.1.0" lefthook: "npm:1.5.5" nx: "npm:17.1.3" postcss: "npm:8.4.32" @@ -16468,10 +16562,17 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: 8e6f7abdd3a6635820049e3731c623bbef3fedbf63bbc696b0d7237fdba4cefa069bc1fa62f2938b0fbae057550df7b5318f4a6bcece27f1907fc75c54160bee +"psl@npm:^1.1.33": + version: 1.9.0 + resolution: "psl@npm:1.9.0" + checksum: 6a3f805fdab9442f44de4ba23880c4eba26b20c8e8e0830eff1cb31007f6825dace61d17203c58bfe36946842140c97a1ba7f67bc63ca2d88a7ee052b65d97ab + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 languageName: node linkType: hard @@ -16500,6 +16601,13 @@ __metadata: languageName: node linkType: hard +"querystringify@npm:^2.1.1": + version: 2.2.0 + resolution: "querystringify@npm:2.2.0" + checksum: 3258bc3dbdf322ff2663619afe5947c7926a6ef5fb78ad7d384602974c467fadfc8272af44f5eb8cddd0d011aae8fabf3a929a8eee4b86edcc0a21e6bd10f9aa + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -17209,6 +17317,13 @@ __metadata: languageName: node linkType: hard +"rrweb-cssom@npm:^0.6.0": + version: 0.6.0 + resolution: "rrweb-cssom@npm:0.6.0" + checksum: 3d9d90d53c2349ea9c8509c2690df5a4ef930c9cf8242aeb9425d4046f09d712bb01047e00da0e1c1dab5db35740b3d78fd45c3e7272f75d3724a563f27c30a3 + languageName: node + linkType: hard + "run-applescript@npm:^5.0.0": version: 5.0.0 resolution: "run-applescript@npm:5.0.0" @@ -17280,6 +17395,15 @@ __metadata: languageName: node linkType: hard +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" + dependencies: + xmlchars: "npm:^2.2.0" + checksum: 3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 + languageName: node + linkType: hard + "scheduler@npm:^0.23.0": version: 0.23.0 resolution: "scheduler@npm:0.23.0" @@ -18086,6 +18210,13 @@ __metadata: languageName: node linkType: hard +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 + languageName: node + linkType: hard + "synchronous-promise@npm:^2.0.15": version: 2.0.17 resolution: "synchronous-promise@npm:2.0.17" @@ -18369,6 +18500,27 @@ __metadata: languageName: node linkType: hard +"tough-cookie@npm:^4.1.2": + version: 4.1.3 + resolution: "tough-cookie@npm:4.1.3" + dependencies: + psl: "npm:^1.1.33" + punycode: "npm:^2.1.1" + universalify: "npm:^0.2.0" + url-parse: "npm:^1.5.3" + checksum: 4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 + languageName: node + linkType: hard + +"tr46@npm:^4.1.1": + version: 4.1.1 + resolution: "tr46@npm:4.1.1" + dependencies: + punycode: "npm:^2.3.0" + checksum: 92085dcf186f56a49ba4124a581d9ae6a5d0cd4878107c34e2e670b9ddc49da85e4950084bb3e75015195cc23f37ae1c02d45064e94dd6018f5e789aa51d93a8 + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -18920,6 +19072,13 @@ __metadata: languageName: node linkType: hard +"universalify@npm:^0.2.0": + version: 0.2.0 + resolution: "universalify@npm:0.2.0" + checksum: cedbe4d4ca3967edf24c0800cfc161c5a15e240dac28e3ce575c689abc11f2c81ccc6532c8752af3b40f9120fb5e454abecd359e164f4f6aa44c29cd37e194fe + languageName: node + linkType: hard + "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -18983,6 +19142,16 @@ __metadata: languageName: node linkType: hard +"url-parse@npm:^1.5.3": + version: 1.5.10 + resolution: "url-parse@npm:1.5.10" + dependencies: + querystringify: "npm:^2.1.1" + requires-port: "npm:^1.0.0" + checksum: bd5aa9389f896974beb851c112f63b466505a04b4807cea2e5a3b7092f6fbb75316f0491ea84e44f66fed55f1b440df5195d7e3a8203f64fcefa19d182f5be87 + languageName: node + linkType: hard + "use-callback-ref@npm:^1.3.0": version: 1.3.0 resolution: "use-callback-ref@npm:1.3.0" @@ -19214,8 +19383,6 @@ __metadata: "vite-react@workspace:apps/vite-react": version: 0.0.0-use.local resolution: "vite-react@workspace:apps/vite-react" - dependencies: - "@my-org/config": "npm:*" languageName: unknown linkType: soft @@ -19452,6 +19619,15 @@ __metadata: languageName: node linkType: hard +"w3c-xmlserializer@npm:^4.0.0": + version: 4.0.0 + resolution: "w3c-xmlserializer@npm:4.0.0" + dependencies: + xml-name-validator: "npm:^4.0.0" + checksum: 02cc66d6efc590bd630086cd88252444120f5feec5c4043932b0d0f74f8b060512f79dc77eb093a7ad04b4f02f39da79ce4af47ceb600f2bf9eacdc83204b1a8 + languageName: node + linkType: hard + "wait-on@npm:^7.0.0": version: 7.2.0 resolution: "wait-on@npm:7.2.0" @@ -19522,6 +19698,13 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: 228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 + languageName: node + linkType: hard + "webpack-sources@npm:^3.2.3": version: 3.2.3 resolution: "webpack-sources@npm:3.2.3" @@ -19545,6 +19728,23 @@ __metadata: languageName: node linkType: hard +"whatwg-mimetype@npm:^3.0.0": + version: 3.0.0 + resolution: "whatwg-mimetype@npm:3.0.0" + checksum: 323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f + languageName: node + linkType: hard + +"whatwg-url@npm:^12.0.0, whatwg-url@npm:^12.0.1": + version: 12.0.1 + resolution: "whatwg-url@npm:12.0.1" + dependencies: + tr46: "npm:^4.1.1" + webidl-conversions: "npm:^7.0.0" + checksum: 99f506b2c996704fa0fc5c70d8e5e27dce15492db2921c99cf319a8d56cb61641f5c06089f63e1ab1983de9fd6a63c3c112a90cdb5fe352d7a846979b10df566 + languageName: node + linkType: hard + "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -19722,7 +19922,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.2.3": +"ws@npm:^8.13.0, ws@npm:^8.2.3": version: 8.14.2 resolution: "ws@npm:8.14.2" peerDependencies: @@ -19751,6 +19951,13 @@ __metadata: languageName: node linkType: hard +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 + languageName: node + linkType: hard + "y18n@npm:^4.0.0": version: 4.0.3 resolution: "y18n@npm:4.0.3"