@vencord-companion/webpack-chunk-parser 1.0.5 → 1.1.1

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.
@@ -1,7 +1,29 @@
1
1
  import { type ObjectLiteralExpression } from "typescript";
2
2
  import { AstParser } from "@vencord-companion/ast-parser";
3
3
  export declare abstract class WebpackChunkParser extends AstParser {
4
+ /**
5
+ * @retuns the object with each module defined, should conform to Record<PropertyKey, (e, t, n) => void)>
6
+ */
4
7
  abstract getModuleObject(): ObjectLiteralExpression | undefined;
8
+ /**
9
+ * ```js
10
+ * let __webpack_modules__ = {
11
+ * 123: function(module, exports, require) {
12
+ * // module
13
+ * }
14
+ * };
15
+ */
16
+ private tryParseChunkEntryPropertyAssignment;
17
+ /**
18
+ * ```js
19
+ * let __webpack_modules__ = {
20
+ * 123(module, exports, require) {
21
+ * // module
22
+ * }
23
+ * };
24
+ * ```
25
+ */
26
+ private tryParseChunkEntryMethodDecl;
5
27
  private tryParseChunkEntry;
6
28
  getDefinedModules(): Record<string, string> | undefined;
7
29
  }
@@ -4,7 +4,7 @@ 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 { isPropertyAssignment } from "typescript";
7
+ import { isMethodDeclaration, isPropertyAssignment } from "typescript";
8
8
  import { AstParser, isFunctionish, nonNull, tryParseStringOrNumberLiteral } from "@vencord-companion/ast-parser";
9
9
  import { Cache } from "@vencord-companion/shared/decorators";
10
10
  function fromEntries(obj, [k, v], _idx, _arr) {
@@ -12,10 +12,15 @@ function fromEntries(obj, [k, v], _idx, _arr) {
12
12
  return obj;
13
13
  }
14
14
  export class WebpackChunkParser extends AstParser {
15
- tryParseChunkEntry(entry) {
16
- if (!isPropertyAssignment(entry)) {
17
- return;
18
- }
15
+ /**
16
+ * ```js
17
+ * let __webpack_modules__ = {
18
+ * 123: function(module, exports, require) {
19
+ * // module
20
+ * }
21
+ * };
22
+ */
23
+ tryParseChunkEntryPropertyAssignment(entry) {
19
24
  const moduleId = tryParseStringOrNumberLiteral(entry.name);
20
25
  if (!moduleId) {
21
26
  return;
@@ -26,6 +31,31 @@ export class WebpackChunkParser extends AstParser {
26
31
  }
27
32
  return [moduleId, moduleValue.getText()];
28
33
  }
34
+ /**
35
+ * ```js
36
+ * let __webpack_modules__ = {
37
+ * 123(module, exports, require) {
38
+ * // module
39
+ * }
40
+ * };
41
+ * ```
42
+ */
43
+ tryParseChunkEntryMethodDecl(entry) {
44
+ const moduleId = tryParseStringOrNumberLiteral(entry.name);
45
+ if (!moduleId) {
46
+ return;
47
+ }
48
+ return [moduleId, entry.getText()];
49
+ }
50
+ tryParseChunkEntry(entry) {
51
+ if (isPropertyAssignment(entry)) {
52
+ return this.tryParseChunkEntryPropertyAssignment(entry);
53
+ }
54
+ else if (isMethodDeclaration(entry)) {
55
+ return this.tryParseChunkEntryMethodDecl(entry);
56
+ }
57
+ return undefined;
58
+ }
29
59
  getDefinedModules() {
30
60
  return this
31
61
  .getModuleObject()
@@ -1 +1 @@
1
- {"version":3,"file":"WebpackChunkParser.js","sourceRoot":"","sources":["../src/WebpackChunkParser.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,oBAAoB,EAA+D,MAAM,YAAY,CAAC;AAE/G,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACjH,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAI7D,SAAS,WAAW,CAGlB,GAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAA2B,EAAE,IAAY,EAAE,IAAuB;IACxF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,OAAgB,kBAAmB,SAAQ,SAAS;IAG9C,kBAAkB,CAAC,KAA+B;QACtD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAGM,iBAAiB;QACpB,OAAO,IAAI;aACN,eAAe,EAAE;YAClB,EAAE,UAAU;aACX,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,CAAA,WAA2B,CAAA,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;CACJ;AARU;IADN,KAAK,EAAE;2DAQP"}
1
+ {"version":3,"file":"WebpackChunkParser.js","sourceRoot":"","sources":["../src/WebpackChunkParser.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAgH,MAAM,YAAY,CAAC;AAErL,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AACjH,OAAO,EAAE,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAI7D,SAAS,WAAW,CAGlB,GAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAA2B,EAAE,IAAY,EAAE,IAAuB;IACxF,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,OAAgB,kBAAmB,SAAQ,SAAS;IAMtD;;;;;;;OAOG;IACK,oCAAoC,CAAC,KAAyB;QAClE,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IACK,4BAA4B,CAAC,KAAwB;QACzD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;QACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAEO,kBAAkB,CAAC,KAA+B;QACtD,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAGM,iBAAiB;QACpB,OAAO,IAAI;aACN,eAAe,EAAE;YAClB,EAAE,UAAU;aACX,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvC,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC,CAAA,WAA2B,CAAA,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;CACJ;AARU;IADN,KAAK,EAAE;2DAQP"}
@@ -1,5 +1,5 @@
1
1
  import { type ObjectLiteralExpression } from "typescript";
2
- import { WebpackChunkParser } from "./WebpackChunkParser";
2
+ import { WebpackChunkParser } from "./WebpackChunkParser.js";
3
3
  export declare class WebpackLazyChunkParser extends WebpackChunkParser {
4
4
  private get pushCall();
5
5
  private assertOneEntry;
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { isArrayLiteralExpression, isCallExpression, isExpressionStatement, isObjectLiteralExpression, isPropertyAccessExpression } from "typescript";
8
8
  import { isDirective, tryParseStringOrNumberLiteral } from "@vencord-companion/ast-parser/util";
9
9
  import { Cache, CacheGetter } from "@vencord-companion/shared/decorators";
10
- import { WebpackChunkParser } from "./WebpackChunkParser";
10
+ import { WebpackChunkParser } from "./WebpackChunkParser.js";
11
11
  export class WebpackLazyChunkParser extends WebpackChunkParser {
12
12
  get pushCall() {
13
13
  const topLevelStatements = this.sourceFile.statements.filter((stmt) => !isDirective(stmt));
@@ -1,7 +1,7 @@
1
1
  import type { VariableInfo } from "ts-api-utils";
2
2
  import { type ObjectLiteralExpression, type PropertyName } from "typescript";
3
- import type { JSHashEntry } from "./types";
4
- import { WebpackChunkParser } from "./WebpackChunkParser";
3
+ import type { JSHashEntry } from "./types.js";
4
+ import { WebpackChunkParser } from "./WebpackChunkParser.js";
5
5
  export declare class WebpackMainChunkParser extends WebpackChunkParser {
6
6
  get __webpack_require__(): VariableInfo | undefined;
7
7
  get __webpack_modules__(): VariableInfo | undefined;
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { isArrowFunction, isElementAccessExpression, 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
- import { WebpackChunkParser } from "./WebpackChunkParser";
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\("(\d+?)"\)/;
13
13
  const KNOWN_BUILD_MODULE_IDS = Object.freeze(["128014"]);
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { JSHashEntry, ModuleEntry, } from "./types";
2
- export { WebpackChunkParser, } from "./WebpackChunkParser";
3
- export { WebpackLazyChunkParser, } from "./WebpackLazyChunkParser";
4
- export { WebpackMainChunkParser, } from "./WebpackMainChunkParser";
1
+ export type { JSHashEntry, ModuleEntry, } from "./types.js";
2
+ export { WebpackChunkParser, } from "./WebpackChunkParser.js";
3
+ export { WebpackLazyChunkParser, } from "./WebpackLazyChunkParser.js";
4
+ export { WebpackMainChunkParser, } from "./WebpackMainChunkParser.js";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { WebpackChunkParser, } from "./WebpackChunkParser";
2
- export { WebpackLazyChunkParser, } from "./WebpackLazyChunkParser";
3
- export { WebpackMainChunkParser, } from "./WebpackMainChunkParser";
1
+ export { WebpackChunkParser, } from "./WebpackChunkParser.js";
2
+ export { WebpackLazyChunkParser, } from "./WebpackLazyChunkParser.js";
3
+ export { WebpackMainChunkParser, } from "./WebpackMainChunkParser.js";
4
4
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vencord-companion/webpack-chunk-parser",
3
- "version": "1.0.5",
3
+ "version": "1.1.1",
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.0.5",
18
- "@vencord-companion/shared": "1.0.5"
17
+ "@vencord-companion/ast-parser": "1.1.1",
18
+ "@vencord-companion/shared": "1.1.1"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "ts-api-utils": "^2.1.0",
@@ -29,6 +29,6 @@
29
29
  "preversion": "mkdir .git || :",
30
30
  "bump": "npm version",
31
31
  "postversion": "rmdir .git",
32
- "build": "tsc -b"
32
+ "build": "tsc -b && tsc-alias -f"
33
33
  }
34
34
  }
@@ -1 +0,0 @@
1
- export declare function getFile(path: string): string;
@@ -1,6 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { join } from "node:path";
3
- export function getFile(path) {
4
- return readFileSync(join(__dirname, path), "utf-8");
5
- }
6
- //# sourceMappingURL=testingUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testingUtil.js","sourceRoot":"","sources":["../../src/__test__/testingUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,UAAU,OAAO,CAAC,IAAY;IAChC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC"}