diff --git a/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap b/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap index 7b5070c264ac4..24c372954b88e 100644 --- a/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap +++ b/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap @@ -7,7 +7,7 @@ exports[`app generated files content - as-provided - my-app general application .nuxt .nitro .cache -**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*" +vite.config.*.timestamp*" `; exports[`app generated files content - as-provided - my-app general application should add the nuxt and vitest plugins 1`] = ` @@ -370,7 +370,7 @@ exports[`app generated files content - as-provided - myApp general application s .nuxt .nitro .cache -**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*" +vite.config.*.timestamp*" `; exports[`app generated files content - as-provided - myApp general application should add the nuxt and vitest plugins 1`] = ` diff --git a/packages/remix/src/generators/application/lib/add-vite-temp-files-to-gitignore.ts b/packages/remix/src/generators/application/lib/add-vite-temp-files-to-gitignore.ts index a84c07e79b3e7..e3d603042f112 100644 --- a/packages/remix/src/generators/application/lib/add-vite-temp-files-to-gitignore.ts +++ b/packages/remix/src/generators/application/lib/add-vite-temp-files-to-gitignore.ts @@ -1,7 +1,7 @@ import { stripIndents, Tree } from '@nx/devkit'; export function addViteTempFilesToGitIgnore(tree: Tree) { - let newGitIgnoreContents = `**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*`; + let newGitIgnoreContents = `vite.config.*.timestamp*`; if (tree.exists('.gitignore')) { const gitIgnoreContents = tree.read('.gitignore', 'utf-8'); if (!gitIgnoreContents.includes(newGitIgnoreContents)) { diff --git a/packages/vite/migrations.json b/packages/vite/migrations.json index c257ccca00d6b..3307720b80906 100644 --- a/packages/vite/migrations.json +++ b/packages/vite/migrations.json @@ -24,6 +24,11 @@ "version": "20.0.4-beta.0", "description": "Add gitignore entry for temporary vite config files.", "implementation": "./src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore" + }, + "update-20-0-6": { + "version": "20.0.6-beta.0", + "description": "Add gitignore entry for temporary vite config files and remove previous incorrect glob.", + "implementation": "./src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore" } }, "packageJsonUpdates": { diff --git a/packages/vite/src/generators/init/init.spec.ts b/packages/vite/src/generators/init/init.spec.ts index 43981247bae30..5e590a6d778b1 100644 --- a/packages/vite/src/generators/init/init.spec.ts +++ b/packages/vite/src/generators/init/init.spec.ts @@ -131,17 +131,14 @@ describe('@nx/vite:init', () => { it(`should not add multiple instances of the same vite temp file glob to gitignore`, async () => { // ARRANGE - tree.write( - '.gitignore', - '**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*' - ); + tree.write('.gitignore', 'vite.config.*.timestamp*'); // ACT await initGenerator(tree, {}); // ASSERT expect(tree.read('.gitignore', 'utf-8')).toMatchInlineSnapshot( - `"**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*"` + `"vite.config.*.timestamp*"` ); }); }); diff --git a/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.spec.ts b/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.spec.ts index aae76676cb133..7a007c9f95091 100644 --- a/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.spec.ts +++ b/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.spec.ts @@ -13,7 +13,27 @@ describe('addViteTempFilesToGitIgnore', () => { // ASSERT expect(tree.read('.gitignore', 'utf-8')).toMatchInlineSnapshot(` ".idea - **/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*" + vite.config.*.timestamp*" + `); + }); + + it('should update an existing .gitignore file and remove incorrect glob and add the glob correctly', () => { + // ARRANGE + const tree = createTreeWithEmptyWorkspace(); + tree.write( + '.gitignore', + `.idea + **/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*` + ); + + // ACT + addViteTempFilesToGitIgnore(tree); + + // ASSERT + expect(tree.read('.gitignore', 'utf-8')).toMatchInlineSnapshot(` + ".idea + + vite.config.*.timestamp*" `); }); @@ -27,7 +47,7 @@ describe('addViteTempFilesToGitIgnore', () => { // ASSERT expect(tree.read('.gitignore', 'utf-8')).toMatchInlineSnapshot( - `"**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*"` + `"vite.config.*.timestamp*"` ); }); }); diff --git a/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.ts b/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.ts index f72fcbf7112f3..205c83d11a914 100644 --- a/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.ts +++ b/packages/vite/src/migrations/update-20-0-4/add-vite-temp-files-to-git-ignore.ts @@ -2,5 +2,25 @@ import { Tree } from '@nx/devkit'; import { addViteTempFilesToGitIgnore as _addViteTempFilesToGitIgnore } from '../../utils/add-vite-temp-files-to-gitignore'; export default function addViteTempFilesToGitIgnore(tree: Tree) { + // need to check if .gitignore exists before adding to it + // then need to check if it contains the following pattern + // **/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp* + // if it does, remove just this pattern + if (tree.exists('.gitignore')) { + const gitIgnoreContents = tree.read('.gitignore', 'utf-8'); + if ( + gitIgnoreContents.includes( + '**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*' + ) + ) { + tree.write( + '.gitignore', + gitIgnoreContents.replace( + '**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*', + '' + ) + ); + } + } _addViteTempFilesToGitIgnore(tree); } diff --git a/packages/vite/src/utils/add-vite-temp-files-to-gitignore.ts b/packages/vite/src/utils/add-vite-temp-files-to-gitignore.ts index a84c07e79b3e7..e3d603042f112 100644 --- a/packages/vite/src/utils/add-vite-temp-files-to-gitignore.ts +++ b/packages/vite/src/utils/add-vite-temp-files-to-gitignore.ts @@ -1,7 +1,7 @@ import { stripIndents, Tree } from '@nx/devkit'; export function addViteTempFilesToGitIgnore(tree: Tree) { - let newGitIgnoreContents = `**/vite.config.{js,ts,mjs,mts,cjs,cts}.timestamp*`; + let newGitIgnoreContents = `vite.config.*.timestamp*`; if (tree.exists('.gitignore')) { const gitIgnoreContents = tree.read('.gitignore', 'utf-8'); if (!gitIgnoreContents.includes(newGitIgnoreContents)) {