create-lt-adventure 0.2.3 → 0.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/README.md CHANGED
@@ -21,7 +21,7 @@ create-lt-adventure
21
21
  Update the package using
22
22
 
23
23
  ```bash
24
- bun update create-lt-adventure -g --latest
24
+ bun update create-lt-adventure -g --latest --no-cache
25
25
  ```
26
26
 
27
27
  ### Development Installation
@@ -12,23 +12,6 @@ import { fileURLToPath } from "url";
12
12
 
13
13
  const __dirname = dirname(fileURLToPath(import.meta.url));
14
14
 
15
- const data = await p.group(
16
- {
17
- features: () =>
18
- p.multiselect({
19
- message: "Additional features?",
20
- initialValues: ["ftp", "discord"],
21
- required: false,
22
- options: [
23
- // { label: "Prereleases", value: "prereleases" },
24
- { label: "Uploading via FTP", value: "ftp" },
25
- { label: "Discord webhook on updates", value: "discord" },
26
- ],
27
- }),
28
- },
29
- { onCancel: () => process.exit(0) },
30
- );
31
-
32
15
  // Grab main.yml template
33
16
  const mainYmlTemplate = await readFile(`${__dirname}/main.yml`, "utf8");
34
17
 
@@ -37,67 +20,6 @@ const moduleDir = process.env.MODULE_DIR || process.cwd();
37
20
 
38
21
  let mainYml = mainYmlTemplate;
39
22
 
40
- // I should probably just make this a JSON and convert it to accursed YAML at the end step...
41
- if (data.features.includes("discord") || data.features.includes("ftp")) {
42
- mainYml += `
43
- # https://stackoverflow.com/questions/61919141/read-json-file-in-github-actions
44
- - id: set_var
45
- run: echo "PACKAGE_JSON=$(jq -c . < module.json)" >> $GITHUB_OUTPUT
46
-
47
- - name: Get FTP Path
48
- id: ftp
49
- run: echo "ftp=\${{fromJson(steps.set_var.outputs.PACKAGE_JSON).flags.ftpPath}}" >> $GITHUB_OUTPUT
50
-
51
- - name: Get Module ID
52
- id: module_id
53
- run: echo "module_id=\${{fromJson(steps.set_var.outputs.PACKAGE_JSON).id}}" >> $GITHUB_OUTPUT
54
-
55
- - name: Get Module Title
56
- id: title
57
- run: echo "title=\${{fromJson(steps.set_var.outputs.PACKAGE_JSON).title}}" >> $GITHUB_OUTPUT
58
- `;
59
- }
60
-
61
- if (data.features.includes("ftp")) {
62
- mainYml += `
63
- - name: Put Files into FTP Folder
64
- env:
65
- FTP_PASSWORD: \${{ secrets.FTP_PASSWORD }}
66
- if: \${{ env.FTP_PASSWORD != '' }}
67
- run: |
68
- ls
69
- mkdir _ftp
70
- cp module.json _ftp/
71
- cp module.zip _ftp/
72
- mkdir _ftp/\${{steps.module_id.outputs.module_id}}
73
- cp module.json _ftp/\${{steps.module_id.outputs.module_id}}/
74
-
75
- - name: Upload FTP
76
- uses: sebastianpopp/ftp-action@releases/v2
77
- env:
78
- FTP_PASSWORD: \${{ secrets.FTP_PASSWORD }}
79
- if: \${{ env.FTP_PASSWORD != '' }}
80
- with:
81
- host: \${{ secrets.FTP_SERVER }}
82
- user: \${{ secrets.FTP_USERNAME }}
83
- password: \${{ env.FTP_PASSWORD }}
84
- localDir: _ftp
85
- remoteDir: \${{steps.ftp.outputs.ftp}}
86
- `;
87
- }
88
-
89
- if (data.features.includes("discord")) {
90
- mainYml += `
91
- - name: Send Discord Ping
92
- uses: Ilshidur/action-discord@0.3.2
93
- env:
94
- DISCORD_WEBHOOK: \${{ secrets.DISCORD_WEBHOOK }}
95
- if: \${{ env.DISCORD_WEBHOOK != '' && !github.event.release.prerelease }}
96
- with:
97
- args: "\${{steps.title.outputs.title}} has been updated to version \`\${{github.event.release.tag_name}}\`!"
98
- `;
99
- }
100
-
101
23
  // Create main.yml file
102
24
  const workflowDir = `${moduleDir}/.github/workflows`;
103
25
  await mkdir(workflowDir, { recursive: true });
@@ -106,10 +28,4 @@ await writeFile(`${workflowDir}/main.yml`, mainYml);
106
28
  let note = "✅ Installed!";
107
29
  note += "\nThe Github workflow is triggered by making a new release. To make a new release go to your repository's Releases page which can be found in the sidebar on the right and press \"Draft a new release.\" Fill in the version number and you're done!"
108
30
 
109
- if (data.features.includes("discord"))
110
- note +=
111
- "\n - For the Discord integration, make sure to create a DISCORD_WEBHOOK secret with the webhook url.";
112
- if (data.features.includes("ftp"))
113
- note += `\n - For the FTP integration, make sure to include the FTP_SERVER, FTP_USERNAME, and FTP_PASSWORD secrets.\n\tThe module JSON also can include a flag stating its subdirectory on the FTP server under ${cyan("flags.ftpPath")}.`;
114
-
115
31
  p.note(note, "Github Workflow");
package/dist/bin.js CHANGED
@@ -364,7 +364,7 @@ if (migrateFromFlag) {
364
364
  const spin = p.spinner();
365
365
  spin.start(`Migrating packs from ${cyan(migrateFromFlag)}...`);
366
366
  try {
367
- await migrateFrom(migrateFromFlag, modulePath);
367
+ await migrateFrom(migrateFromFlag, modulePath, spin);
368
368
  spin.stop("Migration completed successfully");
369
369
  }
370
370
  catch (err) {
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
package/dist/migrate.d.ts CHANGED
@@ -1,2 +1,4 @@
1
- export declare function migrateFrom(source: string, modulePath: string): Promise<void>;
1
+ import { SpinnerResult } from "@clack/prompts";
2
+ export declare function isUrl(input: string): boolean;
3
+ export declare function migrateFrom(source: string, modulePath: string, p: SpinnerResult): Promise<void>;
2
4
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAyGA,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHnF"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAuB/C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5C;AA6ED,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyHrG"}
package/dist/migrate.js CHANGED
@@ -1,25 +1,26 @@
1
- import * as p from "@clack/prompts";
2
- import { mkdir, readdir, rm, readFile, writeFile, stat, copyFile, cp } from "fs/promises";
1
+ import { mkdir, readdir, readFile, writeFile, stat, copyFile, cp } from "fs/promises";
3
2
  import { existsSync, readdirSync, statSync } from "fs";
4
- import { tmpdir } from "os";
5
3
  import { join } from "path";
6
4
  import AdmZip from "adm-zip";
7
5
  import { extractPack } from "@foundryvtt/foundryvtt-cli";
8
6
  import { yellow, cyan } from "kolorist";
9
- function isUrl(input) {
7
+ import { safeJsonParse, isSafePackName } from "./utils.js";
8
+ export function isUrl(input) {
10
9
  return input.startsWith("http://") || input.startsWith("https://");
11
10
  }
12
- async function readModuleJson(source) {
11
+ async function readModuleJson(source, p) {
13
12
  if (isUrl(source)) {
14
- const spinner = p.spinner();
15
- spinner.start(`Fetching module.json from ${cyan(source)}...`);
13
+ p.message(`Fetching module.json from ${cyan(source)}...`);
14
+ if (source.endsWith(".zip")) {
15
+ source = source.replace(".zip", ".json");
16
+ }
16
17
  const response = await fetch(source);
17
18
  if (!response.ok) {
18
19
  throw new Error(`Failed to fetch module.json: ${response.status} ${response.statusText}`);
19
20
  }
20
21
  const text = await response.text();
21
- const parsed = JSON.parse(text);
22
- spinner.stop(`module.json fetched successfully`);
22
+ const parsed = safeJsonParse(text, source);
23
+ p.message(`module.json fetched successfully`);
23
24
  return parsed;
24
25
  }
25
26
  if (!existsSync(source)) {
@@ -31,7 +32,7 @@ async function readModuleJson(source) {
31
32
  throw new Error(`module.json not found at ${source}`);
32
33
  }
33
34
  const content = await readFile(jsonPath, "utf8");
34
- return JSON.parse(content);
35
+ return safeJsonParse(content, jsonPath);
35
36
  }
36
37
  async function downloadZipBuffer(url) {
37
38
  const response = await fetch(url);
@@ -73,25 +74,28 @@ async function isLevelDBFolder(folderPath) {
73
74
  const levelDBMarkers = ["CURRENT", "LOCK", "MANIFEST-000001", "MANIFEST-000002"];
74
75
  return entries.some((e) => levelDBMarkers.some((m) => e === m || e.endsWith(".ldb") || e.endsWith(".log")));
75
76
  }
76
- export async function migrateFrom(source, modulePath) {
77
- const sourceModuleJson = await readModuleJson(source);
77
+ export async function migrateFrom(source, modulePath, p) {
78
+ const sourceModuleJson = await readModuleJson(source, p);
78
79
  if (!sourceModuleJson.download) {
79
80
  throw new Error("No download URL found in module.json. The source module does not have a download property.");
80
81
  }
81
82
  if (!sourceModuleJson.packs || sourceModuleJson.packs.length === 0) {
82
- p.log.warn("No packs found in the source module.json.");
83
+ p.message("No packs found in the source module.json.");
83
84
  return;
84
85
  }
85
- p.log.step(`Downloading module from ${cyan(sourceModuleJson.download)}`);
86
- const tempDir = join(tmpdir(), `fvtt-migrate-${Date.now()}`);
87
- const extractDir = join(tempDir, "extracted");
86
+ const maxWidth = Math.max(20, (process.stdout.columns || 80) - 20);
87
+ const downloadUrl = sourceModuleJson.download.length > maxWidth
88
+ ? sourceModuleJson.download.slice(0, maxWidth - 3) + "..."
89
+ : sourceModuleJson.download;
90
+ p.message(`Downloading module from ${cyan(downloadUrl)}`);
91
+ const tempDir = join(modulePath, "temp", `${sourceModuleJson.id || `module-${Date.now()}`}`);
88
92
  try {
89
93
  await mkdir(tempDir, { recursive: true });
90
94
  const zipBuffer = await downloadZipBuffer(sourceModuleJson.download);
91
95
  const zip = new AdmZip(zipBuffer);
92
- zip.extractAllTo(extractDir, true);
93
- const moduleRoot = findModuleRoot(extractDir);
94
- p.log.step(`Found ${sourceModuleJson.packs.length} pack(s) in module.json: ${sourceModuleJson.packs.map((p) => p.name).join(", ")}`);
96
+ zip.extractAllTo(tempDir, true);
97
+ const moduleRoot = findModuleRoot(tempDir);
98
+ p.message(`Found ${sourceModuleJson.packs.length} pack(s) in module.json: ${sourceModuleJson.packs.map((p) => p.name).join(", ")}`);
95
99
  const targetPacksDir = join(modulePath, "packs");
96
100
  const targetDataDir = join(modulePath, "data");
97
101
  await mkdir(targetPacksDir, { recursive: true });
@@ -99,6 +103,10 @@ export async function migrateFrom(source, modulePath) {
99
103
  const newPacks = [];
100
104
  const newPackNames = [];
101
105
  for (const pack of sourceModuleJson.packs) {
106
+ if (!isSafePackName(pack.name)) {
107
+ p.message(`Skipping pack with unsafe name: ${pack.name}`);
108
+ continue;
109
+ }
102
110
  const sourcePackPath = join(moduleRoot, pack.path);
103
111
  const dbFileName = `${pack.name}.db`;
104
112
  const sourceDbFile = join(sourcePackPath, dbFileName);
@@ -108,14 +116,14 @@ export async function migrateFrom(source, modulePath) {
108
116
  sourceInputPath = sourcePackPath;
109
117
  isFolder = true;
110
118
  }
111
- else if (existsSync(sourceDbFile)) {
119
+ else if (existsSync(join(sourcePackPath, dbFileName))) {
112
120
  sourceInputPath = sourceDbFile;
113
121
  }
114
122
  if (!sourceInputPath) {
115
- p.log.warn(`Pack not found at ${sourcePackPath} or ${sourceDbFile}. Skipping ${pack.name}.`);
123
+ p.message(`Pack not found at ${sourcePackPath} or ${sourceDbFile}. Skipping ${pack.name}.`);
116
124
  continue;
117
125
  }
118
- p.log.step(`Extracting ${yellow(pack.name)}...`);
126
+ p.message(`Extracting ${yellow(pack.name)}...`);
119
127
  if (isFolder) {
120
128
  await cp(sourceInputPath, join(targetPacksDir, pack.name), { recursive: true });
121
129
  }
@@ -151,19 +159,20 @@ export async function migrateFrom(source, modulePath) {
151
159
  const targetModuleJsonPath = join(modulePath, "module.json");
152
160
  if (existsSync(targetModuleJsonPath)) {
153
161
  const content = await readFile(targetModuleJsonPath, "utf8");
154
- const targetModuleJson = JSON.parse(content);
162
+ const targetModuleJson = safeJsonParse(content, targetModuleJsonPath);
155
163
  targetModuleJson.packs = newPacks;
156
164
  if (sourceModuleJson.packFolders) {
157
165
  targetModuleJson.packFolders = sourceModuleJson.packFolders;
158
166
  }
159
167
  await writeFile(targetModuleJsonPath, JSON.stringify(targetModuleJson, null, "\t"));
160
- p.log.step("Updated module.json with migrated packs");
168
+ p.message("Updated module.json with migrated packs");
161
169
  }
162
170
  }
163
- p.log.info(`Migration complete! ${newPacks.length} pack(s) processed.`);
171
+ p.message(`Migration complete! ${newPacks.length} pack(s) processed. Extracted module kept in ${cyan(tempDir)}.`);
164
172
  }
165
- finally {
166
- await rm(tempDir, { recursive: true, force: true });
173
+ catch (error) {
174
+ p.message(`Migration failed: ${error instanceof Error ? error.message : String(error)}`);
175
+ throw error;
167
176
  }
168
177
  }
169
178
  //# sourceMappingURL=migrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAsBxC,SAAS,KAAK,CAAC,KAAa;IAC3B,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEjF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;IACxE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxC,OAAO,SAAS,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,OAAO;QACR,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,UAAkB;IACnE,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAC/G,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACxD,OAAO;IACR,CAAC;IAED,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE9C,IAAI,CAAC;QACJ,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEnC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,KAAK,CAAC,MAAM,4BAA4B,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAErI,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAEtD,IAAI,eAAe,GAAkB,IAAI,CAAC;YAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,IAAI,MAAM,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,eAAe,GAAG,cAAc,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,eAAe,GAAG,YAAY,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,cAAc,OAAO,YAAY,cAAc,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC7F,SAAS;YACV,CAAC;YAED,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEjD,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACP,MAAM,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACnG,MAAM,WAAW,CAChB,YAAY,EACZ,cAAc,EACd;gBACC,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE;oBACZ,KAAK,EAAE,IAAI;iBACX;aACD,CACD,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;gBAC9F,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI;oBAC5B,MAAM,EAAE,UAAU;oBAClB,SAAS,EAAE,UAAU;iBACrB;aACD,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;gBAE3D,gBAAgB,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAClC,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;oBAClC,gBAAgB,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;gBAC7D,CAAC;gBAED,MAAM,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACpF,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;QAED,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,MAAM,qBAAqB,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QACV,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB3D,MAAM,UAAU,KAAK,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAc,EAAE,CAAgB;IAC7D,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,CAAC,CAAC,OAAO,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,aAAa,CAAa,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEjF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,aAAa,CAAa,OAAO,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;IACxE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7B,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxC,OAAO,SAAS,CAAC;gBAClB,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,OAAO;QACR,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7G,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc,EAAE,UAAkB,EAAE,CAAgB;IACrF,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAC/G,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;QACvD,OAAO;IACR,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ;QAC9D,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK;QAC1D,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IAC7B,CAAC,CAAC,OAAO,CAAC,2BAA2B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAE7F,IAAI,CAAC;QACJ,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,OAAO,CAAC,SAAS,gBAAgB,CAAC,KAAK,CAAC,MAAM,4BAA4B,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpI,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,CAAC,CAAC,OAAO,CAAC,mCAAmC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1D,SAAS;YACV,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAEtD,IAAI,eAAe,GAAkB,IAAI,CAAC;YAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,IAAI,MAAM,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,eAAe,GAAG,cAAc,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;gBACzD,eAAe,GAAG,YAAY,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,CAAC,CAAC,OAAO,CAAC,qBAAqB,cAAc,OAAO,YAAY,cAAc,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC5F,SAAS;YACV,CAAC;YAED,CAAC,CAAC,OAAO,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhD,IAAI,QAAQ,EAAE,CAAC;gBACd,MAAM,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACP,MAAM,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACnG,MAAM,WAAW,CAChB,YAAY,EACZ,cAAc,EACd;gBACC,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE;oBACZ,KAAK,EAAE,IAAI;iBACX;aACD,CACD,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;gBAC9F,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI;oBAC5B,MAAM,EAAE,UAAU;oBAClB,SAAS,EAAE,UAAU;iBACrB;aACD,CAAC,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAM,gBAAgB,GAAG,aAAa,CAAa,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAElF,gBAAgB,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAClC,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;oBAClC,gBAAgB,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;gBAC7D,CAAC;gBAED,MAAM,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBACpF,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;YACtD,CAAC;QACF,CAAC;QAED,CAAC,CAAC,OAAO,CAAC,uBAAuB,QAAQ,CAAC,MAAM,gDAAgD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC,OAAO,CAAC,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzF,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC"}
@@ -0,0 +1,56 @@
1
+ interface SystemDefinition {
2
+ id: string;
3
+ type: string;
4
+ compatibility: {
5
+ minimum: string;
6
+ };
7
+ }
8
+ export interface PackDefinition {
9
+ label: string;
10
+ name: string;
11
+ path: string;
12
+ system?: string;
13
+ type: "Adventure" | "Actor" | "Item" | "JournalEntry" | "Macro" | "Playlist" | "RollTable" | "Scene" | "ActiveEffect" | "Cards";
14
+ ownership: {
15
+ PLAYER: string;
16
+ ASSISTANT: string;
17
+ };
18
+ }
19
+ /**
20
+ * Compares two dot-separated version strings numerically.
21
+ * Returns true only when `latest` is strictly greater than `current`,
22
+ * so a local build that is newer than (or equal to) the published version
23
+ * does not trigger an "update available" notice.
24
+ */
25
+ export declare function isNewerVersion(latest: string, current: string): boolean;
26
+ /** Turns a human title into a default lowercase, hyphenated module id. */
27
+ export declare function slugify(title: string | undefined): string;
28
+ /** Lowercase alphanumeric with hyphens only (e.g. `my-awesome-module`). */
29
+ export declare function isValidModuleId(id: string | undefined): boolean;
30
+ /**
31
+ * Maps selected system ids to their full definitions, dropping any id that has
32
+ * no matching definition so `undefined` never leaks into module.json.
33
+ */
34
+ export declare function buildSystemRelationships<T extends SystemDefinition>(selected: string[], systems: readonly T[]): T[];
35
+ interface BuiltPack extends Omit<PackDefinition, "system"> {
36
+ system: string;
37
+ }
38
+ /**
39
+ * Expands the chosen pack templates into one concrete pack per selected system,
40
+ * namespacing the pack name and path with the system id.
41
+ */
42
+ export declare function buildPacks(selectedPacks: readonly PackDefinition[], systems: readonly string[]): BuiltPack[];
43
+ /**
44
+ * Returns the name of the first package manager found on PATH.
45
+ * Checks bun → pnpm → yarn → npm, falling back to "npm".
46
+ */
47
+ export declare function detectPackageManager(): "bun" | "pnpm" | "yarn" | "npm";
48
+ /** Parses JSON, throwing a friendly error that names the offending source. */
49
+ export declare function safeJsonParse<T = unknown>(text: string, source: string): T;
50
+ /**
51
+ * Guards pack names that originate from an external module.json before they are
52
+ * joined into write paths, preventing path-escape (e.g. `../`, slashes).
53
+ */
54
+ export declare function isSafePackName(name: string | undefined): boolean;
55
+ export {};
56
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE;QACd,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;CACF;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,cAAc,GAAG,OAAO,CAAC;IAChI,SAAS,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAkBvE;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOzD;AAID,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE/D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,gBAAgB,EAClE,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,EAAE,SAAS,CAAC,EAAE,GACnB,CAAC,EAAE,CAIL;AAED,UAAU,SAAU,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACzB,aAAa,EAAE,SAAS,cAAc,EAAE,EACxC,OAAO,EAAE,SAAS,MAAM,EAAE,GACxB,SAAS,EAAE,CASb;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAWtE;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAO1E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEhE"}
package/dist/utils.js ADDED
@@ -0,0 +1,93 @@
1
+ import { execSync } from "child_process";
2
+ ;
3
+ /**
4
+ * Compares two dot-separated version strings numerically.
5
+ * Returns true only when `latest` is strictly greater than `current`,
6
+ * so a local build that is newer than (or equal to) the published version
7
+ * does not trigger an "update available" notice.
8
+ */
9
+ export function isNewerVersion(latest, current) {
10
+ const parse = (v) => String(v)
11
+ .split(".")
12
+ .map((part) => Number.parseInt(part, 10) || 0);
13
+ const a = parse(latest);
14
+ const b = parse(current);
15
+ const length = Math.max(a.length, b.length);
16
+ for (let i = 0; i < length; i++) {
17
+ const x = a[i] ?? 0;
18
+ const y = b[i] ?? 0;
19
+ if (x > y)
20
+ return true;
21
+ if (x < y)
22
+ return false;
23
+ }
24
+ return false;
25
+ }
26
+ /** Turns a human title into a default lowercase, hyphenated module id. */
27
+ export function slugify(title) {
28
+ return (title
29
+ ?.toLowerCase()
30
+ .replace(/\s+/g, "-")
31
+ .replace(/[^a-z0-9-]/g, "") || "my-module");
32
+ }
33
+ const MODULE_ID_REGEX = /^[a-z0-9-]+$/;
34
+ /** Lowercase alphanumeric with hyphens only (e.g. `my-awesome-module`). */
35
+ export function isValidModuleId(id) {
36
+ return !!id && MODULE_ID_REGEX.test(id);
37
+ }
38
+ /**
39
+ * Maps selected system ids to their full definitions, dropping any id that has
40
+ * no matching definition so `undefined` never leaks into module.json.
41
+ */
42
+ export function buildSystemRelationships(selected, systems) {
43
+ return selected
44
+ .map((id) => systems.find((s) => s.id === id))
45
+ .filter((s) => s !== undefined);
46
+ }
47
+ /**
48
+ * Expands the chosen pack templates into one concrete pack per selected system,
49
+ * namespacing the pack name and path with the system id.
50
+ */
51
+ export function buildPacks(selectedPacks, systems) {
52
+ return selectedPacks.flatMap((pack) => systems.map((system) => ({
53
+ ...pack,
54
+ system,
55
+ name: `${system}-${pack.name}`,
56
+ path: `packs/${system}-${pack.name}`,
57
+ })));
58
+ }
59
+ /**
60
+ * Returns the name of the first package manager found on PATH.
61
+ * Checks bun → pnpm → yarn → npm, falling back to "npm".
62
+ */
63
+ export function detectPackageManager() {
64
+ const candidates = ["bun", "pnpm", "yarn", "npm"];
65
+ for (const pm of candidates) {
66
+ try {
67
+ execSync(`${pm} --version`, { stdio: "ignore" });
68
+ return pm;
69
+ }
70
+ catch {
71
+ // not available
72
+ }
73
+ }
74
+ return "npm";
75
+ }
76
+ /** Parses JSON, throwing a friendly error that names the offending source. */
77
+ export function safeJsonParse(text, source) {
78
+ try {
79
+ return JSON.parse(text);
80
+ }
81
+ catch (err) {
82
+ const reason = err instanceof Error ? err.message : String(err);
83
+ throw new Error(`Failed to parse JSON from ${source}: ${reason}`);
84
+ }
85
+ }
86
+ /**
87
+ * Guards pack names that originate from an external module.json before they are
88
+ * joined into write paths, preventing path-escape (e.g. `../`, slashes).
89
+ */
90
+ export function isSafePackName(name) {
91
+ return !!name && /^[a-zA-Z0-9._-]+$/.test(name) && name !== "." && name !== "..";
92
+ }
93
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-lt-adventure",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "A CLI tool to scaffold Foundry VTT modules",
5
5
  "keywords": [
6
6
  "foundry-vtt",