@wuchale/vite-plugin 0.13.1 → 0.14.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 +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +18 -34
- package/package.json +2 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `@wuchale/vite-plugin`
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@wuchale/vite-plugin) 
|
|
3
|
+
[](https://www.npmjs.com/package/@wuchale/vite-plugin) 
|
|
4
4
|
|
|
5
5
|
The official Vite plugin for `wuchale`.
|
|
6
6
|
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,9 @@ declare class Plugin {
|
|
|
26
26
|
load: (id: string) => string;
|
|
27
27
|
transform: {
|
|
28
28
|
order: "pre";
|
|
29
|
-
handler: (code: string, id: string
|
|
29
|
+
handler: (code: string, id: string, options: {
|
|
30
|
+
ssr?: boolean;
|
|
31
|
+
}) => Promise<{
|
|
30
32
|
code?: string;
|
|
31
33
|
map?: any;
|
|
32
34
|
}>;
|
|
@@ -34,4 +36,3 @@ declare class Plugin {
|
|
|
34
36
|
}
|
|
35
37
|
export declare const wuchale: (configPath?: string) => Plugin;
|
|
36
38
|
export {};
|
|
37
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// $$ cd ../.. && npm run test
|
|
2
2
|
import { relative, resolve } from "node:path";
|
|
3
3
|
import { getConfig as getConfig, Logger, AdapterHandler } from "wuchale";
|
|
4
|
-
import { catalogVarName } from "wuchale/runtime";
|
|
5
4
|
const pluginName = 'wuchale';
|
|
6
5
|
const virtualPrefix = `virtual:${pluginName}/`;
|
|
7
6
|
const virtualResolvedPrefix = '\0';
|
|
@@ -10,7 +9,6 @@ class Plugin {
|
|
|
10
9
|
#config;
|
|
11
10
|
#locales = [];
|
|
12
11
|
#projectRoot = '';
|
|
13
|
-
#mode;
|
|
14
12
|
#adapters = {};
|
|
15
13
|
#adaptersByLoaderPath = {};
|
|
16
14
|
#adaptersByCatalogPath = {};
|
|
@@ -25,7 +23,6 @@ class Plugin {
|
|
|
25
23
|
this.#config = await getConfig(this.#configPath);
|
|
26
24
|
this.#locales = [this.#config.sourceLocale, ...this.#config.otherLocales];
|
|
27
25
|
this.#log = new Logger(this.#config.messages);
|
|
28
|
-
this.#mode = mode;
|
|
29
26
|
if (Object.keys(this.#config.adapters).length === 0) {
|
|
30
27
|
throw Error('At least one adapter is needed.');
|
|
31
28
|
}
|
|
@@ -34,15 +31,22 @@ class Plugin {
|
|
|
34
31
|
const handler = new AdapterHandler(adapter, key, this.#config, mode, virtualPrefix, this.#projectRoot, this.#log);
|
|
35
32
|
await handler.init(sharedState);
|
|
36
33
|
this.#adapters[key] = handler;
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
for (const path of Object.values(handler.loaderPath)) {
|
|
35
|
+
const loaderPath = resolve(path);
|
|
36
|
+
if (loaderPath in this.#adaptersByLoaderPath) {
|
|
37
|
+
const otherKey = this.#adaptersByLoaderPath[loaderPath].key;
|
|
38
|
+
if (otherKey === key) {
|
|
39
|
+
// same loader for both ssr and client, no problem
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
throw new Error([
|
|
43
|
+
'While catalogs can be shared, the same loader cannot be used by multiple adapters',
|
|
44
|
+
`Conflicting: ${key} and ${otherKey}`,
|
|
45
|
+
'Specify a different loaderPath for one of them.'
|
|
46
|
+
].join('\n'));
|
|
47
|
+
}
|
|
48
|
+
this.#adaptersByLoaderPath[loaderPath] = handler;
|
|
44
49
|
}
|
|
45
|
-
this.#adaptersByLoaderPath[loaderPath] = handler;
|
|
46
50
|
for (const fname of Object.keys(handler.catalogPathsToLocales)) {
|
|
47
51
|
this.#adaptersByCatalogPath[fname] ??= [];
|
|
48
52
|
this.#adaptersByCatalogPath[fname].push(handler);
|
|
@@ -60,25 +64,6 @@ class Plugin {
|
|
|
60
64
|
this.#projectRoot = config.root;
|
|
61
65
|
await this.#init(mode);
|
|
62
66
|
};
|
|
63
|
-
#loadCatalog(adapter, locale, loadID) {
|
|
64
|
-
const module = adapter.loadDataModule(locale, loadID);
|
|
65
|
-
if (this.#mode !== 'dev') {
|
|
66
|
-
return module;
|
|
67
|
-
}
|
|
68
|
-
return `
|
|
69
|
-
${module}
|
|
70
|
-
let latestVersion = ${this.#hmrVersion}
|
|
71
|
-
export function update({ version, data }) {
|
|
72
|
-
if (latestVersion >= version) {
|
|
73
|
-
return
|
|
74
|
-
}
|
|
75
|
-
for (const [ index, item ] of data['${locale}'] ?? []) {
|
|
76
|
-
${catalogVarName}[index] = item
|
|
77
|
-
}
|
|
78
|
-
latestVersion = version
|
|
79
|
-
}
|
|
80
|
-
`;
|
|
81
|
-
}
|
|
82
67
|
handleHotUpdate = async (ctx) => {
|
|
83
68
|
if (!(ctx.file in this.#adaptersByCatalogPath)) {
|
|
84
69
|
this.#hmrVersion++;
|
|
@@ -124,7 +109,7 @@ class Plugin {
|
|
|
124
109
|
this.#log.error(`Adapter not found for key: ${adapterKey}`);
|
|
125
110
|
return null;
|
|
126
111
|
}
|
|
127
|
-
return
|
|
112
|
+
return adapter.loadCatalogModule(locale, loadID, this.#hmrVersion);
|
|
128
113
|
}
|
|
129
114
|
if (part === 'locales') {
|
|
130
115
|
return `export const locales = ['${this.#locales.join("', '")}']`;
|
|
@@ -144,14 +129,14 @@ class Plugin {
|
|
|
144
129
|
}
|
|
145
130
|
return adapter.getProxy();
|
|
146
131
|
};
|
|
147
|
-
#transformHandler = async (code, id) => {
|
|
132
|
+
#transformHandler = async (code, id, options) => {
|
|
148
133
|
if (!this.#config.hmr) {
|
|
149
134
|
return {};
|
|
150
135
|
}
|
|
151
136
|
const filename = relative(this.#projectRoot, id);
|
|
152
137
|
for (const adapter of Object.values(this.#adapters)) {
|
|
153
138
|
if (adapter.fileMatches(filename)) {
|
|
154
|
-
return await adapter.transform(code, filename, this.#hmrVersion);
|
|
139
|
+
return await adapter.transform(code, filename, this.#hmrVersion, options.ssr);
|
|
155
140
|
}
|
|
156
141
|
}
|
|
157
142
|
return {};
|
|
@@ -159,4 +144,3 @@ class Plugin {
|
|
|
159
144
|
transform = { order: 'pre', handler: this.#transformHandler };
|
|
160
145
|
}
|
|
161
146
|
export const wuchale = (configPath) => new Plugin(configPath);
|
|
162
|
-
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wuchale/vite-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Protobuf-like i18n from plain code: Vite plugin",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "tsc --watch",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"author": "K1DV5",
|
|
41
41
|
"license": "MIT",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"wuchale": "^0.
|
|
43
|
+
"wuchale": "^0.15.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"typescript": "^5.8.3"
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE;QACJ,EAAE,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAA;SAAE,CAAA;QACtB,WAAW,EAAE;YACT,gBAAgB,EAAE,QAAQ,CAAA;YAC1B,gBAAgB,EAAE,QAAQ,CAAA;SAC7B,CAAA;KACJ,CAAA;IACD,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,cAAM,MAAM;;IAER,IAAI,SAAa;gBAmBL,UAAU,EAAE,MAAM;IAyC9B,cAAc,GAAU,QAAQ;QAAE,GAAG,EAAE;YAAE,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,mBASvE;IAsBD,eAAe,GAAU,KAAK,YAAY,oBA6BzC;IAED,SAAS,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,YAK7C;IAED,IAAI,GAAI,IAAI,MAAM,YAiCjB;IAeD,SAAS;eAAa,KAAK;wBAbM,MAAM,MAAM,MAAM;;;;MAaiB;CACvE;AAED,eAAO,MAAM,OAAO,GAAI,aAAa,MAAM,WAA2B,CAAA"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|