hackmud-script-manager 0.21.1-5970667 → 0.21.1-698970b

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,19 @@
1
1
  {
2
2
  "name": "hackmud-script-manager",
3
- "version": "0.21.1-5970667",
3
+ "type": "module",
4
+ "version": "0.21.1-698970b",
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": "github:samualtnorman/hackmud-script-manager",
16
+ "bugs": "https://github.com/samualtnorman/hackmud-script-manager/issues",
5
17
  "keywords": [
6
18
  "api",
7
19
  "command-line",
@@ -17,20 +29,17 @@
17
29
  "golf",
18
30
  "golfer"
19
31
  ],
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
- ],
32
+ "exports": {
33
+ ".": "./index.js",
34
+ "./*": "./*.js",
35
+ "./*.js": "./*.js"
36
+ },
30
37
  "main": "index.js",
31
- "repository": {
32
- "type": "git",
33
- "url": "https://github.com/samualtnorman/hackmud-script-manager.git"
38
+ "bin": {
39
+ "hsm": "bin/hsm.js"
40
+ },
41
+ "peerDependencies": {
42
+ "typescript": "^5.4.5"
34
43
  },
35
44
  "dependencies": {
36
45
  "@babel/generator": "^7.26.2",
@@ -76,18 +85,6 @@
76
85
  "rollup": "^4.27.4",
77
86
  "terser": "^5.36.0"
78
87
  },
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
88
  "engines": {
92
89
  "node": "^18 || >=20"
93
90
  }
@@ -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 o8o18ueduqgposmxo6khc98u 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 yerg92h3xef0pxntmentis4x from "@babel/plugin-proposal-decorators"
5
+ import bte791wmvheh6c8duknw52o8 from "@babel/plugin-proposal-destructuring-private"
6
+ import hh8bh9as603wznftfw598ev4 from "@babel/plugin-proposal-explicit-resource-management"
7
+ import mw6tmscbfy336xel0wwko3m5 from "@babel/plugin-transform-class-properties"
8
+ import hqa52cv6hq1ln2kxplifj0vt from "@babel/plugin-transform-class-static-block"
9
+ import kue2jd7y9faemw8fy3f873jc from "@babel/plugin-transform-exponentiation-operator"
10
+ import rla2xnm97c6qkc9c3lugzrsn from "@babel/plugin-transform-json-strings"
11
+ import yrmvvy1iqsvv49eiqoaiagw1 from "@babel/plugin-transform-logical-assignment-operators"
12
+ import u3y6roa2q93oh9vgn7fh5bp8 from "@babel/plugin-transform-nullish-coalescing-operator"
13
+ import q5clnfu3mx2a2utmxqlodg7x from "@babel/plugin-transform-numeric-separator"
14
+ import w96tm2oib174p8k4grehe3y1 from "@babel/plugin-transform-object-rest-spread"
15
+ import zk6pwiooyiv76c30twyn2zhq from "@babel/plugin-transform-optional-catch-binding"
16
+ import l8e6321b0ayw5a4k0tzzxigq from "@babel/plugin-transform-optional-chaining"
17
+ import nmo6kym6bvsq78mjyglii3dt from "@babel/plugin-transform-private-property-in-object"
18
+ import b87sx47xj4o4ode3kr2ona7l from "@babel/plugin-transform-unicode-sets-regex"
19
+ import gpiwud5ibbmji5fxkev1yx1i 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 = o8o18ueduqgposmxo6khc98u.default,
42
+ babelPluginProposalDecorators = yerg92h3xef0pxntmentis4x.default,
43
+ babelPluginProposalDestructuringPrivate = bte791wmvheh6c8duknw52o8.default,
44
+ babelPluginProposalExplicitResourceManagement = hh8bh9as603wznftfw598ev4.default,
45
+ babelPluginTransformClassProperties = mw6tmscbfy336xel0wwko3m5.default,
46
+ babelPluginTransformClassStaticBlock = hqa52cv6hq1ln2kxplifj0vt.default,
47
+ babelPluginTransformExponentiationOperator = kue2jd7y9faemw8fy3f873jc.default,
48
+ babelPluginTransformJsonStrings = rla2xnm97c6qkc9c3lugzrsn.default,
49
+ babelPluginTransformLogicalAssignmentOperators = yrmvvy1iqsvv49eiqoaiagw1.default,
50
+ babelPluginTransformNullishCoalescingOperator = u3y6roa2q93oh9vgn7fh5bp8.default,
51
+ babelPluginTransformNumericSeparator = q5clnfu3mx2a2utmxqlodg7x.default,
52
+ babelPluginTransformObjectRestSpread = w96tm2oib174p8k4grehe3y1.default,
53
+ babelPluginTransformOptionalCatchBinding = zk6pwiooyiv76c30twyn2zhq.default,
54
+ babelPluginTransformOptionalChaining = l8e6321b0ayw5a4k0tzzxigq.default,
55
+ babelPluginTransformPrivatePropertyInObject = nmo6kym6bvsq78mjyglii3dt.default,
56
+ babelPluginTransformUnicodeSetsRegex = b87sx47xj4o4ode3kr2ona7l.default,
57
+ traverse = gpiwud5ibbmji5fxkev1yx1i.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
- plugins.push([
143
- (await import("@babel/plugin-transform-typescript")).default,
157
+ plugins.unshift([
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({
@@ -209,7 +224,14 @@ async function processScript(
209
224
  rollupPluginJSON({ preferConst: !0 }),
210
225
  {
211
226
  name: "hackmud-script-manager",
227
+ resolveId(source) {
228
+ if (source == filePathResolved) return filePathResolved
229
+ },
230
+ async load(id) {
231
+ if (id == filePathResolved) return (await preprocess(code, { uniqueId })).code
232
+ },
212
233
  async transform(code, id) {
234
+ if (id == filePathResolved) return
213
235
  if (isAbsolute(id) && !id.includes(`${sep}node_modules${sep}`))
214
236
  return (await preprocess(code, { uniqueId })).code
215
237
  let program
@@ -253,7 +275,7 @@ async function processScript(
253
275
  traverse(file, {
254
276
  MemberExpression({ node: memberExpression }) {
255
277
  if (!memberExpression.computed) {
256
- assert("Identifier" == memberExpression.property.type, "src/processScript/index.ts:326:60")
278
+ assert("Identifier" == memberExpression.property.type, "src/processScript/index.ts:336:60")
257
279
  if ("prototype" == memberExpression.property.name) {
258
280
  memberExpression.computed = !0
259
281
  memberExpression.property = t.stringLiteral("prototype")
@@ -283,7 +305,7 @@ async function processScript(
283
305
  break
284
306
  case "ObjectPattern":
285
307
  for (const property of lValue.properties) {
286
- assert("ObjectProperty" == property.type, "src/processScript/index.ts:356:51")
308
+ assert("ObjectProperty" == property.type, "src/processScript/index.ts:367:51")
287
309
  renameVariables(property.value)
288
310
  }
289
311
  break
@@ -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 o8o18ueduqgposmxo6khc98u from "@babel/generator"
2
+ import gpiwud5ibbmji5fxkev1yx1i 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 = o8o18ueduqgposmxo6khc98u.default,
11
+ traverse = gpiwud5ibbmji5fxkev1yx1i.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 o8o18ueduqgposmxo6khc98u from "@babel/generator"
2
2
  import { parse } from "@babel/parser"
3
- import babelTraverse from "@babel/traverse"
3
+ import gpiwud5ibbmji5fxkev1yx1i 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 = o8o18ueduqgposmxo6khc98u.default,
9
+ traverse = gpiwud5ibbmji5fxkev1yx1i.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;