From b276da250b15bdfcf86668db30e9d51f852e85d7 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 14 Nov 2024 11:57:00 +0800 Subject: [PATCH 1/9] feat: `import.meta.glob` support query `?nocontent` --- packages/vite/src/node/plugins/importMetaGlob.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index b167bd16ef57d2..d5abb700bc20f7 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -437,6 +437,11 @@ export async function transformGlobImport( let importPath = paths.importPath let importQuery = options.query ?? '' + if (importQuery && importQuery === '?nocontnet') { + objectProps.push(`${JSON.stringify(filePath)}: ''`) + return + } + if (importQuery && importQuery !== '?raw') { const fileExtension = basename(file).split('.').slice(-1)[0] if (fileExtension && restoreQueryExtension) From 9cbdade159fee33364490851cafd53fc8b4d5a0a Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 14 Nov 2024 12:35:54 +0800 Subject: [PATCH 2/9] feat: docs --- docs/guide/features.md | 18 ++++++++++++++++++ .../vite/src/node/plugins/importMetaGlob.ts | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index eecd217750cd64..69da40fd4c21be 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -581,6 +581,24 @@ const modules = import.meta.glob('./dir/*.js', { }) ``` +If you just want to get the filename, You can provide query `?nocontent`: + +```ts twoslash +import 'vite/client' +// ---cut--- +const modules = import.meta.glob('./dir/*.js', { + query: '?nocontent', +}) +``` + +```ts +// code produced by vite: +const modules = { + './dir/foo.svg': '', + './dir/bar.svg': '', +} +``` + ### Glob Import Caveats Note that: diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index d5abb700bc20f7..6064ce60bd5b90 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -437,7 +437,7 @@ export async function transformGlobImport( let importPath = paths.importPath let importQuery = options.query ?? '' - if (importQuery && importQuery === '?nocontnet') { + if (importQuery && importQuery === '?nocontent') { objectProps.push(`${JSON.stringify(filePath)}: ''`) return } From 9f9c26265bee0050bb194c6225e3fd807d91a3aa Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 14 Nov 2024 12:39:36 +0800 Subject: [PATCH 3/9] docs: update --- docs/guide/features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index 69da40fd4c21be..6775a3985a8300 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -594,8 +594,8 @@ const modules = import.meta.glob('./dir/*.js', { ```ts // code produced by vite: const modules = { - './dir/foo.svg': '', - './dir/bar.svg': '', + './dir/foo.js': '', + './dir/bar.js': '', } ``` From 79b0738d0914b1ca52ffce57e8d5d8489c9555ec Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 19 Nov 2024 18:53:02 +0800 Subject: [PATCH 4/9] feat: detect Object.keys --- docs/guide/features.md | 18 ------ .../__snapshots__/fixture.spec.ts.snap | 56 ++++++++++++++++--- .../plugins/importGlob/fixture-a/index.ts | 22 ++++++++ .../vite/src/node/plugins/importMetaGlob.ts | 16 +++++- 4 files changed, 84 insertions(+), 28 deletions(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index 6775a3985a8300..eecd217750cd64 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -581,24 +581,6 @@ const modules = import.meta.glob('./dir/*.js', { }) ``` -If you just want to get the filename, You can provide query `?nocontent`: - -```ts twoslash -import 'vite/client' -// ---cut--- -const modules = import.meta.glob('./dir/*.js', { - query: '?nocontent', -}) -``` - -```ts -// code produced by vite: -const modules = { - './dir/foo.js': '', - './dir/bar.js': '', -} -``` - ### Glob Import Caveats Note that: diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap index f187b9e0ab0a03..4d3d3e64495efd 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap +++ b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap @@ -1,20 +1,40 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`fixture > transform 1`] = ` -"import * as __vite_glob_1_0 from "./modules/a.ts";import * as __vite_glob_1_1 from "./modules/b.ts";import * as __vite_glob_1_2 from "./modules/index.ts";import { name as __vite_glob_3_0 } from "./modules/a.ts";import { name as __vite_glob_3_1 } from "./modules/b.ts";import { name as __vite_glob_3_2 } from "./modules/index.ts";import { default as __vite_glob_5_0 } from "./modules/a.ts?raw";import { default as __vite_glob_5_1 } from "./modules/b.ts?raw";import "types/importMeta"; +"import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_1_0,"./modules/b.ts": __vite_glob_1_1,"./modules/index.ts": __vite_glob_1_2 +export const basicWithObjectKeys = Object.keys(/* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''})); +export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 }); +export const basicEagerWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + +}) +); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); -export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_3_0,"./modules/b.ts": __vite_glob_3_1,"./modules/index.ts": __vite_glob_3_2 +export const ignoreWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": ''}) +); +export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_6_0,"./modules/b.ts": __vite_glob_6_1,"./modules/index.ts": __vite_glob_6_2 }); +export const namedEagerWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + + +}) +); export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts").then(m => m["default"]),"./modules/b.ts": () => import("./modules/b.ts").then(m => m["default"]),"./modules/index.ts": () => import("./modules/index.ts").then(m => m["default"]) }); -export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_5_0,"./modules/b.ts": __vite_glob_5_1 +export const namedDefaultWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + +}) +); +export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_10_0,"./modules/b.ts": __vite_glob_10_1 }); @@ -56,20 +76,40 @@ export const cleverCwd2 = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => `; exports[`fixture > transform with restoreQueryExtension 1`] = ` -"import * as __vite_glob_1_0 from "./modules/a.ts";import * as __vite_glob_1_1 from "./modules/b.ts";import * as __vite_glob_1_2 from "./modules/index.ts";import { name as __vite_glob_3_0 } from "./modules/a.ts";import { name as __vite_glob_3_1 } from "./modules/b.ts";import { name as __vite_glob_3_2 } from "./modules/index.ts";import { default as __vite_glob_5_0 } from "./modules/a.ts?raw";import { default as __vite_glob_5_1 } from "./modules/b.ts?raw";import "types/importMeta"; +"import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_1_0,"./modules/b.ts": __vite_glob_1_1,"./modules/index.ts": __vite_glob_1_2 +export const basicWithObjectKeys = Object.keys(/* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''})); +export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 }); +export const basicEagerWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + +}) +); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); -export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_3_0,"./modules/b.ts": __vite_glob_3_1,"./modules/index.ts": __vite_glob_3_2 +export const ignoreWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": ''}) +); +export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_6_0,"./modules/b.ts": __vite_glob_6_1,"./modules/index.ts": __vite_glob_6_2 }); +export const namedEagerWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + + +}) +); export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts").then(m => m["default"]),"./modules/b.ts": () => import("./modules/b.ts").then(m => m["default"]),"./modules/index.ts": () => import("./modules/index.ts").then(m => m["default"]) }); -export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_5_0,"./modules/b.ts": __vite_glob_5_1 +export const namedDefaultWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + +}) +); +export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_10_0,"./modules/b.ts": __vite_glob_10_1 }); diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts index 8a2311051a8d09..e43c9f64e1dc06 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts @@ -5,21 +5,43 @@ export interface ModuleType { } export const basic = import.meta.glob('./modules/*.ts') +export const basicWithObjectKeys = Object.keys( + import.meta.glob('./modules/*.ts'), +) export const basicEager = import.meta.glob('./modules/*.ts', { eager: true, }) +export const basicEagerWithObjectKeys = Object.keys( + import.meta.glob('./modules/*.ts', { + eager: true, + }), +) export const ignore = import.meta.glob(['./modules/*.ts', '!**/index.ts']) +export const ignoreWithObjectKeys = Object.keys( + import.meta.glob(['./modules/*.ts', '!**/index.ts']), +) export const namedEager = import.meta.glob('./modules/*.ts', { eager: true, import: 'name', }) +export const namedEagerWithObjectKeys = Object.keys( + import.meta.glob('./modules/*.ts', { + eager: true, + import: 'name', + }), +) export const namedDefault = import.meta.glob('./modules/*.ts', { import: 'default', }) +export const namedDefaultWithObjectKeys = Object.keys( + import.meta.glob('./modules/*.ts', { + import: 'default', + }), +) export const eagerAs = import.meta.glob( ['./modules/*.ts', '!**/index.ts'], diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index 6064ce60bd5b90..ec478191fb4aaf 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -32,6 +32,7 @@ export interface ParsedImportGlob { options: ParsedGeneralImportGlobOptions start: number end: number + onlyKeys: boolean } interface ParsedGeneralImportGlobOptions extends GeneralImportGlobOptions { @@ -107,6 +108,7 @@ export function importGlobPlugin(config: ResolvedConfig): Plugin { } const importGlobRE = /\bimport\.meta\.glob(?:<\w+>)?\s*\(/g +const objectKeysRE = /Object\.keys\(\s*$/ const knownOptions = { as: ['string'], @@ -306,6 +308,7 @@ export async function parseImportGlob( globs.map((glob) => toAbsoluteGlob(glob, root, importer, resolveId)), ) const isRelative = globs.every((i) => '.!'.includes(i[0])) + const onlyKeys = objectKeysRE.test(cleanCode.slice(0, start)) return { index, @@ -315,6 +318,7 @@ export async function parseImportGlob( options, start, end, + onlyKeys, } }) @@ -390,7 +394,15 @@ export async function transformGlobImport( const staticImports = ( await Promise.all( matches.map( - async ({ globsResolved, isRelative, options, index, start, end }) => { + async ({ + globsResolved, + isRelative, + options, + index, + start, + end, + onlyKeys, + }) => { const cwd = getCommonBase(globsResolved) ?? root const files = ( await glob(globsResolved, { @@ -437,7 +449,7 @@ export async function transformGlobImport( let importPath = paths.importPath let importQuery = options.query ?? '' - if (importQuery && importQuery === '?nocontent') { + if (onlyKeys) { objectProps.push(`${JSON.stringify(filePath)}: ''`) return } From 9ece87d5860c57b54979d2ab0c850d20fb490a65 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 19 Nov 2024 19:00:24 +0800 Subject: [PATCH 5/9] fix: update snap --- .../plugins/importGlob/__snapshots__/fixture.spec.ts.snap | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap index 4d3d3e64495efd..d4d3f2f86c7a13 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap +++ b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap @@ -3,7 +3,9 @@ exports[`fixture > transform 1`] = ` "import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicWithObjectKeys = Object.keys(/* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''})); +export const basicWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}) +); export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 }); @@ -78,7 +80,9 @@ export const cleverCwd2 = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => exports[`fixture > transform with restoreQueryExtension 1`] = ` "import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicWithObjectKeys = Object.keys(/* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''})); +export const basicWithObjectKeys = Object.keys( + /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}) +); export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 }); From cd424cac2c8c1455e5a879391f0cab7ac6dccc74 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 20 Nov 2024 11:42:50 +0800 Subject: [PATCH 6/9] fix: update --- .../__snapshots__/fixture.spec.ts.snap | 36 +++++++++---------- .../plugins/importGlob/fixture-a/index.ts | 5 ++- .../vite/src/node/plugins/importMetaGlob.ts | 11 +++--- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap index d4d3f2f86c7a13..934c84316a4245 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap +++ b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap @@ -3,38 +3,36 @@ exports[`fixture > transform 1`] = ` "import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}) -); +export const basicWithObjectKeys = Object.keys({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}); export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 }); export const basicEagerWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' -}) +} ); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); export const ignoreWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": ''}) + {"./modules/a.ts": '',"./modules/b.ts": ''} ); export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_6_0,"./modules/b.ts": __vite_glob_6_1,"./modules/index.ts": __vite_glob_6_2 }); export const namedEagerWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' -}) +} ); export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts").then(m => m["default"]),"./modules/b.ts": () => import("./modules/b.ts").then(m => m["default"]),"./modules/index.ts": () => import("./modules/index.ts").then(m => m["default"]) }); export const namedDefaultWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' -}) +} ); export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_10_0,"./modules/b.ts": __vite_glob_10_1 @@ -80,38 +78,36 @@ export const cleverCwd2 = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => exports[`fixture > transform with restoreQueryExtension 1`] = ` "import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}) -); +export const basicWithObjectKeys = Object.keys({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}); export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 }); export const basicEagerWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' -}) +} ); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); export const ignoreWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": ''}) + {"./modules/a.ts": '',"./modules/b.ts": ''} ); export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_6_0,"./modules/b.ts": __vite_glob_6_1,"./modules/index.ts": __vite_glob_6_2 }); export const namedEagerWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' -}) +} ); export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts").then(m => m["default"]),"./modules/b.ts": () => import("./modules/b.ts").then(m => m["default"]),"./modules/index.ts": () => import("./modules/index.ts").then(m => m["default"]) }); export const namedDefaultWithObjectKeys = Object.keys( - /* #__PURE__ */ Object.assign({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' -}) +} ); export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_10_0,"./modules/b.ts": __vite_glob_10_1 diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts index e43c9f64e1dc06..a074ee941c0f45 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts @@ -5,9 +5,8 @@ export interface ModuleType { } export const basic = import.meta.glob('./modules/*.ts') -export const basicWithObjectKeys = Object.keys( - import.meta.glob('./modules/*.ts'), -) +// prettier-ignore +export const basicWithObjectKeys = Object.keys(import.meta.glob('./modules/*.ts')) export const basicEager = import.meta.glob('./modules/*.ts', { eager: true, diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index ec478191fb4aaf..4bd462b9b87ad3 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -108,7 +108,7 @@ export function importGlobPlugin(config: ResolvedConfig): Plugin { } const importGlobRE = /\bimport\.meta\.glob(?:<\w+>)?\s*\(/g -const objectKeysRE = /Object\.keys\(\s*$/ +const objectKeysRE = /\bObject\.keys\(\s*$/ const knownOptions = { as: ['string'], @@ -494,10 +494,11 @@ export async function transformGlobImport( originalLineBreakCount > 0 ? '\n'.repeat(originalLineBreakCount) : '' - - const replacement = `/* #__PURE__ */ Object.assign({${objectProps.join( - ',', - )}${lineBreaks}})` + const replacement = onlyKeys + ? `{${objectProps.join(',')}${lineBreaks}}` + : `/* #__PURE__ */ Object.assign({${objectProps.join( + ',', + )}${lineBreaks}})` s.overwrite(start, end, replacement) return staticImports From d869760c2baf8a4cd9a6dda9cde8fc537a537176 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 21 Nov 2024 11:48:22 +0800 Subject: [PATCH 7/9] feat: convert `Object.values(import.meta.glob('))` --- .../__snapshots__/fixture.spec.ts.snap | 56 ++++++++++++++++--- .../plugins/importGlob/fixture-a/index.ts | 21 +++++++ .../vite/src/node/plugins/importMetaGlob.ts | 37 +++++++++--- 3 files changed, 98 insertions(+), 16 deletions(-) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap index 934c84316a4245..0763d0bd05ee08 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap +++ b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap @@ -1,10 +1,11 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`fixture > transform 1`] = ` -"import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; +"import * as __vite_glob_3_0 from "./modules/a.ts";import * as __vite_glob_3_1 from "./modules/b.ts";import * as __vite_glob_3_2 from "./modules/index.ts";import * as __vite_glob_5_0 from "./modules/a.ts";import * as __vite_glob_5_1 from "./modules/b.ts";import * as __vite_glob_5_2 from "./modules/index.ts";import { name as __vite_glob_9_0 } from "./modules/a.ts";import { name as __vite_glob_9_1 } from "./modules/b.ts";import { name as __vite_glob_9_2 } from "./modules/index.ts";import { name as __vite_glob_11_0 } from "./modules/a.ts";import { name as __vite_glob_11_1 } from "./modules/b.ts";import { name as __vite_glob_11_2 } from "./modules/index.ts";import { default as __vite_glob_15_0 } from "./modules/a.ts?raw";import { default as __vite_glob_15_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); export const basicWithObjectKeys = Object.keys({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}); -export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 +export const basicWithObjectValues = Object.values([() => import("./modules/a.ts"),() => import("./modules/b.ts"),() => import("./modules/index.ts")]); +export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_3_0,"./modules/b.ts": __vite_glob_3_1,"./modules/index.ts": __vite_glob_3_2 }); export const basicEagerWithObjectKeys = Object.keys( @@ -12,11 +13,19 @@ export const basicEagerWithObjectKeys = Object.keys( } ); +export const basicEagerWithObjectValues = Object.values( + [__vite_glob_5_0,__vite_glob_5_1,__vite_glob_5_2 + +] +); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); export const ignoreWithObjectKeys = Object.keys( {"./modules/a.ts": '',"./modules/b.ts": ''} ); -export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_6_0,"./modules/b.ts": __vite_glob_6_1,"./modules/index.ts": __vite_glob_6_2 +export const ignoreWithObjectValues = Object.values( + [() => import("./modules/a.ts"),() => import("./modules/b.ts")] +); +export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_9_0,"./modules/b.ts": __vite_glob_9_1,"./modules/index.ts": __vite_glob_9_2 }); @@ -26,6 +35,12 @@ export const namedEagerWithObjectKeys = Object.keys( } ); +export const namedEagerWithObjectValues = Object.values( + [__vite_glob_11_0,__vite_glob_11_1,__vite_glob_11_2 + + +] +); export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts").then(m => m["default"]),"./modules/b.ts": () => import("./modules/b.ts").then(m => m["default"]),"./modules/index.ts": () => import("./modules/index.ts").then(m => m["default"]) }); @@ -34,7 +49,12 @@ export const namedDefaultWithObjectKeys = Object.keys( } ); -export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_10_0,"./modules/b.ts": __vite_glob_10_1 +export const namedDefaultWithObjectValues = Object.values( + [() => import("./modules/a.ts").then(m => m["default"]),() => import("./modules/b.ts").then(m => m["default"]),() => import("./modules/index.ts").then(m => m["default"]) + +] +); +export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_15_0,"./modules/b.ts": __vite_glob_15_1 }); @@ -76,10 +96,11 @@ export const cleverCwd2 = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => `; exports[`fixture > transform with restoreQueryExtension 1`] = ` -"import * as __vite_glob_2_0 from "./modules/a.ts";import * as __vite_glob_2_1 from "./modules/b.ts";import * as __vite_glob_2_2 from "./modules/index.ts";import { name as __vite_glob_6_0 } from "./modules/a.ts";import { name as __vite_glob_6_1 } from "./modules/b.ts";import { name as __vite_glob_6_2 } from "./modules/index.ts";import { default as __vite_glob_10_0 } from "./modules/a.ts?raw";import { default as __vite_glob_10_1 } from "./modules/b.ts?raw";import "types/importMeta"; +"import * as __vite_glob_3_0 from "./modules/a.ts";import * as __vite_glob_3_1 from "./modules/b.ts";import * as __vite_glob_3_2 from "./modules/index.ts";import * as __vite_glob_5_0 from "./modules/a.ts";import * as __vite_glob_5_1 from "./modules/b.ts";import * as __vite_glob_5_2 from "./modules/index.ts";import { name as __vite_glob_9_0 } from "./modules/a.ts";import { name as __vite_glob_9_1 } from "./modules/b.ts";import { name as __vite_glob_9_2 } from "./modules/index.ts";import { name as __vite_glob_11_0 } from "./modules/a.ts";import { name as __vite_glob_11_1 } from "./modules/b.ts";import { name as __vite_glob_11_2 } from "./modules/index.ts";import { default as __vite_glob_15_0 } from "./modules/a.ts?raw";import { default as __vite_glob_15_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); export const basicWithObjectKeys = Object.keys({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}); -export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_2_0,"./modules/b.ts": __vite_glob_2_1,"./modules/index.ts": __vite_glob_2_2 +export const basicWithObjectValues = Object.values([() => import("./modules/a.ts"),() => import("./modules/b.ts"),() => import("./modules/index.ts")]); +export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_3_0,"./modules/b.ts": __vite_glob_3_1,"./modules/index.ts": __vite_glob_3_2 }); export const basicEagerWithObjectKeys = Object.keys( @@ -87,11 +108,19 @@ export const basicEagerWithObjectKeys = Object.keys( } ); +export const basicEagerWithObjectValues = Object.values( + [__vite_glob_5_0,__vite_glob_5_1,__vite_glob_5_2 + +] +); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); export const ignoreWithObjectKeys = Object.keys( {"./modules/a.ts": '',"./modules/b.ts": ''} ); -export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_6_0,"./modules/b.ts": __vite_glob_6_1,"./modules/index.ts": __vite_glob_6_2 +export const ignoreWithObjectValues = Object.values( + [() => import("./modules/a.ts"),() => import("./modules/b.ts")] +); +export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_9_0,"./modules/b.ts": __vite_glob_9_1,"./modules/index.ts": __vite_glob_9_2 }); @@ -101,6 +130,12 @@ export const namedEagerWithObjectKeys = Object.keys( } ); +export const namedEagerWithObjectValues = Object.values( + [__vite_glob_11_0,__vite_glob_11_1,__vite_glob_11_2 + + +] +); export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts").then(m => m["default"]),"./modules/b.ts": () => import("./modules/b.ts").then(m => m["default"]),"./modules/index.ts": () => import("./modules/index.ts").then(m => m["default"]) }); @@ -109,7 +144,12 @@ export const namedDefaultWithObjectKeys = Object.keys( } ); -export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_10_0,"./modules/b.ts": __vite_glob_10_1 +export const namedDefaultWithObjectValues = Object.values( + [() => import("./modules/a.ts").then(m => m["default"]),() => import("./modules/b.ts").then(m => m["default"]),() => import("./modules/index.ts").then(m => m["default"]) + +] +); +export const eagerAs = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_15_0,"./modules/b.ts": __vite_glob_15_1 }); diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts index a074ee941c0f45..5262dd99969f46 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts @@ -7,6 +7,8 @@ export interface ModuleType { export const basic = import.meta.glob('./modules/*.ts') // prettier-ignore export const basicWithObjectKeys = Object.keys(import.meta.glob('./modules/*.ts')) +// prettier-ignore +export const basicWithObjectValues = Object.values(import.meta.glob('./modules/*.ts')) export const basicEager = import.meta.glob('./modules/*.ts', { eager: true, @@ -16,11 +18,19 @@ export const basicEagerWithObjectKeys = Object.keys( eager: true, }), ) +export const basicEagerWithObjectValues = Object.values( + import.meta.glob('./modules/*.ts', { + eager: true, + }), +) export const ignore = import.meta.glob(['./modules/*.ts', '!**/index.ts']) export const ignoreWithObjectKeys = Object.keys( import.meta.glob(['./modules/*.ts', '!**/index.ts']), ) +export const ignoreWithObjectValues = Object.values( + import.meta.glob(['./modules/*.ts', '!**/index.ts']), +) export const namedEager = import.meta.glob('./modules/*.ts', { eager: true, @@ -32,6 +42,12 @@ export const namedEagerWithObjectKeys = Object.keys( import: 'name', }), ) +export const namedEagerWithObjectValues = Object.values( + import.meta.glob('./modules/*.ts', { + eager: true, + import: 'name', + }), +) export const namedDefault = import.meta.glob('./modules/*.ts', { import: 'default', @@ -41,6 +57,11 @@ export const namedDefaultWithObjectKeys = Object.keys( import: 'default', }), ) +export const namedDefaultWithObjectValues = Object.values( + import.meta.glob('./modules/*.ts', { + import: 'default', + }), +) export const eagerAs = import.meta.glob( ['./modules/*.ts', '!**/index.ts'], diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index 4bd462b9b87ad3..8097d51246cb9d 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -33,6 +33,7 @@ export interface ParsedImportGlob { start: number end: number onlyKeys: boolean + onlyValues: boolean } interface ParsedGeneralImportGlobOptions extends GeneralImportGlobOptions { @@ -109,6 +110,7 @@ export function importGlobPlugin(config: ResolvedConfig): Plugin { const importGlobRE = /\bimport\.meta\.glob(?:<\w+>)?\s*\(/g const objectKeysRE = /\bObject\.keys\(\s*$/ +const objectValuesRE = /\bObject\.values\(\s*$/ const knownOptions = { as: ['string'], @@ -308,7 +310,12 @@ export async function parseImportGlob( globs.map((glob) => toAbsoluteGlob(glob, root, importer, resolveId)), ) const isRelative = globs.every((i) => '.!'.includes(i[0])) - const onlyKeys = objectKeysRE.test(cleanCode.slice(0, start)) + const sliceCode = cleanCode.slice(0, start) + const onlyKeys = objectKeysRE.test(sliceCode) + let onlyValues = false + if (!onlyKeys) { + onlyValues = objectValuesRE.test(sliceCode) + } return { index, @@ -319,6 +326,7 @@ export async function parseImportGlob( start, end, onlyKeys, + onlyValues, } }) @@ -402,6 +410,7 @@ export async function transformGlobImport( start, end, onlyKeys, + onlyValues, }) => { const cwd = getCommonBase(globsResolved) ?? root const files = ( @@ -475,13 +484,19 @@ export async function transformGlobImport( staticImports.push( `import ${expression} from ${JSON.stringify(importPath)}`, ) - objectProps.push(`${JSON.stringify(filePath)}: ${variableName}`) + objectProps.push( + onlyValues + ? `${variableName}` + : `${JSON.stringify(filePath)}: ${variableName}`, + ) } else { let importStatement = `import(${JSON.stringify(importPath)})` if (importKey) importStatement += `.then(m => m[${JSON.stringify(importKey)}])` objectProps.push( - `${JSON.stringify(filePath)}: () => ${importStatement}`, + onlyValues + ? `() => ${importStatement}` + : `${JSON.stringify(filePath)}: () => ${importStatement}`, ) } }) @@ -494,11 +509,17 @@ export async function transformGlobImport( originalLineBreakCount > 0 ? '\n'.repeat(originalLineBreakCount) : '' - const replacement = onlyKeys - ? `{${objectProps.join(',')}${lineBreaks}}` - : `/* #__PURE__ */ Object.assign({${objectProps.join( - ',', - )}${lineBreaks}})` + let replacement = '' + if (onlyKeys) { + replacement = `{${objectProps.join(',')}${lineBreaks}}` + } else if (onlyValues) { + replacement = `[${objectProps.join(',')}${lineBreaks}]` + } else { + replacement = `/* #__PURE__ */ Object.assign({${objectProps.join( + ',', + )}${lineBreaks}})` + } + s.overwrite(start, end, replacement) return staticImports From 021d1d31f3c7183dfcc8f78125670a1bf0bc97e9 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 22 Nov 2024 10:02:32 +0800 Subject: [PATCH 8/9] Update packages/vite/src/node/plugins/importMetaGlob.ts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- packages/vite/src/node/plugins/importMetaGlob.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index 8097d51246cb9d..43534d7d82bca5 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -459,7 +459,7 @@ export async function transformGlobImport( let importQuery = options.query ?? '' if (onlyKeys) { - objectProps.push(`${JSON.stringify(filePath)}: ''`) + objectProps.push(`${JSON.stringify(filePath)}: 0`) return } From 062f466a1d9f0634865da6ee677689bd3c87e81c Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 22 Nov 2024 10:06:47 +0800 Subject: [PATCH 9/9] fix: update snap --- .../__snapshots__/fixture.spec.ts.snap | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap index 0763d0bd05ee08..f3b469e811ed68 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap +++ b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap @@ -3,13 +3,13 @@ exports[`fixture > transform 1`] = ` "import * as __vite_glob_3_0 from "./modules/a.ts";import * as __vite_glob_3_1 from "./modules/b.ts";import * as __vite_glob_3_2 from "./modules/index.ts";import * as __vite_glob_5_0 from "./modules/a.ts";import * as __vite_glob_5_1 from "./modules/b.ts";import * as __vite_glob_5_2 from "./modules/index.ts";import { name as __vite_glob_9_0 } from "./modules/a.ts";import { name as __vite_glob_9_1 } from "./modules/b.ts";import { name as __vite_glob_9_2 } from "./modules/index.ts";import { name as __vite_glob_11_0 } from "./modules/a.ts";import { name as __vite_glob_11_1 } from "./modules/b.ts";import { name as __vite_glob_11_2 } from "./modules/index.ts";import { default as __vite_glob_15_0 } from "./modules/a.ts?raw";import { default as __vite_glob_15_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicWithObjectKeys = Object.keys({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}); +export const basicWithObjectKeys = Object.keys({"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0}); export const basicWithObjectValues = Object.values([() => import("./modules/a.ts"),() => import("./modules/b.ts"),() => import("./modules/index.ts")]); export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_3_0,"./modules/b.ts": __vite_glob_3_1,"./modules/index.ts": __vite_glob_3_2 }); export const basicEagerWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0 } ); @@ -20,7 +20,7 @@ export const basicEagerWithObjectValues = Object.values( ); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); export const ignoreWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": ''} + {"./modules/a.ts": 0,"./modules/b.ts": 0} ); export const ignoreWithObjectValues = Object.values( [() => import("./modules/a.ts"),() => import("./modules/b.ts")] @@ -30,7 +30,7 @@ export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vit }); export const namedEagerWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0 } @@ -45,7 +45,7 @@ export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () }); export const namedDefaultWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0 } ); @@ -98,13 +98,13 @@ export const cleverCwd2 = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => exports[`fixture > transform with restoreQueryExtension 1`] = ` "import * as __vite_glob_3_0 from "./modules/a.ts";import * as __vite_glob_3_1 from "./modules/b.ts";import * as __vite_glob_3_2 from "./modules/index.ts";import * as __vite_glob_5_0 from "./modules/a.ts";import * as __vite_glob_5_1 from "./modules/b.ts";import * as __vite_glob_5_2 from "./modules/index.ts";import { name as __vite_glob_9_0 } from "./modules/a.ts";import { name as __vite_glob_9_1 } from "./modules/b.ts";import { name as __vite_glob_9_2 } from "./modules/index.ts";import { name as __vite_glob_11_0 } from "./modules/a.ts";import { name as __vite_glob_11_1 } from "./modules/b.ts";import { name as __vite_glob_11_2 } from "./modules/index.ts";import { default as __vite_glob_15_0 } from "./modules/a.ts?raw";import { default as __vite_glob_15_1 } from "./modules/b.ts?raw";import "types/importMeta"; export const basic = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts"),"./modules/index.ts": () => import("./modules/index.ts")}); -export const basicWithObjectKeys = Object.keys({"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": ''}); +export const basicWithObjectKeys = Object.keys({"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0}); export const basicWithObjectValues = Object.values([() => import("./modules/a.ts"),() => import("./modules/b.ts"),() => import("./modules/index.ts")]); export const basicEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vite_glob_3_0,"./modules/b.ts": __vite_glob_3_1,"./modules/index.ts": __vite_glob_3_2 }); export const basicEagerWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0 } ); @@ -115,7 +115,7 @@ export const basicEagerWithObjectValues = Object.values( ); export const ignore = /* #__PURE__ */ Object.assign({"./modules/a.ts": () => import("./modules/a.ts"),"./modules/b.ts": () => import("./modules/b.ts")}); export const ignoreWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": ''} + {"./modules/a.ts": 0,"./modules/b.ts": 0} ); export const ignoreWithObjectValues = Object.values( [() => import("./modules/a.ts"),() => import("./modules/b.ts")] @@ -125,7 +125,7 @@ export const namedEager = /* #__PURE__ */ Object.assign({"./modules/a.ts": __vit }); export const namedEagerWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0 } @@ -140,7 +140,7 @@ export const namedDefault = /* #__PURE__ */ Object.assign({"./modules/a.ts": () }); export const namedDefaultWithObjectKeys = Object.keys( - {"./modules/a.ts": '',"./modules/b.ts": '',"./modules/index.ts": '' + {"./modules/a.ts": 0,"./modules/b.ts": 0,"./modules/index.ts": 0 } );