@intlify/bundle-utils 5.1.2 → 5.3.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/lib/codegen.d.ts +1 -0
- package/lib/json.d.ts +1 -1
- package/lib/json.js +21 -1
- package/lib/legacy.d.ts +2 -0
- package/lib/legacy.js +17 -0
- package/lib/yaml.d.ts +1 -1
- package/lib/yaml.js +21 -1
- package/package.json +2 -1
package/lib/codegen.d.ts
CHANGED
package/lib/json.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ import type { CodeGenOptions, CodeGenResult } from './codegen';
|
|
|
7
7
|
/**
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
|
-
export declare function generate(targetSource: string | Buffer, { type, bridge, exportESM, filename, inSourceMap, locale, isGlobal, sourceMap, env, forceStringify, onError, useClassComponent }: CodeGenOptions, injector?: () => string): CodeGenResult<JSONProgram>;
|
|
10
|
+
export declare function generate(targetSource: string | Buffer, { type, legacy, bridge, exportESM, filename, inSourceMap, locale, isGlobal, sourceMap, env, forceStringify, onError, useClassComponent }: CodeGenOptions, injector?: () => string): CodeGenResult<JSONProgram>;
|
package/lib/json.js
CHANGED
|
@@ -2,15 +2,20 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Code generator for i18n json/json5 resource
|
|
4
4
|
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
5
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
9
|
exports.generate = void 0;
|
|
7
10
|
const jsonc_eslint_parser_1 = require("jsonc-eslint-parser");
|
|
8
11
|
const shared_1 = require("@intlify/shared");
|
|
9
12
|
const codegen_1 = require("./codegen");
|
|
13
|
+
const legacy_1 = require("./legacy");
|
|
14
|
+
const magic_string_1 = __importDefault(require("magic-string"));
|
|
10
15
|
/**
|
|
11
16
|
* @internal
|
|
12
17
|
*/
|
|
13
|
-
function generate(targetSource, { type = 'plain', bridge = false, exportESM = false, filename = 'vue-i18n-loader.json', inSourceMap = undefined, locale = '', isGlobal = false, sourceMap = false, env = 'development', forceStringify = false, onError = undefined, useClassComponent = false }, injector) {
|
|
18
|
+
function generate(targetSource, { type = 'plain', legacy = false, bridge = false, exportESM = false, filename = 'vue-i18n-loader.json', inSourceMap = undefined, locale = '', isGlobal = false, sourceMap = false, env = 'development', forceStringify = false, onError = undefined, useClassComponent = false }, injector) {
|
|
14
19
|
const target = Buffer.isBuffer(targetSource)
|
|
15
20
|
? targetSource.toString()
|
|
16
21
|
: targetSource;
|
|
@@ -35,6 +40,21 @@ function generate(targetSource, { type = 'plain', bridge = false, exportESM = fa
|
|
|
35
40
|
};
|
|
36
41
|
const generator = (0, codegen_1.createCodeGenerator)(options);
|
|
37
42
|
const ast = (0, jsonc_eslint_parser_1.parseJSON)(value, { filePath: filename });
|
|
43
|
+
// for vue 2.x
|
|
44
|
+
if (legacy && type === 'sfc') {
|
|
45
|
+
const gen = () => (0, shared_1.friendlyJSONstringify)((0, jsonc_eslint_parser_1.getStaticJSONValue)(ast));
|
|
46
|
+
const code = (0, legacy_1.generateLegacyCode)(options, gen);
|
|
47
|
+
const s = new magic_string_1.default(code);
|
|
48
|
+
return {
|
|
49
|
+
ast,
|
|
50
|
+
code: s.toString(),
|
|
51
|
+
map: s.generateMap({
|
|
52
|
+
file: filename,
|
|
53
|
+
source: value,
|
|
54
|
+
includeContent: true
|
|
55
|
+
})
|
|
56
|
+
};
|
|
57
|
+
}
|
|
38
58
|
const codeMaps = generateNode(generator, ast, options, injector);
|
|
39
59
|
const { code, map } = generator.context();
|
|
40
60
|
// if (map) {
|
package/lib/legacy.d.ts
ADDED
package/lib/legacy.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateLegacyCode = void 0;
|
|
4
|
+
const shared_1 = require("@intlify/shared");
|
|
5
|
+
function generateLegacyCode({ isGlobal }, generator) {
|
|
6
|
+
// prettier-ignore
|
|
7
|
+
const componentNamespace = `Component.options`;
|
|
8
|
+
const variableName = !isGlobal ? '__i18n' : '__i18nGlobal';
|
|
9
|
+
const exportSyntax = 'export default';
|
|
10
|
+
const code = `${exportSyntax} function (Component) {
|
|
11
|
+
${componentNamespace}.${variableName} = ${componentNamespace}.${variableName} || []
|
|
12
|
+
${componentNamespace}.${variableName}.push(${(0, shared_1.friendlyJSONstringify)(generator())})
|
|
13
|
+
delete ${componentNamespace}._Ctor
|
|
14
|
+
}`;
|
|
15
|
+
return code;
|
|
16
|
+
}
|
|
17
|
+
exports.generateLegacyCode = generateLegacyCode;
|
package/lib/yaml.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ import type { CodeGenOptions, CodeGenResult } from './codegen';
|
|
|
7
7
|
/**
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
10
|
-
export declare function generate(targetSource: string | Buffer, { type, bridge, exportESM, useClassComponent, filename, inSourceMap, locale, isGlobal, sourceMap, env, forceStringify, onError }: CodeGenOptions, injector?: () => string): CodeGenResult<YAMLProgram>;
|
|
10
|
+
export declare function generate(targetSource: string | Buffer, { type, legacy, bridge, exportESM, useClassComponent, filename, inSourceMap, locale, isGlobal, sourceMap, env, forceStringify, onError }: CodeGenOptions, injector?: () => string): CodeGenResult<YAMLProgram>;
|
package/lib/yaml.js
CHANGED
|
@@ -2,15 +2,20 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Code generator for i18n yaml resource
|
|
4
4
|
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
5
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
9
|
exports.generate = void 0;
|
|
7
10
|
const shared_1 = require("@intlify/shared");
|
|
8
11
|
const codegen_1 = require("./codegen");
|
|
9
12
|
const yaml_eslint_parser_1 = require("yaml-eslint-parser");
|
|
13
|
+
const legacy_1 = require("./legacy");
|
|
14
|
+
const magic_string_1 = __importDefault(require("magic-string"));
|
|
10
15
|
/**
|
|
11
16
|
* @internal
|
|
12
17
|
*/
|
|
13
|
-
function generate(targetSource, { type = 'plain', bridge = false, exportESM = false, useClassComponent = false, filename = 'vue-i18n-loader.yaml', inSourceMap = undefined, locale = '', isGlobal = false, sourceMap = false, env = 'development', forceStringify = false, onError = undefined }, injector) {
|
|
18
|
+
function generate(targetSource, { type = 'plain', legacy = false, bridge = false, exportESM = false, useClassComponent = false, filename = 'vue-i18n-loader.yaml', inSourceMap = undefined, locale = '', isGlobal = false, sourceMap = false, env = 'development', forceStringify = false, onError = undefined }, injector) {
|
|
14
19
|
const value = Buffer.isBuffer(targetSource)
|
|
15
20
|
? targetSource.toString()
|
|
16
21
|
: targetSource;
|
|
@@ -31,6 +36,21 @@ function generate(targetSource, { type = 'plain', bridge = false, exportESM = fa
|
|
|
31
36
|
};
|
|
32
37
|
const generator = (0, codegen_1.createCodeGenerator)(options);
|
|
33
38
|
const ast = (0, yaml_eslint_parser_1.parseYAML)(value, { filePath: filename });
|
|
39
|
+
// for vue 2.x
|
|
40
|
+
if (legacy && type === 'sfc') {
|
|
41
|
+
const gen = () => (0, shared_1.friendlyJSONstringify)((0, yaml_eslint_parser_1.getStaticYAMLValue)(ast));
|
|
42
|
+
const code = (0, legacy_1.generateLegacyCode)(options, gen);
|
|
43
|
+
const s = new magic_string_1.default(code);
|
|
44
|
+
return {
|
|
45
|
+
ast,
|
|
46
|
+
code: s.toString(),
|
|
47
|
+
map: s.generateMap({
|
|
48
|
+
file: filename,
|
|
49
|
+
source: value,
|
|
50
|
+
includeContent: true
|
|
51
|
+
})
|
|
52
|
+
};
|
|
53
|
+
}
|
|
34
54
|
const codeMaps = generateNode(generator, ast, options, injector);
|
|
35
55
|
const { code, map } = generator.context();
|
|
36
56
|
// prettier-ignore
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intlify/bundle-utils",
|
|
3
3
|
"description": "Bundle utilities for Intlify project",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.3.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "kazuya kawaguchi",
|
|
7
7
|
"email": "kawakazu80@gmail.com"
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"acorn": "^8.8.2",
|
|
24
24
|
"estree-walker": "^2.0.2",
|
|
25
25
|
"jsonc-eslint-parser": "^1.0.1",
|
|
26
|
+
"magic-string": "^0.30.0",
|
|
26
27
|
"source-map": "0.6.1",
|
|
27
28
|
"yaml-eslint-parser": "^0.3.2"
|
|
28
29
|
},
|