@dword-design/base-config-nuxt 5.0.0 → 5.0.2

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/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { globby } from 'globby';
7
7
  import { createRequire } from 'module';
8
8
  import outputFiles from 'output-files';
9
9
  import P from 'path';
10
+ import { fileURLToPath } from 'url';
10
11
  import analyze from "./analyze.js";
11
12
  import depcheckSpecial from "./depcheck-special.js";
12
13
  import dev from "./dev.js";
@@ -14,7 +15,9 @@ import eslintConfig from "./eslint.config.js";
14
15
  import lint from "./lint.js";
15
16
  import prepublishOnly from "./prepublish-only.js";
16
17
  import start from "./start.js";
18
+ const __dirname = P.dirname(fileURLToPath(import.meta.url));
17
19
  const _require = createRequire(import.meta.url);
20
+ const isInNodeModules = __dirname.split(P.sep).includes('node_modules');
18
21
  export default {
19
22
  allowedMatches: ['.stylelintrc.json', 'server/api/**/*.js', 'server/middleware/**/*.js', 'assets', 'components', 'content', 'i18n', 'layouts', 'middleware', 'model', 'modules', 'config.js', 'pages', 'plugins', 'public', 'store', 'types'],
20
23
  commands: {
@@ -40,14 +43,14 @@ export default {
40
43
  main: 'dist/index.js'
41
44
  },
42
45
  prepare: async () => {
43
- const configPath = `./${P.relative(process.cwd(), _require.resolve('./config.js')).split(P.sep).join('/')}`;
44
- const parentConfigPath = `./${P.relative(process.cwd(), _require.resolve('./nuxt.config.js')).split(P.sep).join('/')}`;
46
+ const configPath = isInNodeModules ? '@dword-design/base-config-nuxt/config' : `./${P.relative(process.cwd(), _require.resolve('./config.js')).split(P.sep).join('/')}`;
47
+ const parentConfigPath = isInNodeModules ? '@dword-design/base-config-nuxt/nuxt.config' : `./${P.relative(process.cwd(), _require.resolve('./nuxt.config.js')).split(P.sep).join('/')}`;
45
48
  const translations = await globby('i18n/*.json');
46
49
  const hasI18n = translations.length > 0;
47
50
  await outputFiles({
48
- '.stylelintrc.json': JSON.stringify({
51
+ '.stylelintrc.json': `${JSON.stringify({
49
52
  extends: packageName`@dword-design/stylelint-config`
50
- }, undefined, 2),
53
+ }, undefined, 2)}\n`,
51
54
  'app.vue': endent`
52
55
  <template>
53
56
  <NuxtLayout>
@@ -69,15 +72,14 @@ export default {
69
72
  meta: i18nHead.value.meta,
70
73
  `] : []), "titleTemplate: title => title ? `${title} | ${runtimeConfig.public.name}` : `${runtimeConfig.public.name}${runtimeConfig.public.title ? `: ${runtimeConfig.public.title}` : ''}`"].join('\n')}
71
74
  })
72
- </script>
75
+ </script>\n
73
76
  `,
74
77
  'nuxt.config.js': javascript`
78
+ import deepmerge from '${packageName`deepmerge`}'
75
79
  import config from '${configPath}'
80
+ import parentConfig from '${parentConfigPath}'
76
81
 
77
- export default {
78
- extends: '${parentConfigPath}',
79
- ...config,
80
- }
82
+ export default deepmerge(parentConfig, config)\n
81
83
  `
82
84
  });
83
85
  },
@@ -1,10 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import dotenv from '@dword-design/dotenv-json-extended';
3
3
  import { execa } from 'execa';
4
+ const args = process.argv.slice(2);
4
5
  dotenv.config();
5
- execa('nuxt', process.argv.slice(2), {
6
- env: {
7
- NODE_ENV: ''
8
- },
6
+ execa('nuxt', args, {
7
+ ...(args[0] === 'dev' ? {
8
+ env: {
9
+ NODE_ENV: 'development'
10
+ }
11
+ } : {}),
9
12
  stdio: 'inherit'
10
13
  });
@@ -6,7 +6,7 @@ import packageName from 'depcheck-package-name';
6
6
  import vueSfcDescriptorToString from 'vue-sfc-descriptor-to-string';
7
7
  import config from "./config.js";
8
8
  // import expressModule from './modules/express/index.js'
9
- import i18nModule from "./modules/i18n/index.js";
9
+ import i18nModule from "./modules/i18n.js";
10
10
  import localeLinkModule from "./modules/locale-link/index.js";
11
11
  import svgModule from "./modules/svg.js";
12
12
  const isBasicAuthEnabled = process.env.BASIC_AUTH_USER && process.env.BASIC_AUTH_PASSWORD;
@@ -27,7 +27,7 @@ export default {
27
27
  }] : [])]
28
28
  }
29
29
  },
30
- modules: [(otpoins, nuxt) => {
30
+ modules: [(options, nuxt) => {
31
31
  if (!config.userScalable) {
32
32
  const viewportMeta = nuxt.options.app.head.meta.find(meta => meta.name === 'viewport');
33
33
  viewportMeta.content += ', user-scalable=0';
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@dword-design/base-config-nuxt",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "repository": "dword-design/base-config-nuxt",
5
5
  "funding": "https://github.com/sponsors/dword-design",
6
6
  "license": "MIT",
7
7
  "author": "Sebastian Landwehr <info@sebastianlandwehr.com>",
8
8
  "type": "module",
9
- "exports": "./dist/index.js",
9
+ "exports": {
10
+ ".": "./dist/index.js",
11
+ "./config": "./dist/config.js",
12
+ "./nuxt.config": "./dist/nuxt.config.js"
13
+ },
10
14
  "main": "dist/index.js",
11
15
  "files": [
12
16
  "dist"
@@ -35,6 +39,7 @@
35
39
  "@rollup/plugin-babel": "^6.0.3",
36
40
  "@vitejs/plugin-vue": "^4.2.3",
37
41
  "@vue/compiler-sfc": "^3.3.4",
42
+ "deepmerge": "^4.3.1",
38
43
  "depcheck-package-name": "^3.0.0",
39
44
  "depcheck-parser-vue": "^4.0.7",
40
45
  "execa": "^7.1.1",
File without changes