hackmud-script-manager 0.21.1-5970667 → 0.21.1-628a731

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,5 +1,5 @@
1
- import { readDirectoryWithStats } from "@samual/lib/readDirectoryWithStats"
2
1
  import { basename, resolve } from "path"
2
+ import { readDirectoryWithStats } from "@samual/lib/readDirectoryWithStats"
3
3
  async function generateTypeDeclaration(sourceDirectory, hackmudPath) {
4
4
  const users = new Set()
5
5
  if (hackmudPath)
package/index.js CHANGED
@@ -5,8 +5,8 @@ export { pull } from "./pull.js"
5
5
  export { push } from "./push.js"
6
6
  export { syncMacros } from "./syncMacros.js"
7
7
  export { watch } from "./watch.js"
8
- import "@samual/lib/readDirectoryWithStats"
9
8
  import "path"
9
+ import "@samual/lib/readDirectoryWithStats"
10
10
  import "@babel/generator"
11
11
  import "@babel/parser"
12
12
  import "@babel/plugin-proposal-decorators"
@@ -46,7 +46,7 @@ import "import-meta-resolve"
46
46
  import "./processScript/transform.js"
47
47
  import "@samual/lib/clearObject"
48
48
  import "@samual/lib/copyFilePersistent"
49
+ import "fs/promises"
49
50
  import "@samual/lib/AutoMap"
50
51
  import "@samual/lib/writeFilePersistent"
51
- import "fs/promises"
52
52
  import "chokidar"
package/package.json CHANGED
@@ -1,7 +1,22 @@
1
1
  {
2
2
  "name": "hackmud-script-manager",
3
- "version": "0.21.1-5970667",
3
+ "type": "module",
4
+ "version": "0.21.1-628a731",
4
5
  "description": "Script manager for game hackmud, with minification, TypeScript support, and player script type definition generation.",
6
+ "author": "Samual Norman <me@samual.uk> (https://samual.uk/)",
7
+ "contributors": [
8
+ "Daniel Swann (https://github.com/danswann)",
9
+ "Longboyy",
10
+ "Helloman892",
11
+ "Sarah Klocke (https://sarahisweird.dev/)"
12
+ ],
13
+ "license": "MIT",
14
+ "homepage": "https://github.com/samualtnorman/hackmud-script-manager#readme",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/samualtnorman/hackmud-script-manager.git"
18
+ },
19
+ "bugs": "https://github.com/samualtnorman/hackmud-script-manager/issues",
5
20
  "keywords": [
6
21
  "api",
7
22
  "command-line",
@@ -17,20 +32,17 @@
17
32
  "golf",
18
33
  "golfer"
19
34
  ],
20
- "homepage": "https://github.com/samualtnorman/hackmud-script-manager#readme",
21
- "bugs": "https://github.com/samualtnorman/hackmud-script-manager/issues",
22
- "license": "MIT",
23
- "author": "Samual Norman <me@samual.uk> (https://samual.uk/)",
24
- "contributors": [
25
- "Daniel Swann (https://github.com/danswann)",
26
- "Longboyy",
27
- "Helloman892",
28
- "Sarah Klocke (https://sarahisweird.dev/)"
29
- ],
35
+ "exports": {
36
+ ".": "./index.js",
37
+ "./*": "./*.js",
38
+ "./*.js": "./*.js"
39
+ },
30
40
  "main": "index.js",
31
- "repository": {
32
- "type": "git",
33
- "url": "https://github.com/samualtnorman/hackmud-script-manager.git"
41
+ "bin": {
42
+ "hsm": "bin/hsm.js"
43
+ },
44
+ "peerDependencies": {
45
+ "typescript": "^5.4.5"
34
46
  },
35
47
  "dependencies": {
36
48
  "@babel/generator": "^7.26.2",
@@ -76,18 +88,6 @@
76
88
  "rollup": "^4.27.4",
77
89
  "terser": "^5.36.0"
78
90
  },
79
- "peerDependencies": {
80
- "typescript": "^5.4.5"
81
- },
82
- "type": "module",
83
- "exports": {
84
- ".": "./index.js",
85
- "./*": "./*.js",
86
- "./*.js": "./*.js"
87
- },
88
- "bin": {
89
- "hsm": "bin/hsm.js"
90
- },
91
91
  "engines": {
92
92
  "node": "^18 || >=20"
93
93
  }
@@ -9,20 +9,23 @@ export type ProcessOptions = LaxPartial<{
9
9
  /** the user going to be hosting this script (or set to `true` if not yet known) */ scriptUser: string | true;
10
10
  filePath: string;
11
11
  /** whether to mangle function and class names (defaults to `false`) */ mangleNames: boolean;
12
- /** when set to `true` forces use of quine cheats
13
- *
14
- * when set to `false` forces quine cheats not to be used
15
- *
16
- * when left unset or set to `undefined`, automatically uses or doesn't use quine cheats based on character count
17
- */
12
+ /**
13
+ * when set to `true` forces use of quine cheats
14
+ *
15
+ * when set to `false` forces quine cheats not to be used
16
+ *
17
+ * when left unset or set to `undefined`, automatically uses or doesn't use quine cheats based on character count
18
+ */
18
19
  forceQuineCheats: boolean;
19
20
  rootFolderPath: string;
20
21
  }> & {
21
22
  scriptName: string | true;
22
23
  };
23
- /** Minifies a given script
24
- * @param code JavaScript or TypeScript code
25
- * @param options {@link ProcessOptions details} */
24
+ /**
25
+ * Minifies a given script
26
+ * @param code JavaScript or TypeScript code
27
+ * @param options {@link ProcessOptions details}
28
+ */
26
29
  export declare function processScript(code: string, { minify: shouldMinify, uniqueId, scriptUser, scriptName, filePath, mangleNames, forceQuineCheats, rootFolderPath }: ProcessOptions): Promise<{
27
30
  script: string;
28
31
  warnings: {
@@ -1,21 +1,22 @@
1
- import babelGenerator from "@babel/generator"
1
+ import { relative, isAbsolute, sep } from "path"
2
+ import aebzhxabshj61x7158qbcn2x from "@babel/generator"
2
3
  import { parse } from "@babel/parser"
3
- import babelPluginProposalDecorators from "@babel/plugin-proposal-decorators"
4
- import babelPluginProposalDestructuringPrivate from "@babel/plugin-proposal-destructuring-private"
5
- import babelPluginProposalExplicitResourceManagement from "@babel/plugin-proposal-explicit-resource-management"
6
- import babelPluginTransformClassProperties from "@babel/plugin-transform-class-properties"
7
- import babelPluginTransformClassStaticBlock from "@babel/plugin-transform-class-static-block"
8
- import babelPluginTransformExponentiationOperator from "@babel/plugin-transform-exponentiation-operator"
9
- import babelPluginTransformJsonStrings from "@babel/plugin-transform-json-strings"
10
- import babelPluginTransformLogicalAssignmentOperators from "@babel/plugin-transform-logical-assignment-operators"
11
- import babelPluginTransformNullishCoalescingOperator from "@babel/plugin-transform-nullish-coalescing-operator"
12
- import babelPluginTransformNumericSeparator from "@babel/plugin-transform-numeric-separator"
13
- import babelPluginTransformObjectRestSpread from "@babel/plugin-transform-object-rest-spread"
14
- import babelPluginTransformOptionalCatchBinding from "@babel/plugin-transform-optional-catch-binding"
15
- import babelPluginTransformOptionalChaining from "@babel/plugin-transform-optional-chaining"
16
- import babelPluginTransformPrivatePropertyInObject from "@babel/plugin-transform-private-property-in-object"
17
- import babelPluginTransformUnicodeSetsRegex from "@babel/plugin-transform-unicode-sets-regex"
18
- import babelTraverse from "@babel/traverse"
4
+ import s2ijmvl7wzm8x394g1t9hy8q from "@babel/plugin-proposal-decorators"
5
+ import ol4uaa84wjloic2wsoi6umo8 from "@babel/plugin-proposal-destructuring-private"
6
+ import cbsvdf0g10wznhaefq3xse17 from "@babel/plugin-proposal-explicit-resource-management"
7
+ import j07gcj286yuti7d039w8qp0u from "@babel/plugin-transform-class-properties"
8
+ import upwk5e6zb7t9muf3l9ti8udk from "@babel/plugin-transform-class-static-block"
9
+ import fpgic0shirjc7nvp6qxdbs8u from "@babel/plugin-transform-exponentiation-operator"
10
+ import f5ic1rjer9khd55x2hcf00m1 from "@babel/plugin-transform-json-strings"
11
+ import k1omyve9bniu90tg7tbjt9vk from "@babel/plugin-transform-logical-assignment-operators"
12
+ import yhl3lcharmsmfpq182cxrptq from "@babel/plugin-transform-nullish-coalescing-operator"
13
+ import mlyvai1hug0j9bjtom8lyrkp from "@babel/plugin-transform-numeric-separator"
14
+ import y62i7opsnlr2x3j4qu1ufsvv from "@babel/plugin-transform-object-rest-spread"
15
+ import n5vivjwibw69juzwbc941n4e from "@babel/plugin-transform-optional-catch-binding"
16
+ import tw1r15cx7xxc8faz7rt7jva9 from "@babel/plugin-transform-optional-chaining"
17
+ import ik82kk7qeg2vi4ycdwkqr0ws from "@babel/plugin-transform-private-property-in-object"
18
+ import ea48loi9ddodrbpp8w2ei0uh from "@babel/plugin-transform-unicode-sets-regex"
19
+ import lc792rc2i7ecp4gwhh6mo7ge from "@babel/traverse"
19
20
  import t from "@babel/types"
20
21
  import rollupPluginAlias from "@rollup/plugin-alias"
21
22
  import { babel } from "@rollup/plugin-babel"
@@ -23,7 +24,6 @@ import rollupPluginCommonJS from "@rollup/plugin-commonjs"
23
24
  import rollupPluginJSON from "@rollup/plugin-json"
24
25
  import rollupPluginNodeResolve from "@rollup/plugin-node-resolve"
25
26
  import { assert } from "@samual/lib/assert"
26
- import { relative, isAbsolute, sep } from "path"
27
27
  import prettier from "prettier"
28
28
  import { rollup } from "rollup"
29
29
  import { supportedExtensions } from "../constants.js"
@@ -38,9 +38,24 @@ import "acorn"
38
38
  import "terser"
39
39
  import "import-meta-resolve"
40
40
  import "@samual/lib/clearObject"
41
- const { format } = prettier,
42
- { default: generate } = babelGenerator,
43
- { default: traverse } = babelTraverse
41
+ const generate = aebzhxabshj61x7158qbcn2x.default,
42
+ babelPluginProposalDecorators = s2ijmvl7wzm8x394g1t9hy8q.default,
43
+ babelPluginProposalDestructuringPrivate = ol4uaa84wjloic2wsoi6umo8.default,
44
+ babelPluginProposalExplicitResourceManagement = cbsvdf0g10wznhaefq3xse17.default,
45
+ babelPluginTransformClassProperties = j07gcj286yuti7d039w8qp0u.default,
46
+ babelPluginTransformClassStaticBlock = upwk5e6zb7t9muf3l9ti8udk.default,
47
+ babelPluginTransformExponentiationOperator = fpgic0shirjc7nvp6qxdbs8u.default,
48
+ babelPluginTransformJsonStrings = f5ic1rjer9khd55x2hcf00m1.default,
49
+ babelPluginTransformLogicalAssignmentOperators = k1omyve9bniu90tg7tbjt9vk.default,
50
+ babelPluginTransformNullishCoalescingOperator = yhl3lcharmsmfpq182cxrptq.default,
51
+ babelPluginTransformNumericSeparator = mlyvai1hug0j9bjtom8lyrkp.default,
52
+ babelPluginTransformObjectRestSpread = y62i7opsnlr2x3j4qu1ufsvv.default,
53
+ babelPluginTransformOptionalCatchBinding = n5vivjwibw69juzwbc941n4e.default,
54
+ babelPluginTransformOptionalChaining = tw1r15cx7xxc8faz7rt7jva9.default,
55
+ babelPluginTransformPrivatePropertyInObject = ik82kk7qeg2vi4ycdwkqr0ws.default,
56
+ babelPluginTransformUnicodeSetsRegex = ea48loi9ddodrbpp8w2ei0uh.default,
57
+ traverse = lc792rc2i7ecp4gwhh6mo7ge.default,
58
+ { format } = prettier
44
59
  async function processScript(
45
60
  code,
46
61
  {
@@ -56,7 +71,7 @@ async function processScript(
56
71
  rootFolderPath
57
72
  }
58
73
  ) {
59
- assert(/^\w{11}$/.exec(uniqueId), "src/processScript/index.ts:81:36")
74
+ assert(/^\w{11}$/.exec(uniqueId), "src/processScript/index.ts:82:36")
60
75
  const sourceCode = code
61
76
  let autocomplete, statedSeclevel
62
77
  const autocompleteMatch = /^function\s*\(.+\/\/(?<autocomplete>.+)/.exec(code)
@@ -117,30 +132,30 @@ async function processScript(
117
132
  }
118
133
  }
119
134
  }
120
- assert(/^\w{11}$/.exec(uniqueId), "src/processScript/index.ts:162:36")
135
+ assert(/^\w{11}$/.exec(uniqueId), "src/processScript/index.ts:161:36")
121
136
  const plugins = [
122
- [babelPluginProposalDecorators.default, { decoratorsBeforeExport: !0 }],
123
- [babelPluginTransformClassProperties.default],
124
- [babelPluginTransformClassStaticBlock.default],
125
- [babelPluginTransformPrivatePropertyInObject.default],
126
- [babelPluginTransformLogicalAssignmentOperators.default],
127
- [babelPluginTransformNumericSeparator.default],
128
- [babelPluginTransformNullishCoalescingOperator.default],
129
- [babelPluginTransformOptionalChaining.default],
130
- [babelPluginTransformOptionalCatchBinding.default],
131
- [babelPluginTransformJsonStrings.default],
132
- [babelPluginTransformObjectRestSpread.default],
133
- [babelPluginTransformExponentiationOperator.default],
134
- [babelPluginTransformUnicodeSetsRegex.default],
135
- [babelPluginProposalDestructuringPrivate.default],
136
- [babelPluginProposalExplicitResourceManagement.default]
137
+ [babelPluginProposalDecorators, { decoratorsBeforeExport: !0 }],
138
+ [babelPluginTransformClassProperties],
139
+ [babelPluginTransformClassStaticBlock],
140
+ [babelPluginTransformPrivatePropertyInObject],
141
+ [babelPluginTransformLogicalAssignmentOperators],
142
+ [babelPluginTransformNumericSeparator],
143
+ [babelPluginTransformNullishCoalescingOperator],
144
+ [babelPluginTransformOptionalChaining],
145
+ [babelPluginTransformOptionalCatchBinding],
146
+ [babelPluginTransformJsonStrings],
147
+ [babelPluginTransformObjectRestSpread],
148
+ [babelPluginTransformExponentiationOperator],
149
+ [babelPluginTransformUnicodeSetsRegex],
150
+ [babelPluginProposalDestructuringPrivate],
151
+ [babelPluginProposalExplicitResourceManagement]
137
152
  ]
138
153
  let filePathResolved
139
154
  if (filePath) {
140
155
  filePathResolved = relative(".", filePath)
141
156
  if (filePath.endsWith(".ts"))
142
157
  plugins.push([
143
- (await import("@babel/plugin-transform-typescript")).default,
158
+ await import("@babel/plugin-transform-typescript").then(module => module.default),
144
159
  { allowDeclareFields: !0, optimizeConstEnums: !0 }
145
160
  ])
146
161
  else {
@@ -153,22 +168,22 @@ async function processScript(
153
168
  babelPluginProposalThrowExpressions,
154
169
  babelPluginProposalRecordAndTuple
155
170
  ] = await Promise.all([
156
- import("@babel/plugin-proposal-do-expressions"),
157
- import("@babel/plugin-proposal-function-bind"),
158
- import("@babel/plugin-proposal-function-sent"),
159
- import("@babel/plugin-proposal-partial-application"),
160
- import("@babel/plugin-proposal-pipeline-operator"),
161
- import("@babel/plugin-proposal-throw-expressions"),
162
- import("@babel/plugin-proposal-record-and-tuple")
171
+ import("@babel/plugin-proposal-do-expressions").then(module => module.default),
172
+ import("@babel/plugin-proposal-function-bind").then(module => module.default),
173
+ import("@babel/plugin-proposal-function-sent").then(module => module.default),
174
+ import("@babel/plugin-proposal-partial-application").then(module => module.default),
175
+ import("@babel/plugin-proposal-pipeline-operator").then(module => module.default),
176
+ import("@babel/plugin-proposal-throw-expressions").then(module => module.default),
177
+ import("@babel/plugin-proposal-record-and-tuple").then(module => module.default)
163
178
  ])
164
179
  plugins.push(
165
- [babelPluginProposalDoExpressions.default],
166
- [babelPluginProposalFunctionBind.default],
167
- [babelPluginProposalFunctionSent.default],
168
- [babelPluginProposalPartialApplication.default],
169
- [babelPluginProposalPipelineOperator.default, { proposal: "hack", topicToken: "%" }],
170
- [babelPluginProposalThrowExpressions.default],
171
- [babelPluginProposalRecordAndTuple.default, { syntaxType: "hash", importPolyfill: !0 }]
180
+ [babelPluginProposalDoExpressions],
181
+ [babelPluginProposalFunctionBind],
182
+ [babelPluginProposalFunctionSent],
183
+ [babelPluginProposalPartialApplication],
184
+ [babelPluginProposalPipelineOperator, { proposal: "hack", topicToken: "%" }],
185
+ [babelPluginProposalThrowExpressions],
186
+ [babelPluginProposalRecordAndTuple, { syntaxType: "hash", importPolyfill: !0 }]
172
187
  )
173
188
  }
174
189
  } else {
@@ -183,24 +198,24 @@ async function processScript(
183
198
  babelPluginProposalThrowExpressions,
184
199
  babelPluginProposalRecordAndTuple
185
200
  ] = await Promise.all([
186
- import("@babel/plugin-transform-typescript"),
187
- import("@babel/plugin-proposal-do-expressions"),
188
- import("@babel/plugin-proposal-function-bind"),
189
- import("@babel/plugin-proposal-function-sent"),
190
- import("@babel/plugin-proposal-partial-application"),
191
- import("@babel/plugin-proposal-pipeline-operator"),
192
- import("@babel/plugin-proposal-throw-expressions"),
193
- import("@babel/plugin-proposal-record-and-tuple")
201
+ import("@babel/plugin-transform-typescript").then(module => module.default),
202
+ import("@babel/plugin-proposal-do-expressions").then(module => module.default),
203
+ import("@babel/plugin-proposal-function-bind").then(module => module.default),
204
+ import("@babel/plugin-proposal-function-sent").then(module => module.default),
205
+ import("@babel/plugin-proposal-partial-application").then(module => module.default),
206
+ import("@babel/plugin-proposal-pipeline-operator").then(module => module.default),
207
+ import("@babel/plugin-proposal-throw-expressions").then(module => module.default),
208
+ import("@babel/plugin-proposal-record-and-tuple").then(module => module.default)
194
209
  ])
195
210
  plugins.push(
196
- [babelPluginTransformTypescript.default, { allowDeclareFields: !0, optimizeConstEnums: !0 }],
197
- [babelPluginProposalDoExpressions.default],
198
- [babelPluginProposalFunctionBind.default],
199
- [babelPluginProposalFunctionSent.default],
200
- [babelPluginProposalPartialApplication.default],
201
- [babelPluginProposalPipelineOperator.default, { proposal: "hack", topicToken: "%" }],
202
- [babelPluginProposalThrowExpressions.default],
203
- [babelPluginProposalRecordAndTuple.default, { syntaxType: "hash", importPolyfill: !0 }]
211
+ [babelPluginTransformTypescript, { allowDeclareFields: !0, optimizeConstEnums: !0 }],
212
+ [babelPluginProposalDoExpressions],
213
+ [babelPluginProposalFunctionBind],
214
+ [babelPluginProposalFunctionSent],
215
+ [babelPluginProposalPartialApplication],
216
+ [babelPluginProposalPipelineOperator, { proposal: "hack", topicToken: "%" }],
217
+ [babelPluginProposalThrowExpressions],
218
+ [babelPluginProposalRecordAndTuple, { syntaxType: "hash", importPolyfill: !0 }]
204
219
  )
205
220
  }
206
221
  const bundle = await rollup({
@@ -253,7 +268,7 @@ async function processScript(
253
268
  traverse(file, {
254
269
  MemberExpression({ node: memberExpression }) {
255
270
  if (!memberExpression.computed) {
256
- assert("Identifier" == memberExpression.property.type, "src/processScript/index.ts:326:60")
271
+ assert("Identifier" == memberExpression.property.type, "src/processScript/index.ts:325:60")
257
272
  if ("prototype" == memberExpression.property.name) {
258
273
  memberExpression.computed = !0
259
274
  memberExpression.property = t.stringLiteral("prototype")
@@ -3,16 +3,19 @@ import type { LaxPartial } from "@samual/lib";
3
3
  type MinifyOptions = LaxPartial<{
4
4
  /** 11 a-z 0-9 characters */ uniqueId: string;
5
5
  /** whether to mangle function and class names (defaults to `false`) */ mangleNames: boolean;
6
- /** when set to `true` forces use of quine cheats
7
- *
8
- * when set to `false` forces quine cheats not to be used
9
- *
10
- * when left unset or set to `undefined`, automatically uses or doesn't use quine cheats based on character count
11
- */
6
+ /**
7
+ * when set to `true` forces use of quine cheats
8
+ *
9
+ * when set to `false` forces quine cheats not to be used
10
+ *
11
+ * when left unset or set to `undefined`, automatically uses or doesn't use quine cheats based on character count
12
+ */
12
13
  forceQuineCheats: boolean;
13
14
  /** the comment inserted after the function signature */ autocomplete: string;
14
15
  }>;
15
- /** @param file babel ast node representing a file containing transformed code
16
- * @param options {@link MinifyOptions details} */
16
+ /**
17
+ * @param file babel ast node representing a file containing transformed code
18
+ * @param options {@link MinifyOptions details}
19
+ */
17
20
  export declare function minify(file: File, { uniqueId, mangleNames, forceQuineCheats, autocomplete }?: MinifyOptions): Promise<string>;
18
21
  export {};
@@ -1,5 +1,5 @@
1
- import babelGenerator from "@babel/generator"
2
- import babelTraverse from "@babel/traverse"
1
+ import aebzhxabshj61x7158qbcn2x from "@babel/generator"
2
+ import lc792rc2i7ecp4gwhh6mo7ge from "@babel/traverse"
3
3
  import t from "@babel/types"
4
4
  import { assert } from "@samual/lib/assert"
5
5
  import { countHackmudCharacters } from "@samual/lib/countHackmudCharacters"
@@ -7,12 +7,12 @@ import { spliceString } from "@samual/lib/spliceString"
7
7
  import { tokenizer, tokTypes } from "acorn"
8
8
  import * as terser from "terser"
9
9
  import { getReferencePathsToGlobal, includesIllegalString, replaceUnsafeStrings } from "./shared.js"
10
- const { default: generate } = babelGenerator,
11
- { default: traverse } = babelTraverse,
10
+ const generate = aebzhxabshj61x7158qbcn2x.default,
11
+ traverse = lc792rc2i7ecp4gwhh6mo7ge.default,
12
12
  minifyNumber = async number =>
13
13
  /\$\((?<number>.+)\)/.exec((await terser.minify(`$(${number})`, { ecma: 2015 })).code).groups.number
14
14
  async function minify(file, { uniqueId = "00000000000", mangleNames = !1, forceQuineCheats, autocomplete } = {}) {
15
- assert(/^\w{11}$/.exec(uniqueId), "src/processScript/minify.ts:46:36")
15
+ assert(/^\w{11}$/.exec(uniqueId), "src/processScript/minify.ts:45:36")
16
16
  let program
17
17
  traverse(file, {
18
18
  Program(path) {
@@ -52,7 +52,7 @@ async function minify(file, { uniqueId = "00000000000", mangleNames = !1, forceQ
52
52
  traverse(fileBeforeJSONValueReplacement, {
53
53
  MemberExpression({ node: memberExpression }) {
54
54
  if (!memberExpression.computed) {
55
- assert("Identifier" == memberExpression.property.type, "src/processScript/minify.ts:115:60")
55
+ assert("Identifier" == memberExpression.property.type, "src/processScript/minify.ts:113:60")
56
56
  if ("prototype" == memberExpression.property.name) {
57
57
  memberExpression.computed = !0
58
58
  memberExpression.property = t.identifier(`_${uniqueId}_PROTOTYPE_PROPERTY_`)
@@ -164,7 +164,7 @@ async function minify(file, { uniqueId = "00000000000", mangleNames = !1, forceQ
164
164
  },
165
165
  MemberExpression({ node: memberExpression }) {
166
166
  if (!memberExpression.computed) {
167
- assert("Identifier" == memberExpression.property.type, "src/processScript/minify.ts:249:62")
167
+ assert("Identifier" == memberExpression.property.type, "src/processScript/minify.ts:248:62")
168
168
  if (!(memberExpression.property.name.length < 3)) {
169
169
  memberExpression.computed = !0
170
170
  memberExpression.property = t.stringLiteral(memberExpression.property.name)
@@ -238,7 +238,7 @@ async function minify(file, { uniqueId = "00000000000", mangleNames = !1, forceQ
238
238
  })
239
239
  await Promise.all(promises)
240
240
  const functionDeclaration = file.program.body[0]
241
- assert("FunctionDeclaration" == functionDeclaration.type, "src/processScript/minify.ts:354:61")
241
+ assert("FunctionDeclaration" == functionDeclaration.type, "src/processScript/minify.ts:350:61")
242
242
  if (jsonValues.length) {
243
243
  hasComment = !0
244
244
  if (1 == jsonValues.length)
@@ -358,7 +358,7 @@ async function minify(file, { uniqueId = "00000000000", mangleNames = !1, forceQ
358
358
  )
359
359
  }
360
360
  if (1 == forceQuineCheats) return code
361
- assert(scriptBeforeJSONValueReplacement, "src/processScript/minify.ts:485:43")
361
+ assert(scriptBeforeJSONValueReplacement, "src/processScript/minify.ts:481:43")
362
362
  return countHackmudCharacters(scriptBeforeJSONValueReplacement) <= countHackmudCharacters(code) + Number(hasComment)
363
363
  ? scriptBeforeJSONValueReplacement
364
364
  : code
@@ -371,7 +371,7 @@ function parseObjectExpression(node, o) {
371
371
  "Identifier" == property.key.type ||
372
372
  "NumericLiteral" == property.key.type ||
373
373
  "StringLiteral" == property.key.type,
374
- "src/processScript/minify.ts:507:4"
374
+ "src/processScript/minify.ts:503:4"
375
375
  )
376
376
  if ("ArrayExpression" == property.value.type) {
377
377
  const childArray = []
@@ -2,8 +2,10 @@ import type { LaxPartial } from "@samual/lib";
2
2
  export type PreprocessOptions = LaxPartial<{
3
3
  uniqueId: string;
4
4
  }>;
5
- /** @param code source code for preprocessing
6
- * @param options {@link PreprocessOptions details} */
5
+ /**
6
+ * @param code source code for preprocessing
7
+ * @param options {@link PreprocessOptions details}
8
+ */
7
9
  export declare function preprocess(code: string, { uniqueId }?: PreprocessOptions): Promise<{
8
10
  code: string;
9
11
  }>;
@@ -1,14 +1,14 @@
1
- import babelGenerator from "@babel/generator"
1
+ import aebzhxabshj61x7158qbcn2x from "@babel/generator"
2
2
  import { parse } from "@babel/parser"
3
- import babelTraverse from "@babel/traverse"
3
+ import lc792rc2i7ecp4gwhh6mo7ge from "@babel/traverse"
4
4
  import t from "@babel/types"
5
5
  import { assert } from "@samual/lib/assert"
6
6
  import { spliceString } from "@samual/lib/spliceString"
7
7
  import { resolve } from "import-meta-resolve"
8
- const { default: traverse } = babelTraverse,
9
- { default: generate } = babelGenerator
8
+ const generate = aebzhxabshj61x7158qbcn2x.default,
9
+ traverse = lc792rc2i7ecp4gwhh6mo7ge.default
10
10
  async function preprocess(code, { uniqueId = "00000000000" } = {}) {
11
- assert(/^\w{11}$/.test(uniqueId), "src/processScript/preprocess.ts:23:36")
11
+ assert(/^\w{11}$/.test(uniqueId), "src/processScript/preprocess.ts:20:36")
12
12
  const sourceCode = code
13
13
  let lengthBefore, file, program
14
14
  do {
@@ -47,11 +47,11 @@ async function preprocess(code, { uniqueId = "00000000000" } = {}) {
47
47
  })
48
48
  break
49
49
  } catch (error_) {
50
- assert(error_ instanceof SyntaxError, "src/processScript/preprocess.ts:67:42")
50
+ assert(error_ instanceof SyntaxError, "src/processScript/preprocess.ts:64:42")
51
51
  error = error_
52
52
  }
53
53
  if ("BABEL_PARSER_SYNTAX_ERROR" != error.code || "PrivateInExpectedIn" != error.reasonCode) {
54
- console.log(/.+/.exec(code.slice(error.pos))?.[0])
54
+ console.error(/.+/.exec(code.slice(error.pos))?.[0])
55
55
  throw error
56
56
  }
57
57
  const codeSlice = code.slice(error.pos)
@@ -7,12 +7,14 @@ export type TransformOptions = LaxPartial<{
7
7
  }> & {
8
8
  scriptName: string | true;
9
9
  };
10
- /** transform a given babel `File` to be hackmud compatible
11
- *
12
- * (returned File will need `postprocess()`ing)
13
- * @param file babel ast node representing a file containing preprocessed code
14
- * @param sourceCode the original untouched source code
15
- * @param options {@link TransformOptions details} */
10
+ /**
11
+ * transform a given babel `File` to be hackmud compatible
12
+ *
13
+ * (returned File will need `postprocess()`ing)
14
+ * @param file babel ast node representing a file containing preprocessed code
15
+ * @param sourceCode the original untouched source code
16
+ * @param options {@link TransformOptions details}
17
+ */
16
18
  export declare function transform(file: File, sourceCode: string, { uniqueId, scriptUser, scriptName, seclevel }: TransformOptions): {
17
19
  file: File;
18
20
  seclevel: number;