diff --git a/packages/svelte/.prettierignore b/packages/svelte/.prettierignore index c6e593c171e9..859a01c14316 100644 --- a/packages/svelte/.prettierignore +++ b/packages/svelte/.prettierignore @@ -12,6 +12,7 @@ src/shared/version.js /test/**/_actual* /test/**/expected* /test/**/_output +/test/**/shards/*.test.js /types !rollup.config.js !vitest.config.js diff --git a/packages/svelte/scripts/generate-version.js b/packages/svelte/scripts/generate-version.js index 685b4c9929f7..351ead1eca6c 100644 --- a/packages/svelte/scripts/generate-version.js +++ b/packages/svelte/scripts/generate-version.js @@ -4,5 +4,5 @@ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8')); fs.writeFileSync( './src/shared/version.js', - `/** @type {string} */\nexport const VERSION = '${pkg.version}';` + `// generated during release, do not modify\n\n/** @type {string} */\nexport const VERSION = '${pkg.version}';\n` ); diff --git a/packages/svelte/src/shared/version.js b/packages/svelte/src/shared/version.js index 270af33e83c3..80a6d82b3c96 100644 --- a/packages/svelte/src/shared/version.js +++ b/packages/svelte/src/shared/version.js @@ -1,2 +1,4 @@ +// generated during release, do not modify + /** @type {string} */ -export const VERSION = '4.0.0-next.0'; \ No newline at end of file +export const VERSION = '4.0.0-next.0'; diff --git a/packages/svelte/test/version/version.test.js b/packages/svelte/test/version/version.test.js new file mode 100644 index 000000000000..e40bee02cf0f --- /dev/null +++ b/packages/svelte/test/version/version.test.js @@ -0,0 +1,16 @@ +import { fileURLToPath } from 'node:url'; +import { assert, describe, it } from 'vitest'; +import { VERSION } from 'svelte/compiler'; +import { try_load_json } from '../helpers.js'; + +describe('svelte/compiler VERSION', () => { + it('should be the exact version from package.json'); + const pkg = try_load_json( + fileURLToPath(new URL(`../../../../packages/svelte/package.json`, import.meta.url)) + ); + assert.equal( + VERSION, + pkg.version, + `VERSION export in src/shared/version.js does not equal version in package.json` + ); +});