@cocos/ccbuild 2.2.20 → 2.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/modules/build-engine/lib/engine-js/babel-plugins/decorator-parser.d.ts +1 -1
- package/modules/build-engine/lib/engine-js/babel-plugins/decorator-parser.d.ts.map +1 -1
- package/modules/build-engine/lib/engine-js/babel-plugins/decorator-parser.js +2 -1
- package/modules/build-engine/lib/engine-js/babel-plugins/decorator-parser.js.map +1 -1
- package/modules/build-engine/lib/engine-js/index.d.ts.map +1 -1
- package/modules/build-engine/lib/engine-js/index.js +39 -40
- package/modules/build-engine/lib/engine-js/index.js.map +1 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/enum-scanner/core/enum.d.ts.map +1 -0
- package/modules/build-engine/lib/engine-js/rollup-plugins/{inline-enum → enum-scanner}/core/enum.js +2 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/enum-scanner/core/enum.js.map +1 -0
- package/modules/build-engine/lib/engine-js/rollup-plugins/enum-scanner/core/options.d.ts.map +1 -0
- package/modules/build-engine/lib/engine-js/rollup-plugins/enum-scanner/core/options.js.map +1 -0
- package/modules/build-engine/lib/engine-js/rollup-plugins/{inline-enum → enum-scanner}/index.d.ts +3 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/enum-scanner/index.d.ts.map +1 -0
- package/modules/build-engine/lib/engine-js/rollup-plugins/enum-scanner/index.js +34 -0
- package/modules/build-engine/lib/engine-js/rollup-plugins/enum-scanner/index.js.map +1 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/inline-enum/index.d.ts +3 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/inline-enum/index.d.ts.map +1 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/inline-enum/index.js +171 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/inline-enum/index.js.map +1 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/properties-minifier/index.d.ts +51 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/properties-minifier/index.d.ts.map +1 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/properties-minifier/index.js +517 -0
- package/modules/build-engine/lib/engine-js/ts-plugins/properties-minifier/index.js.map +1 -0
- package/modules/build-engine/lib/index.d.ts +12 -2
- package/modules/build-engine/lib/index.d.ts.map +1 -1
- package/modules/build-engine/lib/index.js.map +1 -1
- package/modules/transformer/lib/babel/index.d.ts +3 -1
- package/modules/transformer/lib/babel/index.d.ts.map +1 -1
- package/modules/transformer/lib/babel/index.js +5 -1
- package/modules/transformer/lib/babel/index.js.map +1 -1
- package/package.json +8 -6
- package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/enum.d.ts.map +0 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/enum.js.map +0 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/options.d.ts.map +0 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/options.js.map +0 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/index.d.ts.map +0 -1
- package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/index.js +0 -101
- package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/index.js.map +0 -1
- /package/modules/build-engine/lib/engine-js/rollup-plugins/{inline-enum → enum-scanner}/core/enum.d.ts +0 -0
- /package/modules/build-engine/lib/engine-js/rollup-plugins/{inline-enum → enum-scanner}/core/options.d.ts +0 -0
- /package/modules/build-engine/lib/engine-js/rollup-plugins/{inline-enum → enum-scanner}/core/options.js +0 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return m[k];
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
} : function (o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
});
|
|
19
|
+
var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
value: v
|
|
23
|
+
});
|
|
24
|
+
} : function (o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = this && this.__importStar || function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", {
|
|
35
|
+
value: true
|
|
36
|
+
});
|
|
37
|
+
exports.inlineEnumTransformer = void 0;
|
|
38
|
+
const ts = __importStar(require("@cocos/typescript"));
|
|
39
|
+
class EnumInliner {
|
|
40
|
+
constructor(context, enumData) {
|
|
41
|
+
this._context = context;
|
|
42
|
+
this._enumData = enumData;
|
|
43
|
+
}
|
|
44
|
+
visitSourceFile(node, program, context) {
|
|
45
|
+
const result = this.visitNodeAndChildren(node, program, context);
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
visitNodeAndChildren(node, program, context) {
|
|
49
|
+
return ts.visitEachChild(this.visitNode(node, program), childNode => this.visitNodeAndChildren(childNode, program, context), context);
|
|
50
|
+
}
|
|
51
|
+
visitNode(node, program) {
|
|
52
|
+
if (isAccessExpression(node)) {
|
|
53
|
+
return this.tryCreateLiteral(node, program);
|
|
54
|
+
} else if (ts.isEnumDeclaration(node)) {
|
|
55
|
+
return this.tryReplaceEnumDeclaration(node, program);
|
|
56
|
+
}
|
|
57
|
+
return node;
|
|
58
|
+
}
|
|
59
|
+
tryReplaceEnumDeclaration(node, program) {
|
|
60
|
+
const enumName = node.name;
|
|
61
|
+
const typeChecker = program.getTypeChecker();
|
|
62
|
+
const symbol = typeChecker.getSymbolAtLocation(enumName);
|
|
63
|
+
if (symbol && symbol.declarations && symbol.declarations.length > 0) {
|
|
64
|
+
const declaration = symbol.declarations[0];
|
|
65
|
+
if (ts.isEnumDeclaration(declaration)) {
|
|
66
|
+
let foundAll = true;
|
|
67
|
+
const members = declaration.members.map(member => {
|
|
68
|
+
const name = member.name.getText();
|
|
69
|
+
const fullName = `${enumName.getText()}.${name}`;
|
|
70
|
+
const value = this._enumData.defines[fullName];
|
|
71
|
+
if (value === undefined) {
|
|
72
|
+
foundAll = false;
|
|
73
|
+
}
|
|
74
|
+
return ts.factory.createPropertyAssignment(name, typeof value === 'number' ? ts.factory.createNumericLiteral(value) : ts.factory.createStringLiteral(value));
|
|
75
|
+
});
|
|
76
|
+
if (!foundAll) {
|
|
77
|
+
return node;
|
|
78
|
+
}
|
|
79
|
+
const enumObject = ts.factory.createObjectLiteralExpression(members, true);
|
|
80
|
+
const exportModifiers = getModifier(node, ts.SyntaxKind.ExportKeyword) ? [ts.factory.createToken(ts.SyntaxKind.ExportKeyword)] : undefined;
|
|
81
|
+
return ts.factory.createVariableStatement(exportModifiers, ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(enumName, undefined, undefined, enumObject)], ts.NodeFlags.Const));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return node;
|
|
85
|
+
}
|
|
86
|
+
createNumberOrStringLiteral(value) {
|
|
87
|
+
if (typeof value === 'number') {
|
|
88
|
+
return this._context.factory.createNumericLiteral(value);
|
|
89
|
+
} else if (typeof value === 'string') {
|
|
90
|
+
return this._context.factory.createStringLiteral(value);
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
findEnumData(name) {
|
|
95
|
+
return this._enumData.defines[name];
|
|
96
|
+
}
|
|
97
|
+
tryCreateLiteral(node, program) {
|
|
98
|
+
const typeChecker = program.getTypeChecker();
|
|
99
|
+
let accessName;
|
|
100
|
+
if (ts.isPropertyAccessExpression(node)) {
|
|
101
|
+
accessName = node.name;
|
|
102
|
+
} else if (ts.isElementAccessExpression(node)) {
|
|
103
|
+
accessName = node.argumentExpression;
|
|
104
|
+
} else {
|
|
105
|
+
return node;
|
|
106
|
+
}
|
|
107
|
+
const symbol = typeChecker.getSymbolAtLocation(accessName);
|
|
108
|
+
if (node.parent && ts.isTemplateSpan(node.parent)) {
|
|
109
|
+
return node;
|
|
110
|
+
}
|
|
111
|
+
if (symbol && symbol.valueDeclaration) {
|
|
112
|
+
if (symbol.valueDeclaration.kind === ts.SyntaxKind.EnumMember) {
|
|
113
|
+
const enumText = node.expression.getText() + '.' + accessName.text;
|
|
114
|
+
const enumInlinedValue = this.findEnumData(enumText);
|
|
115
|
+
if (enumInlinedValue === undefined) {
|
|
116
|
+
return node;
|
|
117
|
+
}
|
|
118
|
+
const inlinedIiteral = this.createNumberOrStringLiteral(enumInlinedValue);
|
|
119
|
+
if (inlinedIiteral) {
|
|
120
|
+
return inlinedIiteral;
|
|
121
|
+
}
|
|
122
|
+
} else if (symbol.valueDeclaration.kind === ts.SyntaxKind.PropertySignature) {
|
|
123
|
+
const accessNameText = accessName.text;
|
|
124
|
+
if (accessNameText === 'BYTES_PER_ELEMENT') {
|
|
125
|
+
const expressionText = node.expression.getText();
|
|
126
|
+
const enumText = expressionText + '.' + accessNameText;
|
|
127
|
+
const enumInlinedValue = this.findEnumData(enumText);
|
|
128
|
+
if (enumInlinedValue === undefined) {
|
|
129
|
+
return node;
|
|
130
|
+
}
|
|
131
|
+
const inlinedIiteral = this.createNumberOrStringLiteral(enumInlinedValue);
|
|
132
|
+
if (inlinedIiteral) {
|
|
133
|
+
return inlinedIiteral;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return node;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function isAccessExpression(node) {
|
|
142
|
+
return ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node);
|
|
143
|
+
}
|
|
144
|
+
function getModifier(node, modifier) {
|
|
145
|
+
return getModifiers(node).find(mod => mod.kind === modifier);
|
|
146
|
+
}
|
|
147
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
148
|
+
// @ts-ignore
|
|
149
|
+
function getModifiers(node) {
|
|
150
|
+
if (isBreakingTypeScriptApi(ts)) {
|
|
151
|
+
if (!ts.canHaveModifiers(node)) {
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
return ts.getModifiers(node) || [];
|
|
155
|
+
}
|
|
156
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
157
|
+
// @ts-ignore
|
|
158
|
+
return node.modifiers || [];
|
|
159
|
+
}
|
|
160
|
+
function isBreakingTypeScriptApi(compiler) {
|
|
161
|
+
return 'canHaveDecorators' in ts;
|
|
162
|
+
}
|
|
163
|
+
function inlineEnumTransformer(program, enumData) {
|
|
164
|
+
return context => {
|
|
165
|
+
const inliner = new EnumInliner(context, enumData);
|
|
166
|
+
return file => {
|
|
167
|
+
return inliner.visitSourceFile(file, program, context);
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
exports.inlineEnumTransformer = inlineEnumTransformer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine-js/ts-plugins/inline-enum/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as ts from '@cocos/typescript';
|
|
2
|
+
export interface IManglePropertiesOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Prefix of generated names (e.g. '_ccprivate$')
|
|
5
|
+
*/
|
|
6
|
+
prefix: string;
|
|
7
|
+
mangleList: string[];
|
|
8
|
+
dontMangleList: string[];
|
|
9
|
+
mangleGetterSetter: boolean;
|
|
10
|
+
ignoreJsDocTag: boolean;
|
|
11
|
+
warnThisDotThreshold: number;
|
|
12
|
+
}
|
|
13
|
+
export declare class PropertiesMinifier {
|
|
14
|
+
private readonly _context;
|
|
15
|
+
private readonly _options;
|
|
16
|
+
private _currentProgram;
|
|
17
|
+
private _currentSourceFile;
|
|
18
|
+
private _typeChecker;
|
|
19
|
+
constructor(context: ts.TransformationContext, options?: Partial<IManglePropertiesOptions>);
|
|
20
|
+
visitSourceFile(node: ts.SourceFile, program: ts.Program, context: ts.TransformationContext): ts.SourceFile;
|
|
21
|
+
private visitNodeAndChildren;
|
|
22
|
+
private visitNode;
|
|
23
|
+
private checkThisDotCountInBlock;
|
|
24
|
+
private createNewAccessExpression;
|
|
25
|
+
private createNewBindingElement;
|
|
26
|
+
private createNewNode;
|
|
27
|
+
private getNewName;
|
|
28
|
+
private isPrivateNonStatic;
|
|
29
|
+
private isMangledInJsDoc;
|
|
30
|
+
private isPrivate;
|
|
31
|
+
private updatePrivateByOptions;
|
|
32
|
+
private isParentSymbolPrivate;
|
|
33
|
+
private hasModifier;
|
|
34
|
+
private isAccessExpression;
|
|
35
|
+
private isClassMember;
|
|
36
|
+
private isInterfaceMember;
|
|
37
|
+
private isConstructorParameter;
|
|
38
|
+
private isConstructorParameterReference;
|
|
39
|
+
private isPropertyInInterfaceNotShorthand;
|
|
40
|
+
private getTypeSymbol;
|
|
41
|
+
private isInterfacePropertyHasMangleTag;
|
|
42
|
+
private isIdentifierInVariableDeclaration;
|
|
43
|
+
private isIdentifierInArrayLiteralExpression;
|
|
44
|
+
private isIdentifierInBinaryExpression;
|
|
45
|
+
private isPropertyAssignment;
|
|
46
|
+
private isPrivateNonStaticClassMember;
|
|
47
|
+
private hasDecorators;
|
|
48
|
+
private getModifiers;
|
|
49
|
+
private isBreakingTypeScriptApi;
|
|
50
|
+
}
|
|
51
|
+
export declare function minifyPrivatePropertiesTransformer(program: ts.Program, config?: Partial<IManglePropertiesOptions>): ts.TransformerFactory<ts.SourceFile>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine-js/ts-plugins/properties-minifier/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAsBxC,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAiBD,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,YAAY,CAAkB;gBAEnB,OAAO,EAAE,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAK1F,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,UAAU;IAUlH,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,SAAS;IA+BjB,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,yBAAyB;IA+BjC,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,qBAAqB;IAsD7B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,+BAA+B;IAUvC,OAAO,CAAC,iCAAiC;IASzC,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,+BAA+B;IA+CvC,OAAO,CAAC,iCAAiC;IAiCzC,OAAO,CAAC,oCAAoC;IAsC5C,OAAO,CAAC,8BAA8B;IAgCtC,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,6BAA6B;IAcrC,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,uBAAuB;CAGlC;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,UAAU,CAAC,CAOxJ"}
|