@vencord-companion/webpack-chunk-parser 1.1.3 → 1.2.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.
|
@@ -7,6 +7,12 @@ export declare class WebpackMainChunkParser extends WebpackChunkParser {
|
|
|
7
7
|
get __webpack_modules__(): VariableInfo | undefined;
|
|
8
8
|
getJsChunkHashes(): JSHashEntry[];
|
|
9
9
|
getBuildNumber(): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Get the id of the entrypoint module.
|
|
12
|
+
* @returns The id of the entrypoint module, if found
|
|
13
|
+
* @returns undefined if the id could not be found
|
|
14
|
+
*/
|
|
15
|
+
getEntrypointId(): string | undefined;
|
|
10
16
|
protected tryParseHashMapKey(node: PropertyName): string | undefined;
|
|
11
17
|
private tryParseHashMapValue;
|
|
12
18
|
private parseHashMapEntry;
|
|
@@ -4,13 +4,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { isArrowFunction, isElementAccessExpression, isObjectLiteralExpression, isPropertyAccessExpression, isPropertyAssignment, isStringLiteralLike, isVariableDeclaration } from "typescript";
|
|
7
|
+
import { isArrowFunction, isCallExpression, isElementAccessExpression, isIdentifier, isNumericLiteral, isObjectLiteralExpression, isPropertyAccessExpression, isPropertyAssignment, isStringLiteralLike, isVariableDeclaration } from "typescript";
|
|
8
8
|
import { findParent, isAssignmentExpression, isBinaryPlusExpression, isFunctionish, lastChild, nonNull, tryParseStringOrNumberLiteral } from "@vencord-companion/ast-parser/util";
|
|
9
9
|
import { Cache, CacheGetter } from "@vencord-companion/shared/decorators";
|
|
10
10
|
import { WebpackChunkParser } from "./WebpackChunkParser.js";
|
|
11
11
|
const BUILD_MODULE_REGEX = /Trying to open a changelog for an invalid build number/;
|
|
12
12
|
const BUILD_NUMBER_REGEX = /(?:parseInt\("|"Trying to open a changelog for an invalid build number )(\d+?)"\)/;
|
|
13
13
|
const KNOWN_BUILD_MODULE_IDS = Object.freeze(["128014", "446023"]);
|
|
14
|
+
function isValidModuleId(id) {
|
|
15
|
+
return isStringLiteralLike(id) || isNumericLiteral(id);
|
|
16
|
+
}
|
|
14
17
|
export class WebpackMainChunkParser extends WebpackChunkParser {
|
|
15
18
|
get __webpack_require__() {
|
|
16
19
|
for (const [ident, info] of this.vars) {
|
|
@@ -92,6 +95,37 @@ export class WebpackMainChunkParser extends WebpackChunkParser {
|
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Get the id of the entrypoint module.
|
|
100
|
+
* @returns The id of the entrypoint module, if found
|
|
101
|
+
* @returns undefined if the id could not be found
|
|
102
|
+
*/
|
|
103
|
+
getEntrypointId() {
|
|
104
|
+
const wreq = this.__webpack_require__;
|
|
105
|
+
if (!wreq) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
// var __webpack_exports__ = __webpack_require__(id);
|
|
109
|
+
for (const { location: { parent: call } } of wreq.uses) {
|
|
110
|
+
if (!call
|
|
111
|
+
|| !isCallExpression(call)
|
|
112
|
+
|| call.arguments.length !== 1) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const [maybeId] = call.arguments;
|
|
116
|
+
if (!isValidModuleId(maybeId)) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const { parent: decl } = call;
|
|
120
|
+
if (!decl
|
|
121
|
+
|| !isVariableDeclaration(decl)
|
|
122
|
+
|| !isIdentifier(decl.name)
|
|
123
|
+
|| decl.name.text !== "__webpack_exports__") {
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
return maybeId.text;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
95
129
|
tryParseHashMapKey(node) {
|
|
96
130
|
return tryParseStringOrNumberLiteral(node);
|
|
97
131
|
}
|
|
@@ -143,6 +177,9 @@ __decorate([
|
|
|
143
177
|
__decorate([
|
|
144
178
|
Cache()
|
|
145
179
|
], WebpackMainChunkParser.prototype, "getBuildNumber", null);
|
|
180
|
+
__decorate([
|
|
181
|
+
Cache()
|
|
182
|
+
], WebpackMainChunkParser.prototype, "getEntrypointId", null);
|
|
146
183
|
__decorate([
|
|
147
184
|
Cache()
|
|
148
185
|
], WebpackMainChunkParser.prototype, "getModuleObject", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebpackMainChunkParser.js","sourceRoot":"","sources":["../src/WebpackMainChunkParser.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAmB,eAAe,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAkF,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"WebpackMainChunkParser.js","sourceRoot":"","sources":["../src/WebpackMainChunkParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vencord-companion/webpack-chunk-parser",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "sadan",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"keywords": [],
|
|
15
15
|
"license": "LGPL-3.0-or-later",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@vencord-companion/ast-parser": "1.
|
|
18
|
-
"@vencord-companion/shared": "1.
|
|
17
|
+
"@vencord-companion/ast-parser": "1.2.0",
|
|
18
|
+
"@vencord-companion/shared": "1.2.0"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"ts-api-utils": "^2.1.0",
|