@devcoffee/nuxt-core 1.0.0
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/README.md +84 -0
- package/dist/module.d.mts +161 -0
- package/dist/module.json +12 -0
- package/dist/module.mjs +76 -0
- package/dist/runtime/app/composables/useLogger.d.ts +5 -0
- package/dist/runtime/app/composables/useLogger.js +4 -0
- package/dist/runtime/app/plugins/logging.d.ts +17 -0
- package/dist/runtime/app/plugins/logging.js +26 -0
- package/dist/runtime/plugin.d.ts +2 -0
- package/dist/runtime/plugin.js +4 -0
- package/dist/runtime/server/composables/useServerLogger.d.ts +6 -0
- package/dist/runtime/server/composables/useServerLogger.js +15 -0
- package/dist/runtime/server/plugins/logging.d.ts +2 -0
- package/dist/runtime/server/plugins/logging.js +7 -0
- package/dist/runtime/server/tsconfig.json +3 -0
- package/dist/runtime/types/global.env.d.ts +39 -0
- package/dist/runtime/types/nitro.d.ts +9 -0
- package/dist/runtime/types/nuxt.d.ts +17 -0
- package/dist/types.d.mts +7 -0
- package/package.json +69 -0
package/README.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Get your module up and running quickly.
|
|
3
|
+
|
|
4
|
+
Find and replace all on all files (CMD+SHIFT+F):
|
|
5
|
+
- Name: My Module
|
|
6
|
+
- Package name: my-module
|
|
7
|
+
- Description: My new Nuxt module
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
# My Module
|
|
11
|
+
|
|
12
|
+
[![npm version][npm-version-src]][npm-version-href]
|
|
13
|
+
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
14
|
+
[![License][license-src]][license-href]
|
|
15
|
+
[![Nuxt][nuxt-src]][nuxt-href]
|
|
16
|
+
|
|
17
|
+
My new Nuxt module for doing amazing things.
|
|
18
|
+
|
|
19
|
+
- [✨ Release Notes](/CHANGELOG.md)
|
|
20
|
+
<!-- - [🏀 Online playground](https://stackblitz.com/github/your-org/my-module?file=playground%2Fapp.vue) -->
|
|
21
|
+
<!-- - [📖 Documentation](https://example.com) -->
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
|
|
25
|
+
<!-- Highlight some of the features your module provide here -->
|
|
26
|
+
- ⛰ Foo
|
|
27
|
+
- 🚠 Bar
|
|
28
|
+
- 🌲 Baz
|
|
29
|
+
|
|
30
|
+
## Quick Setup
|
|
31
|
+
|
|
32
|
+
Install the module to your Nuxt application with one command:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx nuxi module add my-module
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
That's it! You can now use My Module in your Nuxt app ✨
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Contribution
|
|
42
|
+
|
|
43
|
+
<details>
|
|
44
|
+
<summary>Local development</summary>
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Install dependencies
|
|
48
|
+
npm install
|
|
49
|
+
|
|
50
|
+
# Generate type stubs
|
|
51
|
+
npm run dev:prepare
|
|
52
|
+
|
|
53
|
+
# Develop with the playground
|
|
54
|
+
npm run dev
|
|
55
|
+
|
|
56
|
+
# Build the playground
|
|
57
|
+
npm run dev:build
|
|
58
|
+
|
|
59
|
+
# Run ESLint
|
|
60
|
+
npm run lint
|
|
61
|
+
|
|
62
|
+
# Run Vitest
|
|
63
|
+
npm run test
|
|
64
|
+
npm run test:watch
|
|
65
|
+
|
|
66
|
+
# Release new version
|
|
67
|
+
npm run release
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
</details>
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
<!-- Badges -->
|
|
74
|
+
[npm-version-src]: https://img.shields.io/npm/v/my-module/latest.svg?style=flat&colorA=020420&colorB=00DC82
|
|
75
|
+
[npm-version-href]: https://npmjs.com/package/my-module
|
|
76
|
+
|
|
77
|
+
[npm-downloads-src]: https://img.shields.io/npm/dm/my-module.svg?style=flat&colorA=020420&colorB=00DC82
|
|
78
|
+
[npm-downloads-href]: https://npm.chart.dev/my-module
|
|
79
|
+
|
|
80
|
+
[license-src]: https://img.shields.io/npm/l/my-module.svg?style=flat&colorA=020420&colorB=00DC82
|
|
81
|
+
[license-href]: https://npmjs.com/package/my-module
|
|
82
|
+
|
|
83
|
+
[nuxt-src]: https://img.shields.io/badge/Nuxt-020420?logo=nuxt.js
|
|
84
|
+
[nuxt-href]: https://nuxt.com
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
|
+
import { LogLevel, ConsolaOptions } from 'consola';
|
|
3
|
+
|
|
4
|
+
type LoggingOptions = {
|
|
5
|
+
tag: string;
|
|
6
|
+
level: LogLevel;
|
|
7
|
+
} & DeepPartial<Pick<ConsolaOptions, 'throttle' | 'throttleMin' | 'formatOptions'>>;
|
|
8
|
+
type ModuleOptions = {
|
|
9
|
+
logging: {
|
|
10
|
+
server: LoggingOptions;
|
|
11
|
+
ssr: LoggingOptions;
|
|
12
|
+
client: LoggingOptions;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
declare const configKey: "nuxtCore";
|
|
17
|
+
declare module 'nuxt/schema' {
|
|
18
|
+
interface RuntimeConfig {
|
|
19
|
+
[configKey]: ModuleOptions;
|
|
20
|
+
}
|
|
21
|
+
interface PublicRuntimeConfig {
|
|
22
|
+
[configKey]: {
|
|
23
|
+
logging: ModuleOptions['logging']['client'];
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
declare const _default: _nuxt_schema.NuxtModule<{
|
|
28
|
+
logging?: {
|
|
29
|
+
server?: {
|
|
30
|
+
tag?: string | undefined;
|
|
31
|
+
level?: 0 | 1 | 2 | 3 | 4 | 5 | {
|
|
32
|
+
toString?: {} | undefined;
|
|
33
|
+
toFixed?: {} | undefined;
|
|
34
|
+
toExponential?: {} | undefined;
|
|
35
|
+
toPrecision?: {} | undefined;
|
|
36
|
+
valueOf?: {} | undefined;
|
|
37
|
+
toLocaleString?: {} | undefined;
|
|
38
|
+
} | undefined;
|
|
39
|
+
throttle?: number | undefined;
|
|
40
|
+
throttleMin?: number | undefined;
|
|
41
|
+
formatOptions?: {
|
|
42
|
+
[x: string]: unknown;
|
|
43
|
+
columns?: number | undefined;
|
|
44
|
+
date?: boolean | undefined;
|
|
45
|
+
colors?: boolean | undefined;
|
|
46
|
+
compact?: boolean | number | undefined;
|
|
47
|
+
errorLevel?: number | undefined;
|
|
48
|
+
} | undefined;
|
|
49
|
+
} | undefined;
|
|
50
|
+
ssr?: {
|
|
51
|
+
tag?: string | undefined;
|
|
52
|
+
level?: 0 | 1 | 2 | 3 | 4 | 5 | {
|
|
53
|
+
toString?: {} | undefined;
|
|
54
|
+
toFixed?: {} | undefined;
|
|
55
|
+
toExponential?: {} | undefined;
|
|
56
|
+
toPrecision?: {} | undefined;
|
|
57
|
+
valueOf?: {} | undefined;
|
|
58
|
+
toLocaleString?: {} | undefined;
|
|
59
|
+
} | undefined;
|
|
60
|
+
throttle?: number | undefined;
|
|
61
|
+
throttleMin?: number | undefined;
|
|
62
|
+
formatOptions?: {
|
|
63
|
+
[x: string]: unknown;
|
|
64
|
+
columns?: number | undefined;
|
|
65
|
+
date?: boolean | undefined;
|
|
66
|
+
colors?: boolean | undefined;
|
|
67
|
+
compact?: boolean | number | undefined;
|
|
68
|
+
errorLevel?: number | undefined;
|
|
69
|
+
} | undefined;
|
|
70
|
+
} | undefined;
|
|
71
|
+
client?: {
|
|
72
|
+
tag?: string | undefined;
|
|
73
|
+
level?: 0 | 1 | 2 | 3 | 4 | 5 | {
|
|
74
|
+
toString?: {} | undefined;
|
|
75
|
+
toFixed?: {} | undefined;
|
|
76
|
+
toExponential?: {} | undefined;
|
|
77
|
+
toPrecision?: {} | undefined;
|
|
78
|
+
valueOf?: {} | undefined;
|
|
79
|
+
toLocaleString?: {} | undefined;
|
|
80
|
+
} | undefined;
|
|
81
|
+
throttle?: number | undefined;
|
|
82
|
+
throttleMin?: number | undefined;
|
|
83
|
+
formatOptions?: {
|
|
84
|
+
[x: string]: unknown;
|
|
85
|
+
columns?: number | undefined;
|
|
86
|
+
date?: boolean | undefined;
|
|
87
|
+
colors?: boolean | undefined;
|
|
88
|
+
compact?: boolean | number | undefined;
|
|
89
|
+
errorLevel?: number | undefined;
|
|
90
|
+
} | undefined;
|
|
91
|
+
} | undefined;
|
|
92
|
+
} | undefined;
|
|
93
|
+
}, {
|
|
94
|
+
logging?: {
|
|
95
|
+
server?: {
|
|
96
|
+
tag?: string | undefined;
|
|
97
|
+
level?: 0 | 1 | 2 | 3 | 4 | 5 | {
|
|
98
|
+
toString?: {} | undefined;
|
|
99
|
+
toFixed?: {} | undefined;
|
|
100
|
+
toExponential?: {} | undefined;
|
|
101
|
+
toPrecision?: {} | undefined;
|
|
102
|
+
valueOf?: {} | undefined;
|
|
103
|
+
toLocaleString?: {} | undefined;
|
|
104
|
+
} | undefined;
|
|
105
|
+
throttle?: number | undefined;
|
|
106
|
+
throttleMin?: number | undefined;
|
|
107
|
+
formatOptions?: {
|
|
108
|
+
[x: string]: unknown;
|
|
109
|
+
columns?: number | undefined;
|
|
110
|
+
date?: boolean | undefined;
|
|
111
|
+
colors?: boolean | undefined;
|
|
112
|
+
compact?: boolean | number | undefined;
|
|
113
|
+
errorLevel?: number | undefined;
|
|
114
|
+
} | undefined;
|
|
115
|
+
} | undefined;
|
|
116
|
+
ssr?: {
|
|
117
|
+
tag?: string | undefined;
|
|
118
|
+
level?: 0 | 1 | 2 | 3 | 4 | 5 | {
|
|
119
|
+
toString?: {} | undefined;
|
|
120
|
+
toFixed?: {} | undefined;
|
|
121
|
+
toExponential?: {} | undefined;
|
|
122
|
+
toPrecision?: {} | undefined;
|
|
123
|
+
valueOf?: {} | undefined;
|
|
124
|
+
toLocaleString?: {} | undefined;
|
|
125
|
+
} | undefined;
|
|
126
|
+
throttle?: number | undefined;
|
|
127
|
+
throttleMin?: number | undefined;
|
|
128
|
+
formatOptions?: {
|
|
129
|
+
[x: string]: unknown;
|
|
130
|
+
columns?: number | undefined;
|
|
131
|
+
date?: boolean | undefined;
|
|
132
|
+
colors?: boolean | undefined;
|
|
133
|
+
compact?: boolean | number | undefined;
|
|
134
|
+
errorLevel?: number | undefined;
|
|
135
|
+
} | undefined;
|
|
136
|
+
} | undefined;
|
|
137
|
+
client?: {
|
|
138
|
+
tag?: string | undefined;
|
|
139
|
+
level?: 0 | 1 | 2 | 3 | 4 | 5 | {
|
|
140
|
+
toString?: {} | undefined;
|
|
141
|
+
toFixed?: {} | undefined;
|
|
142
|
+
toExponential?: {} | undefined;
|
|
143
|
+
toPrecision?: {} | undefined;
|
|
144
|
+
valueOf?: {} | undefined;
|
|
145
|
+
toLocaleString?: {} | undefined;
|
|
146
|
+
} | undefined;
|
|
147
|
+
throttle?: number | undefined;
|
|
148
|
+
throttleMin?: number | undefined;
|
|
149
|
+
formatOptions?: {
|
|
150
|
+
[x: string]: unknown;
|
|
151
|
+
columns?: number | undefined;
|
|
152
|
+
date?: boolean | undefined;
|
|
153
|
+
colors?: boolean | undefined;
|
|
154
|
+
compact?: boolean | number | undefined;
|
|
155
|
+
errorLevel?: number | undefined;
|
|
156
|
+
} | undefined;
|
|
157
|
+
} | undefined;
|
|
158
|
+
} | undefined;
|
|
159
|
+
}, false>;
|
|
160
|
+
|
|
161
|
+
export { _default as default };
|
package/dist/module.json
ADDED
package/dist/module.mjs
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { useLogger, defineNuxtModule, createResolver, addServerImportsDir, addServerPlugin, addImportsDir, addPlugin } from '@nuxt/kit';
|
|
2
|
+
import { merge } from 'lodash-es';
|
|
3
|
+
|
|
4
|
+
const version = "1.0.0";
|
|
5
|
+
|
|
6
|
+
const defaultModuleOptions = {
|
|
7
|
+
logging: {
|
|
8
|
+
server: {
|
|
9
|
+
tag: "server",
|
|
10
|
+
level: 2
|
|
11
|
+
},
|
|
12
|
+
ssr: {
|
|
13
|
+
tag: "app-ssr",
|
|
14
|
+
level: 2
|
|
15
|
+
},
|
|
16
|
+
client: {
|
|
17
|
+
tag: "app-client",
|
|
18
|
+
level: 2
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
function normalizedModuleOptions(...inputOpts) {
|
|
23
|
+
return merge({}, defaultModuleOptions, ...inputOpts);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const moduleName = "nuxt-core";
|
|
27
|
+
const configKey = "nuxtCore";
|
|
28
|
+
const logger = useLogger(moduleName);
|
|
29
|
+
const module = defineNuxtModule({
|
|
30
|
+
meta: {
|
|
31
|
+
name: moduleName,
|
|
32
|
+
version,
|
|
33
|
+
configKey,
|
|
34
|
+
compatibility: {
|
|
35
|
+
nuxt: "^4.0.0"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
// Default configuration options of the Nuxt module
|
|
39
|
+
defaults: {},
|
|
40
|
+
setup(_options, _nuxt) {
|
|
41
|
+
const resolver = createResolver(import.meta.url);
|
|
42
|
+
let normalizedRuntimeConfig = _nuxt.options.runtimeConfig || {};
|
|
43
|
+
const normalizedOptions = normalizedModuleOptions(_options, normalizedRuntimeConfig[configKey] || {});
|
|
44
|
+
normalizedRuntimeConfig = merge(normalizedRuntimeConfig, {
|
|
45
|
+
[configKey]: normalizedOptions,
|
|
46
|
+
public: {
|
|
47
|
+
[configKey]: merge({}, { logging: normalizedOptions.logging.client })
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
_nuxt.options.runtimeConfig = normalizedRuntimeConfig;
|
|
51
|
+
const sharedAlias = {};
|
|
52
|
+
_nuxt.options.alias = merge(_nuxt.options.alias, sharedAlias);
|
|
53
|
+
_nuxt.options.typescript = merge(_nuxt.options.typescript, {
|
|
54
|
+
tsConfig: { compilerOptions: { types: [] } }
|
|
55
|
+
});
|
|
56
|
+
addServerImportsDir(resolver.resolve("./runtime/server/composables"));
|
|
57
|
+
addServerPlugin(resolver.resolve("./runtime/server/plugins/logging"));
|
|
58
|
+
addImportsDir(resolver.resolve("./runtime/app/composables"));
|
|
59
|
+
addPlugin({
|
|
60
|
+
mode: "all",
|
|
61
|
+
name: "devcoffee-nuxt-core-logging",
|
|
62
|
+
src: resolver.resolve("./runtime/app/plugins/logging.ts")
|
|
63
|
+
});
|
|
64
|
+
_nuxt.hook("nitro:prepare:types", (opts) => {
|
|
65
|
+
opts.references.push({ path: resolver.resolve("./runtime/types/global.env.d.ts") });
|
|
66
|
+
opts.references.push({ path: resolver.resolve("./runtime/types/nitro.d.ts") });
|
|
67
|
+
});
|
|
68
|
+
_nuxt.hook("prepare:types", (opts) => {
|
|
69
|
+
opts.references.push({ path: resolver.resolve("./runtime/types/global.env.d.ts") });
|
|
70
|
+
opts.references.push({ path: resolver.resolve("./runtime/types/nuxt.d.ts") });
|
|
71
|
+
});
|
|
72
|
+
logger.success("`%s` setup finished", moduleName);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
export { module as default };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ConsolaInstance, type LogLevel } from 'consola';
|
|
2
|
+
declare const _default: import("#app").Plugin<{
|
|
3
|
+
logging: {
|
|
4
|
+
getLogger: (opts?: {
|
|
5
|
+
tag?: string;
|
|
6
|
+
level?: LogLevel;
|
|
7
|
+
}) => ConsolaInstance;
|
|
8
|
+
};
|
|
9
|
+
}> & import("#app").ObjectPlugin<{
|
|
10
|
+
logging: {
|
|
11
|
+
getLogger: (opts?: {
|
|
12
|
+
tag?: string;
|
|
13
|
+
level?: LogLevel;
|
|
14
|
+
}) => ConsolaInstance;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { reactive } from "vue";
|
|
2
|
+
import { defineNuxtPlugin, useRequestEvent, useRuntimeConfig } from "#app";
|
|
3
|
+
import { consola } from "consola";
|
|
4
|
+
function initLogger() {
|
|
5
|
+
let config;
|
|
6
|
+
if (import.meta.server) {
|
|
7
|
+
config = useRuntimeConfig(useRequestEvent()).nuxtCore.logging.ssr;
|
|
8
|
+
} else {
|
|
9
|
+
config = useRuntimeConfig().public.nuxtCore.logging;
|
|
10
|
+
console.log("Initializing logger with tag:", config);
|
|
11
|
+
}
|
|
12
|
+
const { tag = "app", ...opts } = config;
|
|
13
|
+
return consola.create(opts).withTag(tag);
|
|
14
|
+
}
|
|
15
|
+
export default defineNuxtPlugin(async (_nuxtApp) => {
|
|
16
|
+
const logger = reactive(initLogger());
|
|
17
|
+
function getLogger(opts) {
|
|
18
|
+
const { tag, level } = opts || {};
|
|
19
|
+
let _logger = logger;
|
|
20
|
+
if (level != void 0) {
|
|
21
|
+
_logger = _logger.create({ level });
|
|
22
|
+
}
|
|
23
|
+
return tag != void 0 ? _logger.withTag(tag) : _logger;
|
|
24
|
+
}
|
|
25
|
+
return { provide: { logging: { getLogger } } };
|
|
26
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { consola } from "consola";
|
|
2
|
+
import { useRuntimeConfig } from "nitropack/runtime";
|
|
3
|
+
let globalServerLogger;
|
|
4
|
+
export default function useServerLogger(event, opts) {
|
|
5
|
+
if (!globalServerLogger) {
|
|
6
|
+
const { tag: tag2, ...opts2 } = useRuntimeConfig(event).nuxtCore.logging.server;
|
|
7
|
+
globalServerLogger = consola.create(opts2).withTag(tag2);
|
|
8
|
+
}
|
|
9
|
+
const { tag, level } = opts || {};
|
|
10
|
+
let _logger = globalServerLogger;
|
|
11
|
+
if (level != void 0) {
|
|
12
|
+
_logger = _logger.create({ level });
|
|
13
|
+
}
|
|
14
|
+
return tag != void 0 ? _logger.withTag(tag) : _logger;
|
|
15
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { defineNitroPlugin } from "nitropack/runtime";
|
|
2
|
+
import useServerLogger from "../composables/useServerLogger.js";
|
|
3
|
+
export default defineNitroPlugin((nitroApp) => {
|
|
4
|
+
nitroApp.hooks.hook("request", async (event) => {
|
|
5
|
+
event.context.logger = useServerLogger(event);
|
|
6
|
+
});
|
|
7
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
type GenericType<T = any, K extends string = string> = Record<K, T>
|
|
3
|
+
|
|
4
|
+
type Nullable<T> = T | null
|
|
5
|
+
|
|
6
|
+
type Concrete<Type> = {
|
|
7
|
+
[Property in keyof Type]-?: Type[Property]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
type DeepPartial<T> = T extends object
|
|
11
|
+
? {
|
|
12
|
+
[P in keyof T]?: DeepPartial<T[P]>
|
|
13
|
+
}
|
|
14
|
+
: T
|
|
15
|
+
|
|
16
|
+
type DeepReadonly<T> = T extends (infer R)[]
|
|
17
|
+
? ReadonlyArray<DeepReadonly<R>>
|
|
18
|
+
: T extends (...args: any[]) => any
|
|
19
|
+
? T // Functions are not frozen, but their properties are
|
|
20
|
+
: T extends object
|
|
21
|
+
? { readonly [P in keyof T]: DeepReadonly<T[P]> }
|
|
22
|
+
: T
|
|
23
|
+
|
|
24
|
+
type UnionKeyOf<T1, T2> = Array<Partial<keyof T1> & Partial<keyof T2>>
|
|
25
|
+
|
|
26
|
+
type WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] }
|
|
27
|
+
|
|
28
|
+
type ElementType<T extends ReadonlyArray<unknown>> = T extends ReadonlyArray<infer ElementType> ? ElementType : never
|
|
29
|
+
|
|
30
|
+
type IteratorKeys<T extends Readonly<Array<string>>> = T[number]
|
|
31
|
+
|
|
32
|
+
type Distinct<T, DistinctName> = T & { __TYPE__: DistinctName }
|
|
33
|
+
|
|
34
|
+
type MayBeDate = Date | string | number
|
|
35
|
+
|
|
36
|
+
type Awaitable<T> = T | Promise<T>
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export {}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ConsolaInstance } from 'consola'
|
|
2
|
+
|
|
3
|
+
type NuxtCoreLogging = {
|
|
4
|
+
getLogger: (opts?: { tag?: string; level?: LogLevel }) => ConsolaInstance
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
declare module 'vue' {
|
|
8
|
+
interface ComponentCustomProperties {
|
|
9
|
+
$logging: NuxtCoreLogging
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare module '#app' {
|
|
14
|
+
interface NuxtApp {
|
|
15
|
+
$logging: NuxtCoreLogging
|
|
16
|
+
}
|
|
17
|
+
}
|
package/dist/types.d.mts
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@devcoffee/nuxt-core",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"author": "Hieu Nguyen <hieunguyen@devcoffee.tech>",
|
|
8
|
+
"description": "devcoffee core module for Nuxt",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"type": "module",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/types.d.mts",
|
|
14
|
+
"import": "./dist/module.mjs"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"main": "./dist/module.mjs",
|
|
18
|
+
"typesVersions": {
|
|
19
|
+
"*": {
|
|
20
|
+
".": [
|
|
21
|
+
"./dist/types.d.mts"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"dist"
|
|
27
|
+
],
|
|
28
|
+
"nuxt": {
|
|
29
|
+
"module": "src/module.ts"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"dev": "npm run dev:prepare && nuxi dev playground",
|
|
33
|
+
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
|
|
34
|
+
"dev:build": "nuxi build playground",
|
|
35
|
+
"prepack": "nuxt-module-build build",
|
|
36
|
+
"release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags",
|
|
37
|
+
"lint": "eslint .",
|
|
38
|
+
"test": "vitest run",
|
|
39
|
+
"test:watch": "vitest watch",
|
|
40
|
+
"test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@nuxt/kit": "^4.1.3",
|
|
44
|
+
"consola": "^3.4.2",
|
|
45
|
+
"lodash-es": "^4.17.21"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
|
|
49
|
+
"@nuxt/devtools": "^2.6.5",
|
|
50
|
+
"@nuxt/eslint": "^1.9.0",
|
|
51
|
+
"@nuxt/eslint-config": "^1.9.0",
|
|
52
|
+
"@nuxt/module-builder": "^1.0.2",
|
|
53
|
+
"@nuxt/schema": "^4.1.3",
|
|
54
|
+
"@nuxt/test-utils": "^3.19.2",
|
|
55
|
+
"@types/lodash-es": "^4.17.12",
|
|
56
|
+
"@types/node": "latest",
|
|
57
|
+
"changelogen": "^0.6.2",
|
|
58
|
+
"cross-env": "^10.1.0",
|
|
59
|
+
"devcoffee-global-types": "^1.0.0",
|
|
60
|
+
"eslint": "^9.37.0",
|
|
61
|
+
"eslint-config-prettier": "^10.1.8",
|
|
62
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
63
|
+
"nuxt": "^4.1.3",
|
|
64
|
+
"prettier": "^3.6.2",
|
|
65
|
+
"typescript": "~5.9.3",
|
|
66
|
+
"vitest": "^3.2.4",
|
|
67
|
+
"vue-tsc": "^3.1.0"
|
|
68
|
+
}
|
|
69
|
+
}
|