From: Haoqun Jiang Date: Tue, 26 Dec 2023 07:07:33 +0000 (+0800) Subject: feat: use package.json imports instead of `@` as alias to `src` X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46791d715e53f7e442e0c34f5e922d63dbe77f9a;p=thirdparty%2Fvuejs%2Fcreate-vue.git feat: use package.json imports instead of `@` as alias to `src` See reasons at https://github.com/epicweb-dev/epic-stack/blob/main/docs/decisions/031-imports.md and https://github.com/vuejs/core/issues/9919 Pending https://github.com/vuejs/core/issues/9919 to be fixed Pending https://github.com/microsoft/TypeScript/pull/55015 to be released --- diff --git a/template/base/jsconfig.json b/template/base/jsconfig.json index 5a1f2d22..b5f03929 100644 --- a/template/base/jsconfig.json +++ b/template/base/jsconfig.json @@ -1,6 +1,9 @@ { "compilerOptions": { "paths": { + // TODO: no longer needed after TS 5.4 + "#src/*": ["./src/*"], + // Deprecated, use `#src` instead (configured in `package.json` `imports` field) "@/*": ["./src/*"] } }, diff --git a/template/base/package.json b/template/base/package.json index 57c2b86a..c05f39ba 100644 --- a/template/base/package.json +++ b/template/base/package.json @@ -1,6 +1,9 @@ { "private": true, "type": "module", + "imports": { + "#src/": "./src/" + }, "scripts": { "dev": "vite", "build": "vite build", diff --git a/template/base/vite.config.js.ejs b/template/base/vite.config.js.ejs index c3e65d21..a04ed073 100644 --- a/template/base/vite.config.js.ejs +++ b/template/base/vite.config.js.ejs @@ -14,6 +14,7 @@ export default defineConfig({ ], resolve: { alias: { + // Deprecated, use `#src` instead (configured in `package.json` `imports` field) '@': fileURLToPath(new URL('./src', import.meta.url)) } } diff --git a/template/code/router/src/App.vue b/template/code/router/src/App.vue index e8641950..719e4d99 100644 --- a/template/code/router/src/App.vue +++ b/template/code/router/src/App.vue @@ -5,7 +5,7 @@ import HelloWorld from './components/HelloWorld.vue'