diff --git a/e2e/utils/create-project-utils.ts b/e2e/utils/create-project-utils.ts index d13871ec9c..db78dcb88f 100644 --- a/e2e/utils/create-project-utils.ts +++ b/e2e/utils/create-project-utils.ts @@ -42,23 +42,31 @@ export function newProject({ name = uniq('proj'), packageManager = getSelectedPackageManager(), } = {}): string { + console.log('Testing_B 1'); + console.log('Testing_B packageManager', packageManager); + try { const projScope = 'proj'; + console.log('Testing_B 2'); if (!directoryExists(tmpBackupProjPath())) { + console.log('Testing_B 3'); runCreateWorkspace(projScope, { preset: 'empty', packageManager, }); + console.log('Testing_B 4'); // Temporary hack to prevent installing with `--frozen-lockfile` if (isCI && packageManager === 'pnpm') { + console.log('Testing_B 5'); updateFile( '.npmrc', 'prefer-frozen-lockfile=false\nstrict-peer-dependencies=false\nauto-install-peers=true' ); } + console.log('Testing_B 6'); // TODO(jack): we should tag the projects (e.g. tags: ['package']) and filter from that rather than hard-code packages. const packages = [ `@nx/angular`, @@ -82,22 +90,32 @@ export function newProject({ `@nx/expo`, ]; packageInstall(packages.join(` `), projScope); + console.log('Testing_B 7'); // stop the daemon execSync(`${getPackageManagerCommand().runNx} reset`, { cwd: `${e2eCwd}/proj`, stdio: isVerbose() ? 'inherit' : 'pipe', }); + console.log('Testing_B 8'); moveSync(`${e2eCwd}/proj`, `${tmpBackupProjPath()}`); + console.log('Testing_B 9'); } projName = name; + console.log('Testing_B 10'); copySync(`${tmpBackupProjPath()}`, `${tmpProjPath()}`); - + console.log('Testing_B 11'); if (isVerbose()) { + console.log('Testing_B 12'); + logInfo(`NX`, `E2E created a project: ${tmpProjPath()}`); } + console.log('Testing_B 13'); + if (packageManager === 'pnpm') { + console.log('Testing_B 14'); + execSync(getPackageManagerCommand().install, { cwd: tmpProjPath(), stdio: 'pipe', @@ -105,8 +123,10 @@ export function newProject({ encoding: 'utf-8', }); } + console.log('Testing_B 15'); return projScope; } catch (e) { + console.log('Testing_B 16'); logError(`Failed to set up project for e2e tests.`, e.message); throw e; } diff --git a/e2e/vite/src/vite.test.ts b/e2e/vite/src/vite.test.ts index cf220859a7..3e1b9cf071 100644 --- a/e2e/vite/src/vite.test.ts +++ b/e2e/vite/src/vite.test.ts @@ -28,17 +28,29 @@ describe('Vite Plugin', () => { describe('Vite on React apps', () => { describe('convert React webpack app to vite using the vite:configuration generator', () => { beforeEach(() => { + console.log('Testing_A 1'); proj = newProject(); + console.log('Testing_A proj', proj); + + console.log('Testing_A 2'); + runCLI(`generate @nx/react:app ${myApp} --bundler=webpack`); + console.log('Testing_A 3'); + runCLI(`generate @nx/vite:configuration ${myApp}`); + console.log('Testing_A 4'); }); afterEach(() => cleanupProject()); it('should serve application in dev mode with custom options', async () => { + console.log('Testing_A 5'); + const port = 4212; + console.log('Testing_A 6'); const p = await runCommandUntil( `run ${myApp}:serve --port=${port} --https=true`, (output) => { + console.log('Testing_A 7'); return ( output.includes('Local:') && output.includes(`:${port}`) && @@ -47,12 +59,15 @@ describe('Vite Plugin', () => { } ); try { + console.log('Testing_A 8'); await promisifiedTreeKill(p.pid, 'SIGKILL'); await killPorts(port); - } catch { + } catch (e) { + console.log('Testing_A 9'); + console.log('Testing_A e', e); // ignore } - }, 200000); + }, 200_000); it('should test application', async () => { const result = await runCLIAsync(`test ${myApp}`); @@ -62,7 +77,7 @@ describe('Vite Plugin', () => { }); }); - describe('set up new React app with --bundler=vite option', () => { + xdescribe('set up new React app with --bundler=vite option', () => { beforeEach(() => { proj = newProject(); runCLI(`generate @nx/react:app ${myApp} --bundler=vite`); @@ -123,11 +138,11 @@ describe('Vite Plugin', () => { readFile(`dist/apps/${myApp}/assets/${mainBundle}`) ).not.toContain('MyDevelopmentValue'); rmDist(); - }, 200000); + }, 200_000); }); }); - describe('Vite on Web apps', () => { + xdescribe('Vite on Web apps', () => { describe('set up new @nx/web app with --bundler=vite option', () => { beforeEach(() => { proj = newProject(); @@ -212,7 +227,7 @@ describe('Vite Plugin', () => { readFile(`dist/apps/${myApp}/assets/${mainBundle}`) ).toBeDefined(); rmDist(); - }, 200000); + }, 200_000); it('should serve application in dev mode with custom port', async () => { const port = 4212; @@ -228,7 +243,7 @@ describe('Vite Plugin', () => { } catch { // ignore } - }, 200000); + }, 200_000); it('should test application', async () => { const result = await runCLIAsync(`test ${myApp}`); @@ -240,7 +255,7 @@ describe('Vite Plugin', () => { 100_000; }); - describe('should be able to create libs that use vitest', () => { + xdescribe('should be able to create libs that use vitest', () => { const lib = uniq('my-lib'); beforeEach(() => { proj = newProject({ name: uniq('vite-proj') }); diff --git a/package.json b/package.json index 66c307e228..42b4491cf0 100644 --- a/package.json +++ b/package.json @@ -329,7 +329,7 @@ "tailwind-merge": "^1.8.1", "tailwindcss": "3.2.4", "tslib": "^2.3.0", - "vitest": "^0.31.0", + "vitest": "^0.32.0", "weak-napi": "^2.0.2" }, "resolutions": { diff --git a/packages/vite/migrations.json b/packages/vite/migrations.json index 08b4d45bc1..d3a67dc27a 100644 --- a/packages/vite/migrations.json +++ b/packages/vite/migrations.json @@ -26,6 +26,43 @@ } }, "packageJsonUpdates": { + "16.4.0-beta.4": { + "version": "16.4.0-beta.4", + "packages": { + "@vitejs/plugin-react": { + "version": "^4.0.0", + "alwaysAddToPackageJson": false + }, + "@vitejs/plugin-react-swc": { + "version": "^3.3.2", + "alwaysAddToPackageJson": false + }, + "jsdom": { + "version": "~22.1.0", + "alwaysAddToPackageJson": false + }, + "vite-plugin-dts": { + "version": "~2.3.0", + "alwaysAddToPackageJson": false + }, + "vitest": { + "version": "^0.32.0", + "alwaysAddToPackageJson": false + }, + "@vitest/coverage-c8": { + "version": "^0.32.0", + "alwaysAddToPackageJson": false + }, + "@vitest/ui": { + "version": "^0.32.0", + "alwaysAddToPackageJson": false + }, + "@vitest/coverage-istanbul": { + "version": "^0.32.0", + "alwaysAddToPackageJson": false + } + } + }, "16.1.0-beta.0": { "version": "16.1.0-beta.0", "packages": { diff --git a/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap b/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap index 1dd89b12a7..c45e5fc496 100644 --- a/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap +++ b/packages/vite/src/generators/init/__snapshots__/init.spec.ts.snap @@ -8,16 +8,16 @@ exports[`@nx/vite:init dependencies for package.json should add vite packages an "devDependencies": { "@nx/js": "0.0.1", "@nx/vite": "0.0.1", - "@vitejs/plugin-react": "^3.0.0", - "@vitest/ui": "^0.31.0", + "@vitejs/plugin-react": "^4.0.0", + "@vitest/ui": "^0.32.0", "existing": "1.0.0", - "jsdom": "~20.0.3", + "jsdom": "~22.1.0", "prettier": "^2.6.2", "typescript": "~5.0.2", "vite": "^4.3.4", "vite-plugin-eslint": "^1.8.1", - "vite-tsconfig-paths": "^4.0.2", - "vitest": "^0.31.0", + "vite-tsconfig-paths": "^4.2.0", + "vitest": "^0.32.0", }, "name": "test-name", } diff --git a/packages/vite/src/utils/versions.ts b/packages/vite/src/utils/versions.ts index 2b21e4317a..62ef3758fb 100644 --- a/packages/vite/src/utils/versions.ts +++ b/packages/vite/src/utils/versions.ts @@ -1,15 +1,15 @@ export const nxVersion = require('../../package.json').version; export const viteVersion = '^4.3.4'; export const vitePluginEslintVersion = '^1.8.1'; -export const vitestVersion = '^0.31.0'; -export const vitestUiVersion = '^0.31.0'; -export const vitePluginReactVersion = '^3.0.0'; -export const vitePluginReactSwcVersion = '^3.3.1'; -export const vitePluginVueVersion = '^3.2.0'; +export const vitestVersion = '^0.32.0'; +export const vitestUiVersion = '^0.32.0'; +export const vitePluginReactVersion = '^4.0.0'; +export const vitePluginReactSwcVersion = '^3.3.2'; +export const vitePluginVueVersion = '^4.2.3'; export const vitePluginVueJsxVersion = '^2.1.1'; -export const viteTsConfigPathsVersion = '^4.0.2'; -export const jsdomVersion = '~20.0.3'; -export const vitePluginDtsVersion = '~1.7.1'; +export const viteTsConfigPathsVersion = '^4.2.0'; +export const jsdomVersion = '~22.1.0'; +export const vitePluginDtsVersion = '~2.3.0'; // Coverage providers export const vitestCoverageC8Version = '^0.31.0'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e81197006..ec6440b491 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,8 +135,8 @@ dependencies: specifier: ^2.3.0 version: 2.4.0 vitest: - specifier: ^0.31.0 - version: 0.31.0(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + specifier: ^0.32.0 + version: 0.32.0(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) weak-napi: specifier: ^2.0.2 version: 2.0.2 @@ -8543,11 +8543,11 @@ packages: /@types/chai-subset@1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} dependencies: - '@types/chai': 4.3.4 + '@types/chai': 4.3.5 dev: false - /@types/chai@4.3.4: - resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + /@types/chai@4.3.5: + resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} dev: false /@types/connect-history-api-fallback@1.3.5: @@ -9312,39 +9312,39 @@ packages: vite: 4.3.1(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.17.1) dev: true - /@vitest/expect@0.31.0: - resolution: {integrity: sha512-Jlm8ZTyp6vMY9iz9Ny9a0BHnCG4fqBa8neCF6Pk/c/6vkUk49Ls6UBlgGAU82QnzzoaUs9E/mUhq/eq9uMOv/g==} + /@vitest/expect@0.32.0: + resolution: {integrity: sha512-VxVHhIxKw9Lux+O9bwLEEk2gzOUe93xuFHy9SzYWnnoYZFYg1NfBtnfnYWiJN7yooJ7KNElCK5YtA7DTZvtXtg==} dependencies: - '@vitest/spy': 0.31.0 - '@vitest/utils': 0.31.0 + '@vitest/spy': 0.32.0 + '@vitest/utils': 0.32.0 chai: 4.3.7 dev: false - /@vitest/runner@0.31.0: - resolution: {integrity: sha512-H1OE+Ly7JFeBwnpHTrKyCNm/oZgr+16N4qIlzzqSG/YRQDATBYmJb/KUn3GrZaiQQyL7GwpNHVZxSQd6juLCgw==} + /@vitest/runner@0.32.0: + resolution: {integrity: sha512-QpCmRxftHkr72xt5A08xTEs9I4iWEXIOCHWhQQguWOKE4QH7DXSKZSOFibuwEIMAD7G0ERvtUyQn7iPWIqSwmw==} dependencies: - '@vitest/utils': 0.31.0 + '@vitest/utils': 0.32.0 concordance: 5.0.4 p-limit: 4.0.0 pathe: 1.1.0 dev: false - /@vitest/snapshot@0.31.0: - resolution: {integrity: sha512-5dTXhbHnyUMTMOujZPB0wjFjQ6q5x9c8TvAsSPUNKjp1tVU7i9pbqcKPqntyu2oXtmVxKbuHCqrOd+Ft60r4tg==} + /@vitest/snapshot@0.32.0: + resolution: {integrity: sha512-yCKorPWjEnzpUxQpGlxulujTcSPgkblwGzAUEL+z01FTUg/YuCDZ8dxr9sHA08oO2EwxzHXNLjQKWJ2zc2a19Q==} dependencies: magic-string: 0.30.0 pathe: 1.1.0 pretty-format: 27.5.1 dev: false - /@vitest/spy@0.31.0: - resolution: {integrity: sha512-IzCEQ85RN26GqjQNkYahgVLLkULOxOm5H/t364LG0JYb3Apg0PsYCHLBYGA006+SVRMWhQvHlBBCyuByAMFmkg==} + /@vitest/spy@0.32.0: + resolution: {integrity: sha512-MruAPlM0uyiq3d53BkwTeShXY0rYEfhNGQzVO5GHBmmX3clsxcWp79mMnkOVcV244sNTeDcHbcPFWIjOI4tZvw==} dependencies: tinyspy: 2.1.0 dev: false - /@vitest/utils@0.31.0: - resolution: {integrity: sha512-kahaRyLX7GS1urekRXN2752X4gIgOGVX4Wo8eDUGUkTWlGpXzf5ZS6N9RUUS+Re3XEE8nVGqNyxkSxF5HXlGhQ==} + /@vitest/utils@0.32.0: + resolution: {integrity: sha512-53yXunzx47MmbuvcOPpLaVljHaeSu1G2dHdmy7+9ngMnQIkBQcvwOcoclWFnxDMxFbnq8exAfh3aKSZaK71J5A==} dependencies: concordance: 5.0.4 loupe: 2.3.6 @@ -24730,8 +24730,8 @@ packages: extsprintf: 1.4.1 dev: true - /vite-node@0.31.0(@types/node@18.16.9)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): - resolution: {integrity: sha512-8x1x1LNuPvE2vIvkSB7c1mApX5oqlgsxzHQesYF7l5n1gKrEmrClIiZuOFbFDQcjLsmcWSwwmrWrcGWm9Fxc/g==} + /vite-node@0.32.0(@types/node@18.16.9)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): + resolution: {integrity: sha512-220P/y8YacYAU+daOAqiGEFXx2A8AwjadDzQqos6wSukjvvTWNqleJSwoUn0ckyNdjHIKoxn93Nh1vWBqEKr3Q==} engines: {node: '>=v14.18.0'} hasBin: true dependencies: @@ -24823,8 +24823,8 @@ packages: optionalDependencies: fsevents: 2.3.2 - /vitest@0.31.0(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): - resolution: {integrity: sha512-JwWJS9p3GU9GxkG7eBSmr4Q4x4bvVBSswaCFf1PBNHiPx00obfhHRJfgHcnI0ffn+NMlIh9QGvG75FlaIBdKGA==} + /vitest@0.32.0(less@4.1.3)(sass@1.55.0)(stylus@0.59.0): + resolution: {integrity: sha512-SW83o629gCqnV3BqBnTxhB10DAwzwEx3z+rqYZESehUB+eWsJxwcBQx7CKy0otuGMJTYh7qCVuUX23HkftGl/Q==} engines: {node: '>=v14.18.0'} hasBin: true peerDependencies: @@ -24854,14 +24854,14 @@ packages: webdriverio: optional: true dependencies: - '@types/chai': 4.3.4 + '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 '@types/node': 18.16.9 - '@vitest/expect': 0.31.0 - '@vitest/runner': 0.31.0 - '@vitest/snapshot': 0.31.0 - '@vitest/spy': 0.31.0 - '@vitest/utils': 0.31.0 + '@vitest/expect': 0.32.0 + '@vitest/runner': 0.32.0 + '@vitest/snapshot': 0.32.0 + '@vitest/spy': 0.32.0 + '@vitest/utils': 0.32.0 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 @@ -24877,7 +24877,7 @@ packages: tinybench: 2.5.0 tinypool: 0.5.0 vite: 4.3.4(@types/node@18.16.9)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) - vite-node: 0.31.0(@types/node@18.16.9)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) + vite-node: 0.32.0(@types/node@18.16.9)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) why-is-node-running: 2.2.2 transitivePeerDependencies: - less