@dynect/base 0.19.2 → 0.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/module.ts +15 -13
package/package.json
CHANGED
package/src/module.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { addComponentsDir, addImports, addImportsDir, addPlugin, createResolver, defineNuxtModule, installModule } from '@nuxt/kit';
|
|
1
|
+
import { addComponentsDir, addImports, addImportsDir, addPlugin, createResolver, defineNuxtModule, installModule, resolvePath } from '@nuxt/kit';
|
|
2
2
|
import type { NuxtModule } from '@nuxt/schema';
|
|
3
3
|
import tailwindcss from '@tailwindcss/vite';
|
|
4
4
|
import { defu } from 'defu';
|
|
5
5
|
import { existsSync } from 'node:fs';
|
|
6
|
-
import { createRequire } from 'node:module';
|
|
7
6
|
import { join } from 'node:path';
|
|
7
|
+
import { fileURLToPath } from 'node:url';
|
|
8
8
|
|
|
9
|
-
//
|
|
10
|
-
// not
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
// Directory of this file — used to resolve sub-modules from @dynect/base's own
|
|
10
|
+
// node_modules (not the consuming app's). resolvePath uses mlly which handles
|
|
11
|
+
// ESM packages with "exports" field, unlike require.resolve which does not.
|
|
12
|
+
const moduleDir = fileURLToPath(new URL('.', import.meta.url));
|
|
13
|
+
|
|
14
|
+
async function resolveModule(id: string): Promise<string> {
|
|
15
|
+
return resolvePath(id, { cwd: moduleDir });
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
export interface DynectBaseOptions {
|
|
@@ -137,7 +139,7 @@ export default defineNuxtModule<DynectBaseOptions>({
|
|
|
137
139
|
// ── Install required Nuxt modules ────────────────────────────────────────
|
|
138
140
|
if (options.shadcn !== false) {
|
|
139
141
|
const shadcnComponentDir = isStandalone ? join(runtimeComponentsDir, 'ui') : '~/components/ui';
|
|
140
|
-
const { default: shadcnNuxt } = await import(resolveModule('shadcn-nuxt')) as { default: NuxtModule };
|
|
142
|
+
const { default: shadcnNuxt } = await import(await resolveModule('shadcn-nuxt')) as { default: NuxtModule };
|
|
141
143
|
await installModule(shadcnNuxt, {
|
|
142
144
|
prefix: '',
|
|
143
145
|
componentDir: shadcnComponentDir,
|
|
@@ -146,12 +148,12 @@ export default defineNuxtModule<DynectBaseOptions>({
|
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
if (options.veeValidate !== false) {
|
|
149
|
-
const { default: veeValidateNuxt } = await import(resolveModule('@vee-validate/nuxt')) as { default: NuxtModule };
|
|
151
|
+
const { default: veeValidateNuxt } = await import(await resolveModule('@vee-validate/nuxt')) as { default: NuxtModule };
|
|
150
152
|
await installModule(veeValidateNuxt, options.veeValidate ?? {});
|
|
151
153
|
}
|
|
152
154
|
|
|
153
155
|
if (options.colorMode !== false) {
|
|
154
|
-
const { default: colorMode } = await import(resolveModule('@nuxtjs/color-mode')) as { default: NuxtModule };
|
|
156
|
+
const { default: colorMode } = await import(await resolveModule('@nuxtjs/color-mode')) as { default: NuxtModule };
|
|
155
157
|
await installModule(colorMode, {
|
|
156
158
|
preference: 'system',
|
|
157
159
|
fallback: 'light',
|
|
@@ -165,7 +167,7 @@ export default defineNuxtModule<DynectBaseOptions>({
|
|
|
165
167
|
|
|
166
168
|
if (options.i18n !== false) {
|
|
167
169
|
const langDir = isStandalone ? resolver.resolve('./runtime/assets/lang') : resolver.resolve('../../../app/assets/lang');
|
|
168
|
-
const { default: i18n } = await import(resolveModule('@nuxtjs/i18n')) as { default: NuxtModule };
|
|
170
|
+
const { default: i18n } = await import(await resolveModule('@nuxtjs/i18n')) as { default: NuxtModule };
|
|
169
171
|
await installModule(i18n, {
|
|
170
172
|
locales: [
|
|
171
173
|
{ code: 'en', iso: 'en_US', file: 'en.json', name: 'English' },
|
|
@@ -186,7 +188,7 @@ export default defineNuxtModule<DynectBaseOptions>({
|
|
|
186
188
|
}
|
|
187
189
|
|
|
188
190
|
if (options.icon !== false) {
|
|
189
|
-
const { default: icon } = await import(resolveModule('@nuxt/icon')) as { default: NuxtModule };
|
|
191
|
+
const { default: icon } = await import(await resolveModule('@nuxt/icon')) as { default: NuxtModule };
|
|
190
192
|
await installModule(icon, {
|
|
191
193
|
provider: 'server',
|
|
192
194
|
mode: 'svg',
|
|
@@ -198,7 +200,7 @@ export default defineNuxtModule<DynectBaseOptions>({
|
|
|
198
200
|
});
|
|
199
201
|
}
|
|
200
202
|
|
|
201
|
-
const { default: pinia } = await import(resolveModule('@pinia/nuxt')) as { default: NuxtModule };
|
|
203
|
+
const { default: pinia } = await import(await resolveModule('@pinia/nuxt')) as { default: NuxtModule };
|
|
202
204
|
await installModule(pinia);
|
|
203
205
|
|
|
204
206
|
// ── CJS dependency pre-bundling ──────────────────────────────────────────
|