@osdk/create-app 2.7.0-beta.1 → 2.7.0-beta.10
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/CHANGELOG.md +28 -0
- package/README.md +2 -1
- package/build/esm/{esm-576NIKEI.js → esm-ANPPBOCI.js} +75 -8
- package/build/esm/esm-ANPPBOCI.js.map +1 -0
- package/build/esm/{esm-3JDLURG4.js → esm-DRNISRMJ.js} +147 -8
- package/build/esm/esm-DRNISRMJ.js.map +1 -0
- package/build/esm/{esm-247BD5IQ.js → esm-HEF4SCJP.js} +147 -27
- package/build/esm/esm-HEF4SCJP.js.map +1 -0
- package/build/esm/{esm-SERFCO3E.js → esm-RRX43VDZ.js} +7 -6
- package/build/esm/esm-RRX43VDZ.js.map +1 -0
- package/build/esm/index.js +113 -60
- package/build/esm/index.js.map +1 -1
- package/build/types/cli.d.ts.map +1 -1
- package/build/types/generate/generateEnv.d.ts +2 -2
- package/build/types/generate/generateEnv.d.ts.map +1 -1
- package/build/types/generate/generateNpmRc.d.ts +4 -3
- package/build/types/generate/generateNpmRc.d.ts.map +1 -1
- package/build/types/prompts/promptOntologyAndOsdkPackageAndOsdkRegistryUrl.d.ts +12 -0
- package/build/types/prompts/promptOntologyAndOsdkPackageAndOsdkRegistryUrl.d.ts.map +1 -0
- package/build/types/prompts/promptOntologyAndOsdkPackageAndOsdkRegistryUrl.test.d.ts.map +1 -0
- package/build/types/run.d.ts +3 -3
- package/build/types/templates.d.ts +1 -1
- package/package.json +11 -11
- package/build/esm/esm-247BD5IQ.js.map +0 -1
- package/build/esm/esm-3JDLURG4.js.map +0 -1
- package/build/esm/esm-576NIKEI.js.map +0 -1
- package/build/esm/esm-SERFCO3E.js.map +0 -1
- package/build/types/prompts/promptOntologyRid.d.ts +0 -3
- package/build/types/prompts/promptOntologyRid.d.ts.map +0 -1
- package/build/types/prompts/promptOntologyRid.test.d.ts.map +0 -1
- package/build/types/prompts/promptOsdkPackage.d.ts +0 -3
- package/build/types/prompts/promptOsdkPackage.d.ts.map +0 -1
- package/build/types/prompts/promptOsdkPackage.test.d.ts +0 -1
- package/build/types/prompts/promptOsdkPackage.test.d.ts.map +0 -1
- package/build/types/prompts/promptOsdkRegistryUrl.d.ts +0 -3
- package/build/types/prompts/promptOsdkRegistryUrl.d.ts.map +0 -1
- package/build/types/prompts/promptOsdkRegistryUrl.test.d.ts +0 -1
- package/build/types/prompts/promptOsdkRegistryUrl.test.d.ts.map +0 -1
- /package/build/types/prompts/{promptOntologyRid.test.d.ts → promptOntologyAndOsdkPackageAndOsdkRegistryUrl.test.d.ts} +0 -0
package/build/esm/index.js
CHANGED
|
@@ -127,10 +127,32 @@ ${italic("(Example: https://example.palantirfoundry.com)")}`, {
|
|
|
127
127
|
return foundryUrl.replace(/\/$/, "");
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
// src/prompts/
|
|
131
|
-
async function
|
|
132
|
-
ontology
|
|
130
|
+
// src/prompts/promptOntologyAndOsdkPackageAndOsdkRegistryUrl.ts
|
|
131
|
+
async function promptOntologyAndOsdkPackageAndOsdkRegistryUrl({
|
|
132
|
+
ontology,
|
|
133
|
+
osdkPackage,
|
|
134
|
+
osdkRegistryUrl,
|
|
135
|
+
skipOsdk,
|
|
136
|
+
sdkVersion
|
|
133
137
|
}) {
|
|
138
|
+
if (skipOsdk) {
|
|
139
|
+
return {};
|
|
140
|
+
}
|
|
141
|
+
if (sdkVersion !== "1.x" && osdkPackage == null && ontology == null && osdkRegistryUrl == null) {
|
|
142
|
+
const skip = await consola.prompt("Will you be using an OSDK in your application?", {
|
|
143
|
+
type: "select",
|
|
144
|
+
options: [{
|
|
145
|
+
label: "Yes, I will be using an OSDK",
|
|
146
|
+
value: "yes"
|
|
147
|
+
}, {
|
|
148
|
+
label: "No, I will only be using Platform APIs",
|
|
149
|
+
value: "no"
|
|
150
|
+
}]
|
|
151
|
+
});
|
|
152
|
+
if (skip === "no") {
|
|
153
|
+
return {};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
134
156
|
while (ontology == null || !/^ri\.ontology\.[^.]+\.ontology\.[^.]+$/.test(ontology)) {
|
|
135
157
|
if (ontology != null) {
|
|
136
158
|
consola.fail("Please enter a valid Ontology resource identifier (rid)");
|
|
@@ -140,13 +162,6 @@ ${italic("(Example: ri.ontology.main.ontology.1df1ce4c-f9d2-0f78-a316-287f6ac80b
|
|
|
140
162
|
type: "text"
|
|
141
163
|
});
|
|
142
164
|
}
|
|
143
|
-
return ontology;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// src/prompts/promptOsdkPackage.ts
|
|
147
|
-
async function promptOsdkPackage({
|
|
148
|
-
osdkPackage
|
|
149
|
-
}) {
|
|
150
165
|
while (osdkPackage == null || !/^@[a-z0-9-]+\/sdk$/.test(osdkPackage)) {
|
|
151
166
|
if (osdkPackage != null) {
|
|
152
167
|
consola.fail("Please enter a valid OSDK package name");
|
|
@@ -156,13 +171,6 @@ ${italic("(Example: @my-app/sdk)")}`, {
|
|
|
156
171
|
type: "text"
|
|
157
172
|
});
|
|
158
173
|
}
|
|
159
|
-
return osdkPackage;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
// src/prompts/promptOsdkRegistryUrl.ts
|
|
163
|
-
async function promptOsdkRegistryUrl({
|
|
164
|
-
osdkRegistryUrl
|
|
165
|
-
}) {
|
|
166
174
|
while (osdkRegistryUrl == null || !/^https:\/\/[^/]+\/artifacts\/api\/repositories\/ri\.artifacts\.[^/]+\/contents\/release\/npm\/?$/.test(osdkRegistryUrl)) {
|
|
167
175
|
if (osdkRegistryUrl != null) {
|
|
168
176
|
consola.fail("Please enter a valid NPM registry URL to install your OSDK package");
|
|
@@ -172,7 +180,11 @@ ${italic("(Example: https://example.palantirfoundry.com/artifacts/api/repositori
|
|
|
172
180
|
type: "text"
|
|
173
181
|
});
|
|
174
182
|
}
|
|
175
|
-
return
|
|
183
|
+
return {
|
|
184
|
+
ontology,
|
|
185
|
+
osdkPackage,
|
|
186
|
+
osdkRegistryUrl: osdkRegistryUrl.replace(/\/$/, "")
|
|
187
|
+
};
|
|
176
188
|
}
|
|
177
189
|
async function promptOverwrite({
|
|
178
190
|
project,
|
|
@@ -296,8 +308,8 @@ var TEMPLATES = [
|
|
|
296
308
|
buildDirectory: "./dist",
|
|
297
309
|
hidden: false,
|
|
298
310
|
files: {
|
|
299
|
-
"1.x": getPackageFiles(import('./esm-
|
|
300
|
-
"2.x": getPackageFiles(import('./esm-
|
|
311
|
+
"1.x": getPackageFiles(import('./esm-RRX43VDZ.js')),
|
|
312
|
+
"2.x": getPackageFiles(import('./esm-HEF4SCJP.js'))
|
|
301
313
|
}
|
|
302
314
|
},
|
|
303
315
|
// Expo
|
|
@@ -308,7 +320,7 @@ var TEMPLATES = [
|
|
|
308
320
|
buildDirectory: "./dist",
|
|
309
321
|
hidden: false,
|
|
310
322
|
files: {
|
|
311
|
-
"2.x": getPackageFiles(import('./esm-
|
|
323
|
+
"2.x": getPackageFiles(import('./esm-DRNISRMJ.js'))
|
|
312
324
|
}
|
|
313
325
|
},
|
|
314
326
|
// Vue
|
|
@@ -320,7 +332,7 @@ var TEMPLATES = [
|
|
|
320
332
|
hidden: false,
|
|
321
333
|
files: {
|
|
322
334
|
"1.x": getPackageFiles(import('./esm-BPDOE2XQ.js')),
|
|
323
|
-
"2.x": getPackageFiles(import('./esm-
|
|
335
|
+
"2.x": getPackageFiles(import('./esm-ANPPBOCI.js'))
|
|
324
336
|
}
|
|
325
337
|
},
|
|
326
338
|
// Tutorial: To do App
|
|
@@ -402,6 +414,14 @@ function generateEnvDevelopment({
|
|
|
402
414
|
}) {
|
|
403
415
|
const foundryApiUrl = corsProxy ? "http://localhost:8080" : foundryUrl;
|
|
404
416
|
const applicationUrl = "http://localhost:8080";
|
|
417
|
+
const ontologyEnvSection = ontology != null ? `
|
|
418
|
+
|
|
419
|
+
# This Ontology RID must match the Ontology RID your Developer Console is associated with.
|
|
420
|
+
# You can check the Ontology on the "Ontology SDK" tab of Developer Console.
|
|
421
|
+
# It typically does not need to be changed.
|
|
422
|
+
|
|
423
|
+
${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}
|
|
424
|
+
` : "";
|
|
405
425
|
return `# This env file is intended for developing on your local computer.
|
|
406
426
|
# To set up development in Foundry's Code Workspaces, see .env.code-workspaces.
|
|
407
427
|
# To deploy your application to production, see .env.production.
|
|
@@ -429,13 +449,7 @@ ${envPrefix}FOUNDRY_API_URL=${foundryApiUrl}
|
|
|
429
449
|
# Developer Console. It typically does not need to be changed.
|
|
430
450
|
|
|
431
451
|
${envPrefix}FOUNDRY_CLIENT_ID=${clientId}
|
|
432
|
-
|
|
433
|
-
# This Ontology RID must match the Ontology RID your Developer Console is associated with.
|
|
434
|
-
# You can check the Ontology on the "Data Resources" page of Developer Console.
|
|
435
|
-
# It typically does not need to be changed.
|
|
436
|
-
|
|
437
|
-
${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}
|
|
438
|
-
`;
|
|
452
|
+
${ontologyEnvSection}`;
|
|
439
453
|
}
|
|
440
454
|
function generateEnvProduction({
|
|
441
455
|
envPrefix,
|
|
@@ -445,6 +459,14 @@ function generateEnvProduction({
|
|
|
445
459
|
ontology
|
|
446
460
|
}) {
|
|
447
461
|
const applicationUrlOrDefault = applicationUrl ?? "<Fill in the domain at which you deploy your application>";
|
|
462
|
+
const ontologyEnvSection = ontology != null ? `
|
|
463
|
+
|
|
464
|
+
# This Ontology RID must match the Ontology RID your Developer Console is associated with.
|
|
465
|
+
# You can check the Ontology on the "Ontology SDK" tab of Developer Console.
|
|
466
|
+
# It typically does not need to be changed.
|
|
467
|
+
|
|
468
|
+
${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}
|
|
469
|
+
` : "";
|
|
448
470
|
return `# This env file is intended for deploying your application to production.
|
|
449
471
|
# To set up development on your local computer, see .env.development.
|
|
450
472
|
# To set up development in Foundry's Code Workspaces, see .env.code-workspaces.
|
|
@@ -472,13 +494,7 @@ ${envPrefix}FOUNDRY_API_URL=${foundryUrl}
|
|
|
472
494
|
# Developer Console. It typically does not need to be changed.
|
|
473
495
|
|
|
474
496
|
${envPrefix}FOUNDRY_CLIENT_ID=${clientId}
|
|
475
|
-
|
|
476
|
-
# This Ontology RID must match the Ontology RID your Developer Console is associated with.
|
|
477
|
-
# You can check the Ontology on the "Data Resources" page of Developer Console.
|
|
478
|
-
# It typically does not need to be changed.
|
|
479
|
-
|
|
480
|
-
${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}
|
|
481
|
-
`;
|
|
497
|
+
${ontologyEnvSection}`;
|
|
482
498
|
}
|
|
483
499
|
|
|
484
500
|
// src/generate/generateFoundryConfigJson.ts
|
|
@@ -502,15 +518,19 @@ function generateFoundryConfigJson({
|
|
|
502
518
|
|
|
503
519
|
// src/generate/generateNpmRc.ts
|
|
504
520
|
function generateNpmRc({
|
|
521
|
+
foundryUrl,
|
|
505
522
|
osdkPackage,
|
|
506
523
|
osdkRegistryUrl
|
|
507
524
|
}) {
|
|
508
|
-
const
|
|
509
|
-
const
|
|
510
|
-
const
|
|
511
|
-
|
|
512
|
-
|
|
525
|
+
const osdkRegistryUrlWithTrailingSlash = osdkRegistryUrl != null ? osdkRegistryUrl.endsWith("/") ? osdkRegistryUrl : osdkRegistryUrl + "/" : null;
|
|
526
|
+
const formattedFoundryUrl = foundryUrl.replace(/^https:\/\//, "").replace(/\/$/, "");
|
|
527
|
+
const artifactsApiUrl = formattedFoundryUrl + "/artifacts/api/";
|
|
528
|
+
const packageScope = osdkPackage?.split("/")[0];
|
|
529
|
+
const credentialsLine = `//${artifactsApiUrl}:_authToken=\${FOUNDRY_TOKEN}
|
|
513
530
|
`;
|
|
531
|
+
const registryLine = packageScope != null && osdkRegistryUrlWithTrailingSlash != null ? `${packageScope}:registry=${osdkRegistryUrlWithTrailingSlash}
|
|
532
|
+
` : "";
|
|
533
|
+
return credentialsLine + registryLine;
|
|
514
534
|
}
|
|
515
535
|
|
|
516
536
|
// src/run.ts
|
|
@@ -569,7 +589,7 @@ async function run({
|
|
|
569
589
|
cwd: fileURLToPath(import.meta.url)
|
|
570
590
|
});
|
|
571
591
|
ourPackageJsonPath ? JSON.parse(fs2.readFileSync(ourPackageJsonPath, "utf-8")).version : void 0;
|
|
572
|
-
const clientVersion = "2.7.0-beta.
|
|
592
|
+
const clientVersion = "2.7.0-beta.10";
|
|
573
593
|
const templateContext = {
|
|
574
594
|
application,
|
|
575
595
|
applicationUrl,
|
|
@@ -582,28 +602,46 @@ async function run({
|
|
|
582
602
|
};
|
|
583
603
|
const processFiles = function(dir) {
|
|
584
604
|
fs2.readdirSync(dir).forEach(function(file) {
|
|
585
|
-
|
|
586
|
-
const stat = fs2.statSync(
|
|
605
|
+
let fullPath = dir + "/" + file;
|
|
606
|
+
const stat = fs2.statSync(fullPath);
|
|
587
607
|
if (stat.isDirectory()) {
|
|
588
|
-
processFiles(
|
|
608
|
+
processFiles(fullPath);
|
|
589
609
|
return;
|
|
590
610
|
}
|
|
591
|
-
if (
|
|
592
|
-
fs2.renameSync(
|
|
611
|
+
if (fullPath.endsWith("/_gitignore")) {
|
|
612
|
+
fs2.renameSync(fullPath, fullPath.replace(/\/_gitignore$/, "/.gitignore"));
|
|
593
613
|
return;
|
|
594
614
|
}
|
|
595
|
-
if (
|
|
615
|
+
if (file.includes(".osdk")) {
|
|
616
|
+
if (osdkPackage == null) {
|
|
617
|
+
fs2.rmSync(fullPath);
|
|
618
|
+
return;
|
|
619
|
+
} else {
|
|
620
|
+
fs2.renameSync(fullPath, fullPath.replace(".osdk", ""));
|
|
621
|
+
fullPath = fullPath.replace(".osdk", "");
|
|
622
|
+
}
|
|
623
|
+
} else if (file.includes(".psdk")) {
|
|
624
|
+
if (osdkPackage == null) {
|
|
625
|
+
fs2.renameSync(fullPath, fullPath.replace(".psdk", ""));
|
|
626
|
+
fullPath = fullPath.replace(".psdk", "");
|
|
627
|
+
} else {
|
|
628
|
+
fs2.rmSync(fullPath);
|
|
629
|
+
return;
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
if (!fullPath.endsWith(".hbs")) {
|
|
596
633
|
return;
|
|
597
634
|
}
|
|
598
|
-
const templated = Handlebars.compile(fs2.readFileSync(
|
|
599
|
-
fs2.writeFileSync(
|
|
600
|
-
fs2.rmSync(
|
|
635
|
+
const templated = Handlebars.compile(fs2.readFileSync(fullPath, "utf-8"))(templateContext);
|
|
636
|
+
fs2.writeFileSync(fullPath.replace(/.hbs$/, ""), templated);
|
|
637
|
+
fs2.rmSync(fullPath);
|
|
601
638
|
});
|
|
602
639
|
};
|
|
603
640
|
processFiles(root);
|
|
604
641
|
const npmRc = generateNpmRc({
|
|
605
642
|
osdkPackage,
|
|
606
|
-
osdkRegistryUrl
|
|
643
|
+
osdkRegistryUrl,
|
|
644
|
+
foundryUrl
|
|
607
645
|
});
|
|
608
646
|
fs2.writeFileSync(path2.join(root, ".npmrc"), npmRc);
|
|
609
647
|
const envDevelopment = generateEnvDevelopment({
|
|
@@ -647,7 +685,7 @@ async function run({
|
|
|
647
685
|
|
|
648
686
|
// src/cli.ts
|
|
649
687
|
async function cli(args = process.argv) {
|
|
650
|
-
const base = yargs(hideBin(args)).version("2.7.0-beta.
|
|
688
|
+
const base = yargs(hideBin(args)).version("2.7.0-beta.10").wrap(Math.min(150, yargs().terminalWidth())).strict().help().command("$0 [project] [--<option>]", "Create a new OSDK application based on framework templates. Information may be provided through options to skip interactive prompts.", (yargs2) => yargs2.positional("project", {
|
|
651
689
|
type: "string",
|
|
652
690
|
describe: "Project name to create"
|
|
653
691
|
}).option("overwrite", {
|
|
@@ -677,13 +715,18 @@ async function cli(args = process.argv) {
|
|
|
677
715
|
describe: "Application resource identifier (rid)"
|
|
678
716
|
}).option("ontology", {
|
|
679
717
|
type: "string",
|
|
680
|
-
describe: "Ontology resource identifier (rid)"
|
|
718
|
+
describe: "Ontology resource identifier (rid)",
|
|
719
|
+
conflicts: "skipOsdk"
|
|
720
|
+
}).option("osdkPackage", {
|
|
721
|
+
type: "string",
|
|
722
|
+
describe: "OSDK package name for application",
|
|
723
|
+
conflicts: "skipOsdk"
|
|
724
|
+
}).option("skipOsdk", {
|
|
725
|
+
type: "boolean",
|
|
726
|
+
describe: "Skip filling in OSDK options"
|
|
681
727
|
}).option("clientId", {
|
|
682
728
|
type: "string",
|
|
683
729
|
describe: "OAuth client ID for application"
|
|
684
|
-
}).option("osdkPackage", {
|
|
685
|
-
type: "string",
|
|
686
|
-
describe: "OSDK package name for application"
|
|
687
730
|
}).option("osdkRegistryUrl", {
|
|
688
731
|
type: "string",
|
|
689
732
|
describe: "URL for NPM registry to install OSDK package"
|
|
@@ -694,6 +737,11 @@ async function cli(args = process.argv) {
|
|
|
694
737
|
type: "string",
|
|
695
738
|
array: true,
|
|
696
739
|
describe: "List of client-side scopes to be used when creating a client"
|
|
740
|
+
}).check((argv) => {
|
|
741
|
+
if (argv.skipOsdk && (argv.sdkVersion == null || argv.sdkVersion.startsWith("1."))) {
|
|
742
|
+
throw new Error("The --skipOsdk flag is only allowed when sdkVersion is 2.x. Please set --sdkVersion to 2.x or remove the --skipOsdk flag.");
|
|
743
|
+
}
|
|
744
|
+
return true;
|
|
697
745
|
}));
|
|
698
746
|
const parsed = base.parseSync();
|
|
699
747
|
const project = await promptProject(parsed);
|
|
@@ -709,10 +757,15 @@ async function cli(args = process.argv) {
|
|
|
709
757
|
const foundryUrl = await promptFoundryUrl(parsed);
|
|
710
758
|
const applicationUrl = await promptApplicationUrl(parsed);
|
|
711
759
|
const application = await promptApplicationRid(parsed);
|
|
712
|
-
const ontology = await promptOntologyRid(parsed);
|
|
713
760
|
const clientId = await promptClientId(parsed);
|
|
714
|
-
const
|
|
715
|
-
|
|
761
|
+
const {
|
|
762
|
+
osdkPackage,
|
|
763
|
+
ontology,
|
|
764
|
+
osdkRegistryUrl
|
|
765
|
+
} = await promptOntologyAndOsdkPackageAndOsdkRegistryUrl({
|
|
766
|
+
...parsed,
|
|
767
|
+
sdkVersion
|
|
768
|
+
});
|
|
716
769
|
const corsProxy = await promptCorsProxy(parsed);
|
|
717
770
|
const scopes = await promptScopes(parsed);
|
|
718
771
|
await run({
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/consola.ts","../../src/highlight.ts","../../src/prompts/promptApplicationRid.ts","../../src/prompts/promptApplicationUrl.ts","../../src/prompts/promptClientId.ts","../../src/prompts/promptCorsProxy.ts","../../src/prompts/promptFoundryUrl.ts","../../src/prompts/promptOntologyRid.ts","../../src/prompts/promptOsdkPackage.ts","../../src/prompts/promptOsdkRegistryUrl.ts","../../src/prompts/promptOverwrite.ts","../../src/prompts/promptProject.ts","../../src/prompts/promptScopes.ts","../../src/prompts/promptSdkVersion.ts","../../src/getPackageFiles.ts","../../src/generatedNoCheck/templates.ts","../../src/prompts/promptTemplate.ts","../../../generator-utils/build/esm/changeVersionPrefix.js","../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../src/generate/generateEnv.ts","../../src/generate/generateFoundryConfigJson.ts","../../src/generate/generateNpmRc.ts","../../src/run.ts","../../src/cli.ts"],"names":["defaultConsola","fs","path","sdkVersion","template","yargs"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola as defaultConsola, createConsola } from \"consola\";\n\n// https://github.com/unjs/consola?tab=readme-ov-file#await-promptmessage--type-cancel-\nconst cancelSymbol = Symbol.for(\"cancel\");\nexport const consola = createConsola({\n async prompt(message, opts) {\n const response = await defaultConsola.prompt(message, {\n ...opts,\n cancel: opts?.cancel ?? \"symbol\"\n });\n if (response === cancelSymbol) {\n defaultConsola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n return response;\n }\n});","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { colorize } from \"consola/utils\";\nexport function green(text) {\n return colorize(\"green\", text);\n}\nexport function italic(text) {\n return colorize(\"italic\", text);\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptApplicationRid({\n application\n}) {\n while (application == null || !/^ri\\.third-party-applications\\.[^.]+\\.application\\.[^.]+$/.test(application)) {\n if (application != null) {\n consola.fail(\"Please enter a valid application resource identifier (rid)\");\n }\n application = await consola.prompt(`Enter the application resource identifier (rid) for your application from Developer Console:\\n${italic(\"(Example: ri.third-party-applications.main.application.1c66b352-4e00-40d2-995d-061c9d533ace)\")}`, {\n type: \"text\"\n });\n }\n return application;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptApplicationUrl({\n skipApplicationUrl,\n applicationUrl\n}) {\n if (skipApplicationUrl) {\n return undefined;\n }\n if (applicationUrl == null) {\n const skip = await consola.prompt(`Do you know the URL your production application will be hosted on? This is required to create a production build of your application with the correct OAuth redirect URL.`, {\n type: \"select\",\n options: [{\n label: \"Yes, let me fill it here\",\n value: \"yes\"\n }, {\n label: \"No, I will fill it in later following the instructions in the generated README\",\n value: \"no\"\n }]\n });\n if (skip === \"no\") {\n return undefined;\n }\n }\n while (applicationUrl == null || !/^https?:\\/\\//.test(applicationUrl)) {\n if (applicationUrl != null) {\n consola.fail(\"Please enter a valid application URL\");\n }\n applicationUrl = await consola.prompt(`Enter the URL your production application will be hosted on:\\n${italic(\"(Example: https://myapp.example.palantirfoundry.com)\")}`, {\n type: \"text\"\n });\n }\n return applicationUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptClientId({\n clientId\n}) {\n while (clientId == null || !/^[0-9a-f]+$/.test(clientId)) {\n if (clientId != null) {\n consola.fail(\"Please enter a valid OAuth client ID\");\n }\n clientId = await consola.prompt(`Enter the OAuth client ID for your application from Developer Console:\\n${italic(\"(Example: 2650385ab6c5e0df3b44aff776b00a42)\")}`, {\n type: \"text\"\n });\n }\n return clientId;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptCorsProxy({\n corsProxy\n}) {\n if (corsProxy != null) {\n return corsProxy;\n }\n return consola.prompt(`Include a CORS proxy for Foundry API requests during local development?\\n${italic(\"This is required if your enrollment has not allowed localhost for CORS.\")}`, {\n type: \"confirm\",\n initial: false\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptFoundryUrl({\n foundryUrl\n}) {\n while (foundryUrl == null || !foundryUrl.startsWith(\"https://\")) {\n if (foundryUrl != null) {\n consola.fail(\"Please enter a valid Foundry URL\");\n }\n foundryUrl = await consola.prompt(`Enter the URL for your Foundry stack:\\n${italic(\"(Example: https://example.palantirfoundry.com)\")}`, {\n type: \"text\"\n });\n }\n return foundryUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOntologyRid({\n ontology\n}) {\n while (ontology == null || !/^ri\\.ontology\\.[^.]+\\.ontology\\.[^.]+$/.test(ontology)) {\n if (ontology != null) {\n consola.fail(\"Please enter a valid Ontology resource identifier (rid)\");\n }\n ontology = await consola.prompt(`Enter the Ontology resource identifier (rid) associated with your Developer Console:\\n${italic(\"(Example: ri.ontology.main.ontology.1df1ce4c-f9d2-0f78-a316-287f6ac80bb2)\")}`, {\n type: \"text\"\n });\n }\n return ontology;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOsdkPackage({\n osdkPackage\n}) {\n while (osdkPackage == null || !/^@[a-z0-9-]+\\/sdk$/.test(osdkPackage)) {\n if (osdkPackage != null) {\n consola.fail(\"Please enter a valid OSDK package name\");\n }\n osdkPackage = await consola.prompt(`Enter the OSDK package name for your application from Developer Console:\\n${italic(\"(Example: @my-app/sdk)\")}`, {\n type: \"text\"\n });\n }\n return osdkPackage;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOsdkRegistryUrl({\n osdkRegistryUrl\n}) {\n while (osdkRegistryUrl == null || !/^https:\\/\\/[^/]+\\/artifacts\\/api\\/repositories\\/ri\\.artifacts\\.[^/]+\\/contents\\/release\\/npm\\/?$/.test(osdkRegistryUrl)) {\n if (osdkRegistryUrl != null) {\n consola.fail(\"Please enter a valid NPM registry URL to install your OSDK package\");\n }\n osdkRegistryUrl = await consola.prompt(`Enter the NPM registry URL to install your OSDK package from Developer Console:\\n${italic(\"(Example: https://example.palantirfoundry.com/artifacts/api/repositories/ri.artifacts.main.repository.a4a7fe1c-486f-4226-b706-7b90005f527d/contents/release/npm)\")}`, {\n type: \"text\"\n });\n }\n return osdkRegistryUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { consola } from \"../consola.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptOverwrite({\n project,\n overwrite\n}) {\n if (overwrite != null) {\n return overwrite;\n }\n if (!fs.existsSync(path.join(process.cwd(), project))) {\n return true;\n }\n const result = await consola.prompt(`The directory ${green(project)} already exists do you want to overwrite or ignore it?`, {\n type: \"select\",\n options: [{\n label: \"Remove existing files and continue\",\n value: \"overwrite\"\n }, {\n label: \"Ignore files and continue\",\n value: \"ignore\"\n }, {\n label: \"Cancel\",\n value: \"cancel\"\n }]\n });\n switch (result) {\n case \"overwrite\":\n return true;\n case \"ignore\":\n return false;\n case \"cancel\":\n consola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptProject({\n project\n}) {\n while (project == null || !/^[a-zA-Z0-9-_]+$/.test(project)) {\n if (project != null) {\n consola.fail(\"Project name can only contain alphanumeric characters, hyphens and underscores\");\n }\n project = await consola.prompt(\"Project name:\", {\n type: \"text\",\n placeholder: \"my-osdk-app\",\n default: \"my-osdk-app\"\n });\n }\n return project;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nconst scopeNameRegex = /^[a-zA-Z-_:]+$/;\nexport async function promptScopes({\n scopes\n}) {\n while (true) {\n if (scopes != null) {\n const invalidScopes = scopes.filter(scope => !scopeNameRegex.test(scope));\n const allValidScopes = invalidScopes.length === 0;\n if (allValidScopes) {\n break;\n }\n const joinedInvalidScopes = invalidScopes.join(\", \");\n consola.fail(`Scopes [ ${joinedInvalidScopes} ] are invalid. Scope names can only contain letters, hyphens, underscores, and colons`);\n }\n const stringScopes = await consola.prompt(\"Enter the scopes to request during OAuth:\", {\n type: \"text\",\n placeholder: \"api:read-data api:write-data api:use-ontologies-read api:use-ontologies-write\",\n default: \"api:read-data api:write-data api:use-ontologies-read api:use-ontologies-write\"\n });\n scopes = stringScopes.split(\" \");\n }\n return deduplicateScopes(scopes);\n}\n\n// Preserving the originally specified scope order\nfunction deduplicateScopes(scopes) {\n const dedupedScopes = [];\n const seen = new Set();\n for (const scope of scopes) {\n if (seen.has(scope)) {\n continue;\n }\n dedupedScopes.push(scope);\n seen.add(scope);\n }\n return dedupedScopes;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptSdkVersion({\n sdkVersion,\n template\n}) {\n if (sdkVersion == null) {\n // If the SDK version is not provided, default to the earliest template version for backwards-compatibility\n return Object.keys(template.files)[0];\n }\n if (template.files[sdkVersion] == null) {\n consola.fail(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n sdkVersion = await consola.prompt(`Please choose which version of the OSDK you'd like to use for the ${template.label} template:`, {\n type: \"select\",\n options: Object.keys(template.files).reverse().map(sdkVersion => ({\n label: sdkVersion,\n value: sdkVersion\n }))\n });\n }\n return sdkVersion;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const getPackageFiles = importPromise => async () => (await importPromise).files;","// THIS FILE IS GENERATED. DO NOT MODIFY.\n// You probably want to modify ../../../codegen.mjs instead.\n\nimport { getPackageFiles } from \"../getPackageFiles.js\";\nexport const TEMPLATES = [\n// React\n{\n id: \"template-react\",\n label: \"React\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: false,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.react\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.react.beta\"))\n }\n},\n// Expo\n{\n id: \"template-expo\",\n label: \"Expo\",\n envPrefix: \"EXPO_PUBLIC_\",\n buildDirectory: \"./dist\",\n hidden: false,\n files: {\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.expo.v2\"))\n }\n},\n// Vue\n{\n id: \"template-vue\",\n label: \"Vue\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: false,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.vue\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.vue.v2\"))\n }\n},\n// Tutorial: To do App\n{\n id: \"template-tutorial-todo-app\",\n label: \"Tutorial: To do App\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: true,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-app\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-app.beta\"))\n }\n},\n// Tutorial: To do AIP App\n{\n id: \"template-tutorial-todo-aip-app\",\n label: \"Tutorial: To do AIP App\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: true,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-aip-app\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-aip-app.beta\"))\n }\n}];","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { TEMPLATES } from \"../generatedNoCheck/templates.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptTemplate(parsed) {\n const useBeta = parsed.beta ?? false;\n let template = TEMPLATES.find(t => t.id === parsed.template || t.id === `template-${parsed.template}`);\n if (template == null) {\n const availableTemplates = getAvailableTemplatesOrThrow(useBeta);\n const templateId = await consola.prompt(parsed.template != null ? `The provided template ${green(parsed.template)} is invalid please select a framework:` : \"Select a framework:\", {\n type: \"select\",\n options: availableTemplates.map(template => ({\n value: template.id,\n label: template.label\n }))\n });\n template = TEMPLATES.find(t => t.id === templateId);\n if (template == null) {\n throw new Error(`Template ${templateId} should be found`);\n }\n }\n return template;\n}\n\n/** Exported for testing only */\nexport function getAvailableTemplatesOrThrow(useBeta) {\n const availableTemplates = TEMPLATES.filter(template => !template.hidden && (useBeta ? template.isBeta === true\n // isBeta could be null\n : !template.isBeta));\n if (availableTemplates.length === 0) {\n throw new Error(\"No available templates found for the selected options.\");\n }\n return availableTemplates;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function changeVersionPrefix(version, prefix) {\n const isWorkspaceProtocol = version.startsWith(\"workspace:\");\n if (isWorkspaceProtocol) {\n version = version.slice(\"workspace:\".length);\n }\n if (version[0] === \"^\" || version[0] === \"~\" || version[0] === \"*\") {\n version = version.slice(1);\n }\n return `${isWorkspaceProtocol ? \"workspace:\" : \"\"}${prefix}${version}`;\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\nexport { invariant as default };","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateEnvDevelopment({\n envPrefix,\n foundryUrl,\n clientId,\n corsProxy,\n ontology\n}) {\n const foundryApiUrl = corsProxy ? \"http://localhost:8080\" : foundryUrl;\n const applicationUrl = \"http://localhost:8080\";\n return `# This env file is intended for developing on your local computer.\n# To set up development in Foundry's Code Workspaces, see .env.code-workspaces.\n# To deploy your application to production, see .env.production.\n# Note that .env.code-workspaces is only present for projects that were set up\n# using the \"Bootstrap in Foundry\" option in Developer Console.\n\n\n# This URL is the URL your users will be redirected back to after signing in.\n# This URL must exactly match one of the URLs listed in the \"OAuth & scopes\"\n# page of Developer Console.\n#\n# If your application in development is not hosted on port 8080, you will need\n# to change this URL here and in Developer Console.\n\n${envPrefix}FOUNDRY_REDIRECT_URL=${applicationUrl}/auth/callback\n\n\n# This URL is the Foundry host that your OSDK will use. It typically does not\n# need to be changed.\n\n${envPrefix}FOUNDRY_API_URL=${foundryApiUrl}\n\n\n# This client ID must match the client ID given on the \"OAuth & scopes\" page of\n# Developer Console. It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_CLIENT_ID=${clientId}\n\n# This Ontology RID must match the Ontology RID your Developer Console is associated with.\n# You can check the Ontology on the \"Data Resources\" page of Developer Console. \n# It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}\n`;\n}\nexport function generateEnvProduction({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId,\n ontology\n}) {\n const applicationUrlOrDefault = applicationUrl ?? \"<Fill in the domain at which you deploy your application>\";\n return `# This env file is intended for deploying your application to production.\n# To set up development on your local computer, see .env.development.\n# To set up development in Foundry's Code Workspaces, see .env.code-workspaces.\n# Note that .env.code-workspaces is only present for projects that were set up\n# using the \"Bootstrap in Foundry\" option in Developer Console.\n\n\n# This URL is the URL your users will be redirected back to after signing in.\n# This URL must exactly match one of the URLs listed in the \"OAuth & scopes\"\n# page of Developer Console.\n#\n# If you change where your application is hosted, you will need to change this\n# URL here and in Developer Console.\n\n${applicationUrl == null ? \"# \" : \"\"}${envPrefix}FOUNDRY_REDIRECT_URL=${applicationUrlOrDefault}/auth/callback\n\n\n# This URL is the Foundry host that your OSDK will use. It typically does not\n# need to be changed.\n\n${envPrefix}FOUNDRY_API_URL=${foundryUrl}\n\n\n# This client ID must match the client ID given on the \"OAuth & scopes\" page of\n# Developer Console. It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_CLIENT_ID=${clientId}\n\n# This Ontology RID must match the Ontology RID your Developer Console is associated with.\n# You can check the Ontology on the \"Data Resources\" page of Developer Console. \n# It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}\n`;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateFoundryConfigJson({\n foundryUrl,\n application,\n directory\n}) {\n return JSON.stringify({\n foundryUrl,\n site: {\n application,\n directory,\n autoVersion: {\n type: \"git-describe\",\n tagPrefix: \"\"\n }\n }\n }, null, 2) + \"\\n\";\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateNpmRc({\n osdkPackage,\n osdkRegistryUrl\n}) {\n // pnpm requires a trailing slash in .npmrc\n // https://github.com/pnpm/pnpm/issues/5941\n const withTrailingSlash = osdkRegistryUrl.endsWith(\"/\") ? osdkRegistryUrl : osdkRegistryUrl + \"/\";\n const withoutProtocol = withTrailingSlash.replace(/^https:\\/\\//, \"\");\n const packageScope = osdkPackage.split(\"/\")[0];\n return `//${withoutProtocol}:_authToken=\\${FOUNDRY_TOKEN}\\n` + `${packageScope}:registry=${withTrailingSlash}\\n`;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { changeVersionPrefix } from \"@osdk/generator-utils\";\nimport { findUpSync } from \"find-up\";\nimport Handlebars from \"handlebars\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { consola } from \"./consola.js\";\nimport { generateEnvDevelopment, generateEnvProduction } from \"./generate/generateEnv.js\";\nimport { generateFoundryConfigJson } from \"./generate/generateFoundryConfigJson.js\";\nimport { generateNpmRc } from \"./generate/generateNpmRc.js\";\nimport { green } from \"./highlight.js\";\nexport async function run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n applicationUrl,\n application,\n ontology,\n clientId,\n osdkPackage,\n osdkRegistryUrl,\n corsProxy,\n scopes\n}) {\n consola.log(\"\");\n consola.start(`Creating project ${green(project)} using template ${green(template.id)}`);\n const cwd = process.cwd();\n const root = path.join(cwd, project);\n if (fs.existsSync(root)) {\n if (overwrite) {\n consola.info(`Overwriting existing project directory`);\n fs.rmSync(root, {\n recursive: true,\n force: true\n });\n fs.mkdirSync(root, {\n recursive: true\n });\n } else {\n consola.info(`Reusing existing project directory`);\n }\n } else {\n consola.info(`Creating project directory`);\n fs.mkdirSync(root, {\n recursive: true\n });\n }\n consola.info(`Copying files into project directory`);\n if (template.files[sdkVersion] == null) {\n throw new Error(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n }\n const files = await template.files[sdkVersion]();\n for (const [filePath, contents] of files) {\n const finalPath = path.join(root, filePath);\n const dirPath = path.dirname(finalPath);\n await fs.promises.mkdir(dirPath, {\n recursive: true\n });\n await fs.promises.writeFile(finalPath, Buffer.from(contents.body, contents.type === \"raw\" ? \"utf-8\" : \"base64\"));\n }\n const ourPackageJsonPath = findUpSync(\"package.json\", {\n cwd: fileURLToPath(import.meta.url)\n });\n const ourPackageJsonVersion = ourPackageJsonPath ? JSON.parse(fs.readFileSync(ourPackageJsonPath, \"utf-8\")).version : undefined;\n const clientVersion = process.env.PACKAGE_CLIENT_VERSION ?? ourPackageJsonVersion;\n if (clientVersion === undefined) {\n throw new Error(\"Could not determine current @osdk/client version\");\n }\n const templateContext = {\n application,\n applicationUrl,\n project,\n foundryUrl,\n osdkPackage,\n corsProxy,\n clientVersion: changeVersionPrefix(clientVersion, \"^\"),\n scopes\n };\n const processFiles = function (dir) {\n fs.readdirSync(dir).forEach(function (file) {\n file = dir + \"/\" + file;\n const stat = fs.statSync(file);\n if (stat.isDirectory()) {\n processFiles(file);\n return;\n }\n if (file.endsWith(\"/_gitignore\")) {\n fs.renameSync(file, file.replace(/\\/_gitignore$/, \"/.gitignore\"));\n return;\n }\n if (!file.endsWith(\".hbs\")) {\n return;\n }\n const templated = Handlebars.compile(fs.readFileSync(file, \"utf-8\"))(templateContext);\n fs.writeFileSync(file.replace(/.hbs$/, \"\"), templated);\n fs.rmSync(file);\n });\n };\n processFiles(root);\n const npmRc = generateNpmRc({\n osdkPackage,\n osdkRegistryUrl\n });\n fs.writeFileSync(path.join(root, \".npmrc\"), npmRc);\n const envDevelopment = generateEnvDevelopment({\n envPrefix: template.envPrefix,\n foundryUrl,\n clientId,\n corsProxy,\n ontology\n });\n fs.writeFileSync(path.join(root, \".env.development\"), envDevelopment);\n const envProduction = generateEnvProduction({\n envPrefix: template.envPrefix,\n foundryUrl,\n applicationUrl,\n clientId,\n ontology\n });\n fs.writeFileSync(path.join(root, \".env.production\"), envProduction);\n const foundryConfigJson = generateFoundryConfigJson({\n foundryUrl,\n application,\n directory: template.buildDirectory\n });\n fs.writeFileSync(path.join(root, \"foundry.config.json\"), foundryConfigJson);\n consola.success(\"Success\");\n const cdRelative = path.relative(cwd, root);\n consola.box({\n message: `Done! Run the following commands to get started:\\n` + `\\n` + ` \\`cd ${cdRelative}\\`\\n` + ` \\`export FOUNDRY_TOKEN=<token>\\`\\n` + ` \\`npm install\\`\\n` + ` \\`npm run dev\\``,\n style: {\n padding: 2,\n borderColor: \"green\",\n borderStyle: \"rounded\"\n }\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { promptApplicationRid } from \"./prompts/promptApplicationRid.js\";\nimport { promptApplicationUrl } from \"./prompts/promptApplicationUrl.js\";\nimport { promptClientId } from \"./prompts/promptClientId.js\";\nimport { promptCorsProxy } from \"./prompts/promptCorsProxy.js\";\nimport { promptFoundryUrl } from \"./prompts/promptFoundryUrl.js\";\nimport { promptOntologyRid } from \"./prompts/promptOntologyRid.js\";\nimport { promptOsdkPackage } from \"./prompts/promptOsdkPackage.js\";\nimport { promptOsdkRegistryUrl } from \"./prompts/promptOsdkRegistryUrl.js\";\nimport { promptOverwrite } from \"./prompts/promptOverwrite.js\";\nimport { promptProject } from \"./prompts/promptProject.js\";\nimport { promptScopes } from \"./prompts/promptScopes.js\";\nimport { promptSdkVersion } from \"./prompts/promptSdkVersion.js\";\nimport { promptTemplate } from \"./prompts/promptTemplate.js\";\nimport { run } from \"./run.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).version(process.env.PACKAGE_VERSION ?? \"\").wrap(Math.min(150, yargs().terminalWidth())).strict().help().command(\"$0 [project] [--<option>]\", \"Create a new OSDK application based on framework templates. Information may be provided through options to skip interactive prompts.\", yargs => yargs.positional(\"project\", {\n type: \"string\",\n describe: \"Project name to create\"\n }).option(\"overwrite\", {\n type: \"boolean\",\n describe: \"Overwrite project directory if already exists\"\n }).option(\"beta\", {\n type: \"boolean\",\n describe: \"Use templates compatible with the Beta version of the SDK\"\n }).option(\"template\", {\n type: \"string\",\n describe: \"Template name to use\"\n }).option(\"sdkVersion\", {\n type: \"string\",\n describe: \"The OSDK version to use\"\n }).option(\"foundryUrl\", {\n type: \"string\",\n describe: \"URL for the Foundry stack\"\n }).option(\"applicationUrl\", {\n type: \"string\",\n describe: \"URL the production application will be hosted on\",\n conflicts: \"skipApplicationUrl\"\n }).option(\"skipApplicationUrl\", {\n type: \"boolean\",\n describe: \"Skip filling in URL the production application will be hosted on\"\n }).option(\"application\", {\n type: \"string\",\n describe: \"Application resource identifier (rid)\"\n }).option(\"ontology\", {\n type: \"string\",\n describe: \"Ontology resource identifier (rid)\"\n }).option(\"clientId\", {\n type: \"string\",\n describe: \"OAuth client ID for application\"\n }).option(\"osdkPackage\", {\n type: \"string\",\n describe: \"OSDK package name for application\"\n }).option(\"osdkRegistryUrl\", {\n type: \"string\",\n describe: \"URL for NPM registry to install OSDK package\"\n }).option(\"corsProxy\", {\n type: \"boolean\",\n describe: \"Include a CORS proxy for Foundry API requests during local development\"\n }).option(\"scopes\", {\n type: \"string\",\n array: true,\n describe: \"List of client-side scopes to be used when creating a client\"\n }));\n const parsed = base.parseSync();\n const project = await promptProject(parsed);\n const overwrite = await promptOverwrite({\n ...parsed,\n project\n });\n const template = await promptTemplate(parsed);\n const sdkVersion = await promptSdkVersion({\n ...parsed,\n template\n });\n const foundryUrl = await promptFoundryUrl(parsed);\n const applicationUrl = await promptApplicationUrl(parsed);\n const application = await promptApplicationRid(parsed);\n const ontology = await promptOntologyRid(parsed);\n const clientId = await promptClientId(parsed);\n const osdkPackage = await promptOsdkPackage(parsed);\n const osdkRegistryUrl = await promptOsdkRegistryUrl(parsed);\n const corsProxy = await promptCorsProxy(parsed);\n const scopes = await promptScopes(parsed);\n await run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n applicationUrl,\n application,\n clientId,\n osdkPackage,\n osdkRegistryUrl,\n corsProxy,\n scopes,\n ontology\n });\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/consola.ts","../../src/highlight.ts","../../src/prompts/promptApplicationRid.ts","../../src/prompts/promptApplicationUrl.ts","../../src/prompts/promptClientId.ts","../../src/prompts/promptCorsProxy.ts","../../src/prompts/promptFoundryUrl.ts","../../src/prompts/promptOntologyAndOsdkPackageAndOsdkRegistryUrl.ts","../../src/prompts/promptOverwrite.ts","../../src/prompts/promptProject.ts","../../src/prompts/promptScopes.ts","../../src/prompts/promptSdkVersion.ts","../../src/getPackageFiles.ts","../../src/generatedNoCheck/templates.ts","../../src/prompts/promptTemplate.ts","../../../generator-utils/build/esm/changeVersionPrefix.js","../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../src/generate/generateEnv.ts","../../src/generate/generateFoundryConfigJson.ts","../../src/generate/generateNpmRc.ts","../../src/run.ts","../../src/cli.ts"],"names":["defaultConsola","fs","path","sdkVersion","template","yargs"],"mappings":";;;;;;;;;;;AAmBA,IAAM,YAAA,GAAe,MAAO,CAAA,GAAA,CAAI,QAAQ,CAAA;AACjC,IAAM,UAAU,aAAc,CAAA;AAAA,EACnC,MAAM,MAAO,CAAA,OAAA,EAAS,IAAM,EAAA;AAC1B,IAAA,MAAM,QAAW,GAAA,MAAMA,SAAe,CAAA,MAAA,CAAO,OAAS,EAAA;AAAA,MACpD,GAAG,IAAA;AAAA,MACH,MAAA,EAAQ,MAAM,MAAU,IAAA;AAAA,KACzB,CAAA;AACD,IAAA,IAAI,aAAa,YAAc,EAAA;AAC7B,MAAAA,SAAA,CAAe,KAAK,qBAAqB,CAAA;AACzC,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA;AAEhB,IAAO,OAAA,QAAA;AAAA;AAEX,CAAC,CAAA;ACfM,SAAS,MAAM,IAAM,EAAA;AAC1B,EAAO,OAAA,QAAA,CAAS,SAAS,IAAI,CAAA;AAC/B;AACO,SAAS,OAAO,IAAM,EAAA;AAC3B,EAAO,OAAA,QAAA,CAAS,UAAU,IAAI,CAAA;AAChC;;;ACJA,eAAsB,oBAAqB,CAAA;AAAA,EACzC;AACF,CAAG,EAAA;AACD,EAAA,OAAO,eAAe,IAAQ,IAAA,CAAC,2DAA4D,CAAA,IAAA,CAAK,WAAW,CAAG,EAAA;AAC5G,IAAA,IAAI,eAAe,IAAM,EAAA;AACvB,MAAA,OAAA,CAAQ,KAAK,4DAA4D,CAAA;AAAA;AAE3E,IAAc,WAAA,GAAA,MAAM,QAAQ,MAAO,CAAA,CAAA;AAAA,EAAiG,MAAA,CAAO,8FAA8F,CAAC,CAAI,CAAA,EAAA;AAAA,MAC5O,IAAM,EAAA;AAAA,KACP,CAAA;AAAA;AAEH,EAAO,OAAA,WAAA;AACT;;;ACZA,eAAsB,oBAAqB,CAAA;AAAA,EACzC,kBAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,IAAI,kBAAoB,EAAA;AACtB,IAAO,OAAA,MAAA;AAAA;AAET,EAAA,IAAI,kBAAkB,IAAM,EAAA;AAC1B,IAAA,MAAM,IAAO,GAAA,MAAM,OAAQ,CAAA,MAAA,CAAO,CAA6K,yKAAA,CAAA,EAAA;AAAA,MAC7M,IAAM,EAAA,QAAA;AAAA,MACN,SAAS,CAAC;AAAA,QACR,KAAO,EAAA,0BAAA;AAAA,QACP,KAAO,EAAA;AAAA,OACN,EAAA;AAAA,QACD,KAAO,EAAA,gFAAA;AAAA,QACP,KAAO,EAAA;AAAA,OACR;AAAA,KACF,CAAA;AACD,IAAA,IAAI,SAAS,IAAM,EAAA;AACjB,MAAO,OAAA,MAAA;AAAA;AACT;AAEF,EAAA,OAAO,kBAAkB,IAAQ,IAAA,CAAC,cAAe,CAAA,IAAA,CAAK,cAAc,CAAG,EAAA;AACrE,IAAA,IAAI,kBAAkB,IAAM,EAAA;AAC1B,MAAA,OAAA,CAAQ,KAAK,sCAAsC,CAAA;AAAA;AAErD,IAAiB,cAAA,GAAA,MAAM,QAAQ,MAAO,CAAA,CAAA;AAAA,EAAiE,MAAA,CAAO,sDAAsD,CAAC,CAAI,CAAA,EAAA;AAAA,MACvK,IAAM,EAAA;AAAA,KACP,CAAA;AAAA;AAEH,EAAO,OAAA,cAAA,CAAe,OAAQ,CAAA,KAAA,EAAO,EAAE,CAAA;AACzC;;;AC/BA,eAAsB,cAAe,CAAA;AAAA,EACnC;AACF,CAAG,EAAA;AACD,EAAA,OAAO,YAAY,IAAQ,IAAA,CAAC,aAAc,CAAA,IAAA,CAAK,QAAQ,CAAG,EAAA;AACxD,IAAA,IAAI,YAAY,IAAM,EAAA;AACpB,MAAA,OAAA,CAAQ,KAAK,sCAAsC,CAAA;AAAA;AAErD,IAAW,QAAA,GAAA,MAAM,QAAQ,MAAO,CAAA,CAAA;AAAA,EAA2E,MAAA,CAAO,6CAA6C,CAAC,CAAI,CAAA,EAAA;AAAA,MAClK,IAAM,EAAA;AAAA,KACP,CAAA;AAAA;AAEH,EAAO,OAAA,QAAA;AACT;;;ACZA,eAAsB,eAAgB,CAAA;AAAA,EACpC;AACF,CAAG,EAAA;AACD,EAAA,IAAI,aAAa,IAAM,EAAA;AACrB,IAAO,OAAA,SAAA;AAAA;AAET,EAAA,OAAO,QAAQ,MAAO,CAAA,CAAA;AAAA,EAA4E,MAAA,CAAO,yEAAyE,CAAC,CAAI,CAAA,EAAA;AAAA,IACrL,IAAM,EAAA,SAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACV,CAAA;AACH;;;ACVA,eAAsB,gBAAiB,CAAA;AAAA,EACrC;AACF,CAAG,EAAA;AACD,EAAA,OAAO,cAAc,IAAQ,IAAA,CAAC,UAAW,CAAA,UAAA,CAAW,UAAU,CAAG,EAAA;AAC/D,IAAA,IAAI,cAAc,IAAM,EAAA;AACtB,MAAA,OAAA,CAAQ,KAAK,kCAAkC,CAAA;AAAA;AAEjD,IAAa,UAAA,GAAA,MAAM,QAAQ,MAAO,CAAA,CAAA;AAAA,EAA0C,MAAA,CAAO,gDAAgD,CAAC,CAAI,CAAA,EAAA;AAAA,MACtI,IAAM,EAAA;AAAA,KACP,CAAA;AAAA;AAEH,EAAO,OAAA,UAAA,CAAW,OAAQ,CAAA,KAAA,EAAO,EAAE,CAAA;AACrC;;;ACZA,eAAsB,8CAA+C,CAAA;AAAA,EACnE,QAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,OAAO,EAAC;AAAA;AAEV,EAAA,IAAI,eAAe,KAAS,IAAA,WAAA,IAAe,QAAQ,QAAY,IAAA,IAAA,IAAQ,mBAAmB,IAAM,EAAA;AAC9F,IAAA,MAAM,IAAO,GAAA,MAAM,OAAQ,CAAA,MAAA,CAAO,gDAAkD,EAAA;AAAA,MAClF,IAAM,EAAA,QAAA;AAAA,MACN,SAAS,CAAC;AAAA,QACR,KAAO,EAAA,8BAAA;AAAA,QACP,KAAO,EAAA;AAAA,OACN,EAAA;AAAA,QACD,KAAO,EAAA,wCAAA;AAAA,QACP,KAAO,EAAA;AAAA,OACR;AAAA,KACF,CAAA;AACD,IAAA,IAAI,SAAS,IAAM,EAAA;AACjB,MAAA,OAAO,EAAC;AAAA;AACV;AAEF,EAAA,OAAO,YAAY,IAAQ,IAAA,CAAC,wCAAyC,CAAA,IAAA,CAAK,QAAQ,CAAG,EAAA;AACnF,IAAA,IAAI,YAAY,IAAM,EAAA;AACpB,MAAA,OAAA,CAAQ,KAAK,yDAAyD,CAAA;AAAA;AAExE,IAAW,QAAA,GAAA,MAAM,QAAQ,MAAO,CAAA,CAAA;AAAA,EAAyF,MAAA,CAAO,2EAA2E,CAAC,CAAI,CAAA,EAAA;AAAA,MAC9M,IAAM,EAAA;AAAA,KACP,CAAA;AAAA;AAEH,EAAA,OAAO,eAAe,IAAQ,IAAA,CAAC,oBAAqB,CAAA,IAAA,CAAK,WAAW,CAAG,EAAA;AACrE,IAAA,IAAI,eAAe,IAAM,EAAA;AACvB,MAAA,OAAA,CAAQ,KAAK,wCAAwC,CAAA;AAAA;AAEvD,IAAc,WAAA,GAAA,MAAM,QAAQ,MAAO,CAAA,CAAA;AAAA,EAA6E,MAAA,CAAO,wBAAwB,CAAC,CAAI,CAAA,EAAA;AAAA,MAClJ,IAAM,EAAA;AAAA,KACP,CAAA;AAAA;AAEH,EAAA,OAAO,mBAAmB,IAAQ,IAAA,CAAC,kGAAmG,CAAA,IAAA,CAAK,eAAe,CAAG,EAAA;AAC3J,IAAA,IAAI,mBAAmB,IAAM,EAAA;AAC3B,MAAA,OAAA,CAAQ,KAAK,oEAAoE,CAAA;AAAA;AAEnF,IAAkB,eAAA,GAAA,MAAM,QAAQ,MAAO,CAAA,CAAA;AAAA,EAAoF,MAAA,CAAO,kKAAkK,CAAC,CAAI,CAAA,EAAA;AAAA,MACvS,IAAM,EAAA;AAAA,KACP,CAAA;AAAA;AAEH,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAiB,EAAA,eAAA,CAAgB,OAAQ,CAAA,KAAA,EAAO,EAAE;AAAA,GACpD;AACF;ACpDA,eAAsB,eAAgB,CAAA;AAAA,EACpC,OAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,IAAI,aAAa,IAAM,EAAA;AACrB,IAAO,OAAA,SAAA;AAAA;AAET,EAAI,IAAA,CAACC,GAAG,CAAA,UAAA,CAAWC,KAAK,CAAA,IAAA,CAAK,QAAQ,GAAI,EAAA,EAAG,OAAO,CAAC,CAAG,EAAA;AACrD,IAAO,OAAA,IAAA;AAAA;AAET,EAAM,MAAA,MAAA,GAAS,MAAM,OAAQ,CAAA,MAAA,CAAO,iBAAiB,KAAM,CAAA,OAAO,CAAC,CAA0D,sDAAA,CAAA,EAAA;AAAA,IAC3H,IAAM,EAAA,QAAA;AAAA,IACN,SAAS,CAAC;AAAA,MACR,KAAO,EAAA,oCAAA;AAAA,MACP,KAAO,EAAA;AAAA,KACN,EAAA;AAAA,MACD,KAAO,EAAA,2BAAA;AAAA,MACP,KAAO,EAAA;AAAA,KACN,EAAA;AAAA,MACD,KAAO,EAAA,QAAA;AAAA,MACP,KAAO,EAAA;AAAA,KACR;AAAA,GACF,CAAA;AACD,EAAA,QAAQ,MAAQ;AAAA,IACd,KAAK,WAAA;AACH,MAAO,OAAA,IAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAO,OAAA,KAAA;AAAA,IACT,KAAK,QAAA;AACH,MAAA,OAAA,CAAQ,KAAK,qBAAqB,CAAA;AAClC,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA;AAEpB;;;ACnCA,eAAsB,aAAc,CAAA;AAAA,EAClC;AACF,CAAG,EAAA;AACD,EAAA,OAAO,WAAW,IAAQ,IAAA,CAAC,kBAAmB,CAAA,IAAA,CAAK,OAAO,CAAG,EAAA;AAC3D,IAAA,IAAI,WAAW,IAAM,EAAA;AACnB,MAAA,OAAA,CAAQ,KAAK,gFAAgF,CAAA;AAAA;AAE/F,IAAU,OAAA,GAAA,MAAM,OAAQ,CAAA,MAAA,CAAO,eAAiB,EAAA;AAAA,MAC9C,IAAM,EAAA,MAAA;AAAA,MACN,WAAa,EAAA,aAAA;AAAA,MACb,OAAS,EAAA;AAAA,KACV,CAAA;AAAA;AAEH,EAAO,OAAA,OAAA;AACT;;;ACdA,IAAM,cAAiB,GAAA,gBAAA;AACvB,eAAsB,YAAa,CAAA;AAAA,EACjC;AACF,CAAG,EAAA;AACD,EAAA,OAAO,IAAM,EAAA;AACX,IAAA,IAAI,UAAU,IAAM,EAAA;AAClB,MAAM,MAAA,aAAA,GAAgB,OAAO,MAAO,CAAA,CAAA,KAAA,KAAS,CAAC,cAAe,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA;AACxE,MAAM,MAAA,cAAA,GAAiB,cAAc,MAAW,KAAA,CAAA;AAChD,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA;AAAA;AAEF,MAAM,MAAA,mBAAA,GAAsB,aAAc,CAAA,IAAA,CAAK,IAAI,CAAA;AACnD,MAAQ,OAAA,CAAA,IAAA,CAAK,CAAY,SAAA,EAAA,mBAAmB,CAAwF,sFAAA,CAAA,CAAA;AAAA;AAEtI,IAAA,MAAM,YAAe,GAAA,MAAM,OAAQ,CAAA,MAAA,CAAO,2CAA6C,EAAA;AAAA,MACrF,IAAM,EAAA,MAAA;AAAA,MACN,WAAa,EAAA,+EAAA;AAAA,MACb,OAAS,EAAA;AAAA,KACV,CAAA;AACD,IAAS,MAAA,GAAA,YAAA,CAAa,MAAM,GAAG,CAAA;AAAA;AAEjC,EAAA,OAAO,kBAAkB,MAAM,CAAA;AACjC;AAGA,SAAS,kBAAkB,MAAQ,EAAA;AACjC,EAAA,MAAM,gBAAgB,EAAC;AACvB,EAAM,MAAA,IAAA,uBAAW,GAAI,EAAA;AACrB,EAAA,KAAA,MAAW,SAAS,MAAQ,EAAA;AAC1B,IAAI,IAAA,IAAA,CAAK,GAAI,CAAA,KAAK,CAAG,EAAA;AACnB,MAAA;AAAA;AAEF,IAAA,aAAA,CAAc,KAAK,KAAK,CAAA;AACxB,IAAA,IAAA,CAAK,IAAI,KAAK,CAAA;AAAA;AAEhB,EAAO,OAAA,aAAA;AACT;;;ACpCA,eAAsB,gBAAiB,CAAA;AAAA,EACrC,UAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,IAAI,cAAc,IAAM,EAAA;AAEtB,IAAA,OAAO,MAAO,CAAA,IAAA,CAAK,QAAS,CAAA,KAAK,EAAE,CAAC,CAAA;AAAA;AAEtC,EAAA,IAAI,QAAS,CAAA,KAAA,CAAM,UAAU,CAAA,IAAK,IAAM,EAAA;AACtC,IAAA,OAAA,CAAQ,KAAK,CAAO,IAAA,EAAA,QAAA,CAAS,KAAK,CAAA,8BAAA,EAAiC,UAAU,CAAgB,cAAA,CAAA,CAAA;AAC7F,IAAA,UAAA,GAAa,MAAM,OAAQ,CAAA,MAAA,CAAO,CAAqE,kEAAA,EAAA,QAAA,CAAS,KAAK,CAAc,UAAA,CAAA,EAAA;AAAA,MACjI,IAAM,EAAA,QAAA;AAAA,MACN,OAAA,EAAS,MAAO,CAAA,IAAA,CAAK,QAAS,CAAA,KAAK,EAAE,OAAQ,EAAA,CAAE,GAAI,CAAA,CAAAC,WAAe,MAAA;AAAA,QAChE,KAAOA,EAAAA,WAAAA;AAAA,QACP,KAAOA,EAAAA;AAAA,OACP,CAAA;AAAA,KACH,CAAA;AAAA;AAEH,EAAO,OAAA,UAAA;AACT;;;ACpBO,IAAM,eAAkB,GAAA,CAAA,aAAA,KAAiB,YAAa,CAAA,MAAM,aAAe,EAAA,KAAA;;;ACZ3E,IAAM,SAAY,GAAA;AAAA;AAAA,EAEzB;AAAA,IACE,EAAI,EAAA,gBAAA;AAAA,IACJ,KAAO,EAAA,OAAA;AAAA,IACP,SAAW,EAAA,OAAA;AAAA,IACX,cAAgB,EAAA,QAAA;AAAA,IAChB,MAAQ,EAAA,KAAA;AAAA,IACR,KAAO,EAAA;AAAA,MACL,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAAiC,CAAC,CAAA;AAAA,MAChE,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAAsC,CAAC;AAAA;AACvE,GACF;AAAA;AAAA,EAEA;AAAA,IACE,EAAI,EAAA,eAAA;AAAA,IACJ,KAAO,EAAA,MAAA;AAAA,IACP,SAAW,EAAA,cAAA;AAAA,IACX,cAAgB,EAAA,QAAA;AAAA,IAChB,MAAQ,EAAA,KAAA;AAAA,IACR,KAAO,EAAA;AAAA,MACL,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAAmC,CAAC;AAAA;AACpE,GACF;AAAA;AAAA,EAEA;AAAA,IACE,EAAI,EAAA,cAAA;AAAA,IACJ,KAAO,EAAA,KAAA;AAAA,IACP,SAAW,EAAA,OAAA;AAAA,IACX,cAAgB,EAAA,QAAA;AAAA,IAChB,MAAQ,EAAA,KAAA;AAAA,IACR,KAAO,EAAA;AAAA,MACL,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAA+B,CAAC,CAAA;AAAA,MAC9D,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAAkC,CAAC;AAAA;AACnE,GACF;AAAA;AAAA,EAEA;AAAA,IACE,EAAI,EAAA,4BAAA;AAAA,IACJ,KAAO,EAAA,qBAAA;AAAA,IACP,SAAW,EAAA,OAAA;AAAA,IACX,cAAgB,EAAA,QAAA;AAAA,IAChB,MAAQ,EAAA,IAAA;AAAA,IACR,KAAO,EAAA;AAAA,MACL,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAA6C,CAAC,CAAA;AAAA,MAC5E,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAAkD,CAAC;AAAA;AACnF,GACF;AAAA;AAAA,EAEA;AAAA,IACE,EAAI,EAAA,gCAAA;AAAA,IACJ,KAAO,EAAA,yBAAA;AAAA,IACP,SAAW,EAAA,OAAA;AAAA,IACX,cAAgB,EAAA,QAAA;AAAA,IAChB,MAAQ,EAAA,IAAA;AAAA,IACR,KAAO,EAAA;AAAA,MACL,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAAiD,CAAC,CAAA;AAAA,MAChF,KAAO,EAAA,eAAA,CAAgB,OAAO,mBAAsD,CAAC;AAAA;AACvF;AACD;;;AC5CD,eAAsB,eAAe,MAAQ,EAAA;AAC3C,EAAM,MAAA,OAAA,GAAU,OAAO,IAAQ,IAAA,KAAA;AAC/B,EAAA,IAAI,QAAW,GAAA,SAAA,CAAU,IAAK,CAAA,CAAA,CAAA,KAAK,CAAE,CAAA,EAAA,KAAO,MAAO,CAAA,QAAA,IAAY,CAAE,CAAA,EAAA,KAAO,CAAY,SAAA,EAAA,MAAA,CAAO,QAAQ,CAAE,CAAA,CAAA;AACrG,EAAA,IAAI,YAAY,IAAM,EAAA;AACpB,IAAM,MAAA,kBAAA,GAAqB,6BAA6B,OAAO,CAAA;AAC/D,IAAA,MAAM,UAAa,GAAA,MAAM,OAAQ,CAAA,MAAA,CAAO,MAAO,CAAA,QAAA,IAAY,IAAO,GAAA,CAAA,sBAAA,EAAyB,KAAM,CAAA,MAAA,CAAO,QAAQ,CAAC,2CAA2C,qBAAuB,EAAA;AAAA,MACjL,IAAM,EAAA,QAAA;AAAA,MACN,OAAS,EAAA,kBAAA,CAAmB,GAAI,CAAA,CAAAC,SAAa,MAAA;AAAA,QAC3C,OAAOA,SAAS,CAAA,EAAA;AAAA,QAChB,OAAOA,SAAS,CAAA;AAAA,OAChB,CAAA;AAAA,KACH,CAAA;AACD,IAAA,QAAA,GAAW,SAAU,CAAA,IAAA,CAAK,CAAK,CAAA,KAAA,CAAA,CAAE,OAAO,UAAU,CAAA;AAClD,IAAA,IAAI,YAAY,IAAM,EAAA;AACpB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAY,SAAA,EAAA,UAAU,CAAkB,gBAAA,CAAA,CAAA;AAAA;AAC1D;AAEF,EAAO,OAAA,QAAA;AACT;AAGO,SAAS,6BAA6B,OAAS,EAAA;AACpD,EAAA,MAAM,kBAAqB,GAAA,SAAA,CAAU,MAAO,CAAA,CAAA,QAAA,KAAY,CAAC,QAAA,CAAS,MAAW,KAAA,OAAA,GAAU,QAAS,CAAA,MAAA,KAAW,IAEzG,GAAA,CAAC,SAAS,MAAO,CAAA,CAAA;AACnB,EAAI,IAAA,kBAAA,CAAmB,WAAW,CAAG,EAAA;AACnC,IAAM,MAAA,IAAI,MAAM,wDAAwD,CAAA;AAAA;AAE1E,EAAO,OAAA,kBAAA;AACT;;;AChCO,SAAS,mBAAA,CAAoB,SAAS,MAAQ,EAAA;AACnD,EAAM,MAAA,mBAAA,GAAsB,OAAQ,CAAA,UAAA,CAAW,YAAY,CAAA;AAC3D,EAAA,IAAI,mBAAqB,EAAA;AACvB,IAAU,OAAA,GAAA,OAAA,CAAQ,KAAM,CAAA,YAAA,CAAa,MAAM,CAAA;AAAA;AAE7C,EAAI,IAAA,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAO,IAAA,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAO,IAAA,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAK,EAAA;AAClE,IAAU,OAAA,GAAA,OAAA,CAAQ,MAAM,CAAC,CAAA;AAAA;AAE3B,EAAA,OAAO,GAAG,mBAAsB,GAAA,YAAA,GAAe,EAAE,CAAG,EAAA,MAAM,GAAG,OAAO,CAAA,CAAA;AACtE;;;ACzBmB,OAAQ,CAAA,GAAA,CAAI,QAAa,KAAA;;;ACgBrC,SAAS,sBAAuB,CAAA;AAAA,EACrC,SAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAM,MAAA,aAAA,GAAgB,YAAY,uBAA0B,GAAA,UAAA;AAC5D,EAAA,MAAM,cAAiB,GAAA,uBAAA;AACvB,EAAM,MAAA,kBAAA,GAAqB,YAAY,IAAO,GAAA;;AAAA;AAAA;AAAA;;AAAA,EAM9C,SAAS,wBAAwB,QAAQ;AAAA,CACvC,GAAA,EAAA;AACF,EAAO,OAAA,CAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,EAcP,SAAS,wBAAwB,cAAc,CAAA;;;AAAA;AAAA;;AAAA,EAM/C,SAAS,mBAAmB,aAAa;;;AAAA;AAAA;;AAAA,EAMzC,SAAS,qBAAqB,QAAQ;AAAA,EACtC,kBAAkB,CAAA,CAAA;AACpB;AACO,SAAS,qBAAsB,CAAA;AAAA,EACpC,SAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,MAAM,0BAA0B,cAAkB,IAAA,2DAAA;AAClD,EAAM,MAAA,kBAAA,GAAqB,YAAY,IAAO,GAAA;;AAAA;AAAA;AAAA;;AAAA,EAM9C,SAAS,wBAAwB,QAAQ;AAAA,CACvC,GAAA,EAAA;AACF,EAAO,OAAA,CAAA;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,EAcP,kBAAkB,IAAO,GAAA,IAAA,GAAO,EAAE,CAAG,EAAA,SAAS,wBAAwB,uBAAuB,CAAA;;;AAAA;AAAA;;AAAA,EAM7F,SAAS,mBAAmB,UAAU;;;AAAA;AAAA;;AAAA,EAMtC,SAAS,qBAAqB,QAAQ;AAAA,EACtC,kBAAkB,CAAA,CAAA;AACpB;;;AC1FO,SAAS,yBAA0B,CAAA;AAAA,EACxC,UAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,OAAO,KAAK,SAAU,CAAA;AAAA,IACpB,UAAA;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,WAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAa,EAAA;AAAA,QACX,IAAM,EAAA,cAAA;AAAA,QACN,SAAW,EAAA;AAAA;AACb;AACF,GACF,EAAG,IAAM,EAAA,CAAC,CAAI,GAAA,IAAA;AAChB;;;AChBO,SAAS,aAAc,CAAA;AAAA,EAC5B,UAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAG,EAAA;AAGD,EAAM,MAAA,gCAAA,GAAmC,mBAAmB,IAAO,GAAA,eAAA,CAAgB,SAAS,GAAG,CAAA,GAAI,eAAkB,GAAA,eAAA,GAAkB,GAAM,GAAA,IAAA;AAC7I,EAAM,MAAA,mBAAA,GAAsB,WAAW,OAAQ,CAAA,aAAA,EAAe,EAAE,CAAE,CAAA,OAAA,CAAQ,OAAO,EAAE,CAAA;AACnF,EAAA,MAAM,kBAAkB,mBAAsB,GAAA,iBAAA;AAC9C,EAAA,MAAM,YAAe,GAAA,WAAA,EAAa,KAAM,CAAA,GAAG,EAAE,CAAC,CAAA;AAC9C,EAAM,MAAA,eAAA,GAAkB,KAAK,eAAe,CAAA;AAAA,CAAA;AAC5C,EAAM,MAAA,YAAA,GAAe,gBAAgB,IAAQ,IAAA,gCAAA,IAAoC,OAAO,CAAG,EAAA,YAAY,aAAa,gCAAgC;AAAA,CAAO,GAAA,EAAA;AAC3J,EAAA,OAAO,eAAkB,GAAA,YAAA;AAC3B;;;ACHA,eAAsB,GAAI,CAAA;AAAA,EACxB,OAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,OAAA,CAAQ,IAAI,EAAE,CAAA;AACd,EAAQ,OAAA,CAAA,KAAA,CAAM,CAAoB,iBAAA,EAAA,KAAA,CAAM,OAAO,CAAC,mBAAmB,KAAM,CAAA,QAAA,CAAS,EAAE,CAAC,CAAE,CAAA,CAAA;AACvF,EAAM,MAAA,GAAA,GAAM,QAAQ,GAAI,EAAA;AACxB,EAAA,MAAM,IAAOF,GAAAA,KAAAA,CAAK,IAAK,CAAA,GAAA,EAAK,OAAO,CAAA;AACnC,EAAID,IAAAA,GAAAA,CAAG,UAAW,CAAA,IAAI,CAAG,EAAA;AACvB,IAAA,IAAI,SAAW,EAAA;AACb,MAAA,OAAA,CAAQ,KAAK,CAAwC,sCAAA,CAAA,CAAA;AACrD,MAAAA,GAAAA,CAAG,OAAO,IAAM,EAAA;AAAA,QACd,SAAW,EAAA,IAAA;AAAA,QACX,KAAO,EAAA;AAAA,OACR,CAAA;AACD,MAAAA,GAAAA,CAAG,UAAU,IAAM,EAAA;AAAA,QACjB,SAAW,EAAA;AAAA,OACZ,CAAA;AAAA,KACI,MAAA;AACL,MAAA,OAAA,CAAQ,KAAK,CAAoC,kCAAA,CAAA,CAAA;AAAA;AACnD,GACK,MAAA;AACL,IAAA,OAAA,CAAQ,KAAK,CAA4B,0BAAA,CAAA,CAAA;AACzC,IAAAA,GAAAA,CAAG,UAAU,IAAM,EAAA;AAAA,MACjB,SAAW,EAAA;AAAA,KACZ,CAAA;AAAA;AAEH,EAAA,OAAA,CAAQ,KAAK,CAAsC,oCAAA,CAAA,CAAA;AACnD,EAAA,IAAI,QAAS,CAAA,KAAA,CAAM,UAAU,CAAA,IAAK,IAAM,EAAA;AACtC,IAAA,MAAM,IAAI,KAAM,CAAA,CAAA,IAAA,EAAO,SAAS,KAAK,CAAA,8BAAA,EAAiC,UAAU,CAAgB,cAAA,CAAA,CAAA;AAAA;AAElG,EAAA,MAAM,KAAQ,GAAA,MAAM,QAAS,CAAA,KAAA,CAAM,UAAU,CAAE,EAAA;AAC/C,EAAA,KAAA,MAAW,CAAC,QAAA,EAAU,QAAQ,CAAA,IAAK,KAAO,EAAA;AACxC,IAAA,MAAM,SAAYC,GAAAA,KAAAA,CAAK,IAAK,CAAA,IAAA,EAAM,QAAQ,CAAA;AAC1C,IAAM,MAAA,OAAA,GAAUA,KAAK,CAAA,OAAA,CAAQ,SAAS,CAAA;AACtC,IAAMD,MAAAA,GAAAA,CAAG,QAAS,CAAA,KAAA,CAAM,OAAS,EAAA;AAAA,MAC/B,SAAW,EAAA;AAAA,KACZ,CAAA;AACD,IAAA,MAAMA,GAAG,CAAA,QAAA,CAAS,SAAU,CAAA,SAAA,EAAW,MAAO,CAAA,IAAA,CAAK,QAAS,CAAA,IAAA,EAAM,QAAS,CAAA,IAAA,KAAS,KAAQ,GAAA,OAAA,GAAU,QAAQ,CAAC,CAAA;AAAA;AAEjH,EAAM,MAAA,kBAAA,GAAqB,WAAW,cAAgB,EAAA;AAAA,IACpD,GAAA,EAAK,aAAc,CAAA,MAAA,CAAA,IAAA,CAAY,GAAG;AAAA,GACnC,CAAA;AACD,EAA8B,kBAAqB,GAAA,IAAA,CAAK,KAAMA,CAAAA,GAAAA,CAAG,aAAa,kBAAoB,EAAA,OAAO,CAAC,CAAA,CAAE,OAAU,GAAA;AACtH,EAAA,MAAM,aAAgB,GAAA,eAAA;AAItB,EAAA,MAAM,eAAkB,GAAA;AAAA,IACtB,WAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA,EAAe,mBAAoB,CAAA,aAAA,EAAe,GAAG,CAAA;AAAA,IACrD;AAAA,GACF;AACA,EAAM,MAAA,YAAA,GAAe,SAAU,GAAK,EAAA;AAClC,IAAAA,IAAG,WAAY,CAAA,GAAG,CAAE,CAAA,OAAA,CAAQ,SAAU,IAAM,EAAA;AAC1C,MAAI,IAAA,QAAA,GAAW,MAAM,GAAM,GAAA,IAAA;AAC3B,MAAM,MAAA,IAAA,GAAOA,GAAG,CAAA,QAAA,CAAS,QAAQ,CAAA;AACjC,MAAI,IAAA,IAAA,CAAK,aAAe,EAAA;AACtB,QAAA,YAAA,CAAa,QAAQ,CAAA;AACrB,QAAA;AAAA;AAEF,MAAI,IAAA,QAAA,CAAS,QAAS,CAAA,aAAa,CAAG,EAAA;AACpC,QAAAA,IAAG,UAAW,CAAA,QAAA,EAAU,SAAS,OAAQ,CAAA,eAAA,EAAiB,aAAa,CAAC,CAAA;AACxE,QAAA;AAAA;AAIF,MAAI,IAAA,IAAA,CAAK,QAAS,CAAA,OAAO,CAAG,EAAA;AAC1B,QAAA,IAAI,eAAe,IAAM,EAAA;AACvB,UAAAA,GAAAA,CAAG,OAAO,QAAQ,CAAA;AAClB,UAAA;AAAA,SACK,MAAA;AACL,UAAAA,IAAG,UAAW,CAAA,QAAA,EAAU,SAAS,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAC,CAAA;AACrD,UAAW,QAAA,GAAA,QAAA,CAAS,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA;AAAA;AACzC,OAES,MAAA,IAAA,IAAA,CAAK,QAAS,CAAA,OAAO,CAAG,EAAA;AACjC,QAAA,IAAI,eAAe,IAAM,EAAA;AACvB,UAAAA,IAAG,UAAW,CAAA,QAAA,EAAU,SAAS,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAC,CAAA;AACrD,UAAW,QAAA,GAAA,QAAA,CAAS,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA;AAAA,SAClC,MAAA;AACL,UAAAA,GAAAA,CAAG,OAAO,QAAQ,CAAA;AAClB,UAAA;AAAA;AACF;AAEF,MAAA,IAAI,CAAC,QAAA,CAAS,QAAS,CAAA,MAAM,CAAG,EAAA;AAC9B,QAAA;AAAA;AAEF,MAAM,MAAA,SAAA,GAAY,WAAW,OAAQA,CAAAA,GAAAA,CAAG,aAAa,QAAU,EAAA,OAAO,CAAC,CAAA,CAAE,eAAe,CAAA;AACxF,MAAAA,IAAG,aAAc,CAAA,QAAA,CAAS,QAAQ,OAAS,EAAA,EAAE,GAAG,SAAS,CAAA;AACzD,MAAAA,GAAAA,CAAG,OAAO,QAAQ,CAAA;AAAA,KACnB,CAAA;AAAA,GACH;AACA,EAAA,YAAA,CAAa,IAAI,CAAA;AACjB,EAAA,MAAM,QAAQ,aAAc,CAAA;AAAA,IAC1B,WAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAAA,IAAG,aAAcC,CAAAA,KAAAA,CAAK,KAAK,IAAM,EAAA,QAAQ,GAAG,KAAK,CAAA;AACjD,EAAA,MAAM,iBAAiB,sBAAuB,CAAA;AAAA,IAC5C,WAAW,QAAS,CAAA,SAAA;AAAA,IACpB,UAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAAD,IAAG,aAAcC,CAAAA,KAAAA,CAAK,KAAK,IAAM,EAAA,kBAAkB,GAAG,cAAc,CAAA;AACpE,EAAA,MAAM,gBAAgB,qBAAsB,CAAA;AAAA,IAC1C,WAAW,QAAS,CAAA,SAAA;AAAA,IACpB,UAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACD,CAAA;AACD,EAAAD,IAAG,aAAcC,CAAAA,KAAAA,CAAK,KAAK,IAAM,EAAA,iBAAiB,GAAG,aAAa,CAAA;AAClE,EAAA,MAAM,oBAAoB,yBAA0B,CAAA;AAAA,IAClD,UAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAW,QAAS,CAAA;AAAA,GACrB,CAAA;AACD,EAAAD,IAAG,aAAcC,CAAAA,KAAAA,CAAK,KAAK,IAAM,EAAA,qBAAqB,GAAG,iBAAiB,CAAA;AAC1E,EAAA,OAAA,CAAQ,QAAQ,SAAS,CAAA;AACzB,EAAA,MAAM,UAAaA,GAAAA,KAAAA,CAAK,QAAS,CAAA,GAAA,EAAK,IAAI,CAAA;AAC1C,EAAA,OAAA,CAAQ,GAAI,CAAA;AAAA,IACV,OAAS,EAAA,CAAA;;AAAA,OAAA,EAAwE,UAAU,CAAA;AAAA;AAAA;AAAA,iBAAA,CAAA;AAAA,IAC3F,KAAO,EAAA;AAAA,MACL,OAAS,EAAA,CAAA;AAAA,MACT,WAAa,EAAA,OAAA;AAAA,MACb,WAAa,EAAA;AAAA;AACf,GACD,CAAA;AACH;;;ACjJA,eAAsB,GAAA,CAAI,IAAO,GAAA,OAAA,CAAQ,IAAM,EAAA;AAC7C,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,OAAQ,CAAA,IAAI,CAAC,CAAA,CAAE,OAAQ,CAAA,eAAiC,CAAE,CAAA,IAAA,CAAK,IAAK,CAAA,GAAA,CAAI,KAAK,KAAM,EAAA,CAAE,aAAc,EAAC,CAAC,CAAA,CAAE,MAAO,EAAA,CAAE,IAAK,EAAA,CAAE,OAAQ,CAAA,2BAAA,EAA6B,sIAAwI,EAAA,CAAAG,MAASA,KAAAA,MAAAA,CAAM,WAAW,SAAW,EAAA;AAAA,IAC1V,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,WAAa,EAAA;AAAA,IACrB,IAAM,EAAA,SAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,MAAQ,EAAA;AAAA,IAChB,IAAM,EAAA,SAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,UAAY,EAAA;AAAA,IACpB,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,YAAc,EAAA;AAAA,IACtB,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,YAAc,EAAA;AAAA,IACtB,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,gBAAkB,EAAA;AAAA,IAC1B,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA,kDAAA;AAAA,IACV,SAAW,EAAA;AAAA,GACZ,CAAE,CAAA,MAAA,CAAO,oBAAsB,EAAA;AAAA,IAC9B,IAAM,EAAA,SAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,aAAe,EAAA;AAAA,IACvB,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,UAAY,EAAA;AAAA,IACpB,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA,oCAAA;AAAA,IACV,SAAW,EAAA;AAAA,GACZ,CAAE,CAAA,MAAA,CAAO,aAAe,EAAA;AAAA,IACvB,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA,mCAAA;AAAA,IACV,SAAW,EAAA;AAAA,GACZ,CAAE,CAAA,MAAA,CAAO,UAAY,EAAA;AAAA,IACpB,IAAM,EAAA,SAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,UAAY,EAAA;AAAA,IACpB,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,iBAAmB,EAAA;AAAA,IAC3B,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,WAAa,EAAA;AAAA,IACrB,IAAM,EAAA,SAAA;AAAA,IACN,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,MAAA,CAAO,QAAU,EAAA;AAAA,IAClB,IAAM,EAAA,QAAA;AAAA,IACN,KAAO,EAAA,IAAA;AAAA,IACP,QAAU,EAAA;AAAA,GACX,CAAE,CAAA,KAAA,CAAM,CAAQ,IAAA,KAAA;AACf,IAAI,IAAA,IAAA,CAAK,aAAa,IAAK,CAAA,UAAA,IAAc,QAAQ,IAAK,CAAA,UAAA,CAAW,UAAW,CAAA,IAAI,CAAI,CAAA,EAAA;AAClF,MAAM,MAAA,IAAI,MAAM,2HAA2H,CAAA;AAAA;AAE7I,IAAO,OAAA,IAAA;AAAA,GACR,CAAC,CAAA;AACF,EAAM,MAAA,MAAA,GAAS,KAAK,SAAU,EAAA;AAC9B,EAAM,MAAA,OAAA,GAAU,MAAM,aAAA,CAAc,MAAM,CAAA;AAC1C,EAAM,MAAA,SAAA,GAAY,MAAM,eAAgB,CAAA;AAAA,IACtC,GAAG,MAAA;AAAA,IACH;AAAA,GACD,CAAA;AACD,EAAM,MAAA,QAAA,GAAW,MAAM,cAAA,CAAe,MAAM,CAAA;AAC5C,EAAM,MAAA,UAAA,GAAa,MAAM,gBAAiB,CAAA;AAAA,IACxC,GAAG,MAAA;AAAA,IACH;AAAA,GACD,CAAA;AACD,EAAM,MAAA,UAAA,GAAa,MAAM,gBAAA,CAAiB,MAAM,CAAA;AAChD,EAAM,MAAA,cAAA,GAAiB,MAAM,oBAAA,CAAqB,MAAM,CAAA;AACxD,EAAM,MAAA,WAAA,GAAc,MAAM,oBAAA,CAAqB,MAAM,CAAA;AACrD,EAAM,MAAA,QAAA,GAAW,MAAM,cAAA,CAAe,MAAM,CAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,WAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,GACF,GAAI,MAAM,8CAA+C,CAAA;AAAA,IACvD,GAAG,MAAA;AAAA,IACH;AAAA,GACD,CAAA;AACD,EAAM,MAAA,SAAA,GAAY,MAAM,eAAA,CAAgB,MAAM,CAAA;AAC9C,EAAM,MAAA,MAAA,GAAS,MAAM,YAAA,CAAa,MAAM,CAAA;AACxC,EAAA,MAAM,GAAI,CAAA;AAAA,IACR,OAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACD,CAAA;AACH","file":"index.js","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola as defaultConsola, createConsola } from \"consola\";\n\n// https://github.com/unjs/consola?tab=readme-ov-file#await-promptmessage--type-cancel-\nconst cancelSymbol = Symbol.for(\"cancel\");\nexport const consola = createConsola({\n async prompt(message, opts) {\n const response = await defaultConsola.prompt(message, {\n ...opts,\n cancel: opts?.cancel ?? \"symbol\"\n });\n if (response === cancelSymbol) {\n defaultConsola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n return response;\n }\n});","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { colorize } from \"consola/utils\";\nexport function green(text) {\n return colorize(\"green\", text);\n}\nexport function italic(text) {\n return colorize(\"italic\", text);\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptApplicationRid({\n application\n}) {\n while (application == null || !/^ri\\.third-party-applications\\.[^.]+\\.application\\.[^.]+$/.test(application)) {\n if (application != null) {\n consola.fail(\"Please enter a valid application resource identifier (rid)\");\n }\n application = await consola.prompt(`Enter the application resource identifier (rid) for your application from Developer Console:\\n${italic(\"(Example: ri.third-party-applications.main.application.1c66b352-4e00-40d2-995d-061c9d533ace)\")}`, {\n type: \"text\"\n });\n }\n return application;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptApplicationUrl({\n skipApplicationUrl,\n applicationUrl\n}) {\n if (skipApplicationUrl) {\n return undefined;\n }\n if (applicationUrl == null) {\n const skip = await consola.prompt(`Do you know the URL your production application will be hosted on? This is required to create a production build of your application with the correct OAuth redirect URL.`, {\n type: \"select\",\n options: [{\n label: \"Yes, let me fill it here\",\n value: \"yes\"\n }, {\n label: \"No, I will fill it in later following the instructions in the generated README\",\n value: \"no\"\n }]\n });\n if (skip === \"no\") {\n return undefined;\n }\n }\n while (applicationUrl == null || !/^https?:\\/\\//.test(applicationUrl)) {\n if (applicationUrl != null) {\n consola.fail(\"Please enter a valid application URL\");\n }\n applicationUrl = await consola.prompt(`Enter the URL your production application will be hosted on:\\n${italic(\"(Example: https://myapp.example.palantirfoundry.com)\")}`, {\n type: \"text\"\n });\n }\n return applicationUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptClientId({\n clientId\n}) {\n while (clientId == null || !/^[0-9a-f]+$/.test(clientId)) {\n if (clientId != null) {\n consola.fail(\"Please enter a valid OAuth client ID\");\n }\n clientId = await consola.prompt(`Enter the OAuth client ID for your application from Developer Console:\\n${italic(\"(Example: 2650385ab6c5e0df3b44aff776b00a42)\")}`, {\n type: \"text\"\n });\n }\n return clientId;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptCorsProxy({\n corsProxy\n}) {\n if (corsProxy != null) {\n return corsProxy;\n }\n return consola.prompt(`Include a CORS proxy for Foundry API requests during local development?\\n${italic(\"This is required if your enrollment has not allowed localhost for CORS.\")}`, {\n type: \"confirm\",\n initial: false\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptFoundryUrl({\n foundryUrl\n}) {\n while (foundryUrl == null || !foundryUrl.startsWith(\"https://\")) {\n if (foundryUrl != null) {\n consola.fail(\"Please enter a valid Foundry URL\");\n }\n foundryUrl = await consola.prompt(`Enter the URL for your Foundry stack:\\n${italic(\"(Example: https://example.palantirfoundry.com)\")}`, {\n type: \"text\"\n });\n }\n return foundryUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOntologyAndOsdkPackageAndOsdkRegistryUrl({\n ontology,\n osdkPackage,\n osdkRegistryUrl,\n skipOsdk,\n sdkVersion\n}) {\n if (skipOsdk) {\n return {};\n }\n if (sdkVersion !== \"1.x\" && osdkPackage == null && ontology == null && osdkRegistryUrl == null) {\n const skip = await consola.prompt(\"Will you be using an OSDK in your application?\", {\n type: \"select\",\n options: [{\n label: \"Yes, I will be using an OSDK\",\n value: \"yes\"\n }, {\n label: \"No, I will only be using Platform APIs\",\n value: \"no\"\n }]\n });\n if (skip === \"no\") {\n return {};\n }\n }\n while (ontology == null || !/^ri\\.ontology\\.[^.]+\\.ontology\\.[^.]+$/.test(ontology)) {\n if (ontology != null) {\n consola.fail(\"Please enter a valid Ontology resource identifier (rid)\");\n }\n ontology = await consola.prompt(`Enter the Ontology resource identifier (rid) associated with your Developer Console:\\n${italic(\"(Example: ri.ontology.main.ontology.1df1ce4c-f9d2-0f78-a316-287f6ac80bb2)\")}`, {\n type: \"text\"\n });\n }\n while (osdkPackage == null || !/^@[a-z0-9-]+\\/sdk$/.test(osdkPackage)) {\n if (osdkPackage != null) {\n consola.fail(\"Please enter a valid OSDK package name\");\n }\n osdkPackage = await consola.prompt(`Enter the OSDK package name for your application from Developer Console:\\n${italic(\"(Example: @my-app/sdk)\")}`, {\n type: \"text\"\n });\n }\n while (osdkRegistryUrl == null || !/^https:\\/\\/[^/]+\\/artifacts\\/api\\/repositories\\/ri\\.artifacts\\.[^/]+\\/contents\\/release\\/npm\\/?$/.test(osdkRegistryUrl)) {\n if (osdkRegistryUrl != null) {\n consola.fail(\"Please enter a valid NPM registry URL to install your OSDK package\");\n }\n osdkRegistryUrl = await consola.prompt(`Enter the NPM registry URL to install your OSDK package from Developer Console:\\n${italic(\"(Example: https://example.palantirfoundry.com/artifacts/api/repositories/ri.artifacts.main.repository.a4a7fe1c-486f-4226-b706-7b90005f527d/contents/release/npm)\")}`, {\n type: \"text\"\n });\n }\n return {\n ontology,\n osdkPackage,\n osdkRegistryUrl: osdkRegistryUrl.replace(/\\/$/, \"\")\n };\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { consola } from \"../consola.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptOverwrite({\n project,\n overwrite\n}) {\n if (overwrite != null) {\n return overwrite;\n }\n if (!fs.existsSync(path.join(process.cwd(), project))) {\n return true;\n }\n const result = await consola.prompt(`The directory ${green(project)} already exists do you want to overwrite or ignore it?`, {\n type: \"select\",\n options: [{\n label: \"Remove existing files and continue\",\n value: \"overwrite\"\n }, {\n label: \"Ignore files and continue\",\n value: \"ignore\"\n }, {\n label: \"Cancel\",\n value: \"cancel\"\n }]\n });\n switch (result) {\n case \"overwrite\":\n return true;\n case \"ignore\":\n return false;\n case \"cancel\":\n consola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptProject({\n project\n}) {\n while (project == null || !/^[a-zA-Z0-9-_]+$/.test(project)) {\n if (project != null) {\n consola.fail(\"Project name can only contain alphanumeric characters, hyphens and underscores\");\n }\n project = await consola.prompt(\"Project name:\", {\n type: \"text\",\n placeholder: \"my-osdk-app\",\n default: \"my-osdk-app\"\n });\n }\n return project;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nconst scopeNameRegex = /^[a-zA-Z-_:]+$/;\nexport async function promptScopes({\n scopes\n}) {\n while (true) {\n if (scopes != null) {\n const invalidScopes = scopes.filter(scope => !scopeNameRegex.test(scope));\n const allValidScopes = invalidScopes.length === 0;\n if (allValidScopes) {\n break;\n }\n const joinedInvalidScopes = invalidScopes.join(\", \");\n consola.fail(`Scopes [ ${joinedInvalidScopes} ] are invalid. Scope names can only contain letters, hyphens, underscores, and colons`);\n }\n const stringScopes = await consola.prompt(\"Enter the scopes to request during OAuth:\", {\n type: \"text\",\n placeholder: \"api:read-data api:write-data api:use-ontologies-read api:use-ontologies-write\",\n default: \"api:read-data api:write-data api:use-ontologies-read api:use-ontologies-write\"\n });\n scopes = stringScopes.split(\" \");\n }\n return deduplicateScopes(scopes);\n}\n\n// Preserving the originally specified scope order\nfunction deduplicateScopes(scopes) {\n const dedupedScopes = [];\n const seen = new Set();\n for (const scope of scopes) {\n if (seen.has(scope)) {\n continue;\n }\n dedupedScopes.push(scope);\n seen.add(scope);\n }\n return dedupedScopes;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptSdkVersion({\n sdkVersion,\n template\n}) {\n if (sdkVersion == null) {\n // If the SDK version is not provided, default to the earliest template version for backwards-compatibility\n return Object.keys(template.files)[0];\n }\n if (template.files[sdkVersion] == null) {\n consola.fail(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n sdkVersion = await consola.prompt(`Please choose which version of the OSDK you'd like to use for the ${template.label} template:`, {\n type: \"select\",\n options: Object.keys(template.files).reverse().map(sdkVersion => ({\n label: sdkVersion,\n value: sdkVersion\n }))\n });\n }\n return sdkVersion;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const getPackageFiles = importPromise => async () => (await importPromise).files;","// THIS FILE IS GENERATED. DO NOT MODIFY.\n// You probably want to modify ../../../codegen.mjs instead.\n\nimport { getPackageFiles } from \"../getPackageFiles.js\";\nexport const TEMPLATES = [\n// React\n{\n id: \"template-react\",\n label: \"React\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: false,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.react\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.react.beta\"))\n }\n},\n// Expo\n{\n id: \"template-expo\",\n label: \"Expo\",\n envPrefix: \"EXPO_PUBLIC_\",\n buildDirectory: \"./dist\",\n hidden: false,\n files: {\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.expo.v2\"))\n }\n},\n// Vue\n{\n id: \"template-vue\",\n label: \"Vue\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: false,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.vue\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.vue.v2\"))\n }\n},\n// Tutorial: To do App\n{\n id: \"template-tutorial-todo-app\",\n label: \"Tutorial: To do App\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: true,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-app\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-app.beta\"))\n }\n},\n// Tutorial: To do AIP App\n{\n id: \"template-tutorial-todo-aip-app\",\n label: \"Tutorial: To do AIP App\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n hidden: true,\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-aip-app\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.tutorial-todo-aip-app.beta\"))\n }\n}];","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { TEMPLATES } from \"../generatedNoCheck/templates.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptTemplate(parsed) {\n const useBeta = parsed.beta ?? false;\n let template = TEMPLATES.find(t => t.id === parsed.template || t.id === `template-${parsed.template}`);\n if (template == null) {\n const availableTemplates = getAvailableTemplatesOrThrow(useBeta);\n const templateId = await consola.prompt(parsed.template != null ? `The provided template ${green(parsed.template)} is invalid please select a framework:` : \"Select a framework:\", {\n type: \"select\",\n options: availableTemplates.map(template => ({\n value: template.id,\n label: template.label\n }))\n });\n template = TEMPLATES.find(t => t.id === templateId);\n if (template == null) {\n throw new Error(`Template ${templateId} should be found`);\n }\n }\n return template;\n}\n\n/** Exported for testing only */\nexport function getAvailableTemplatesOrThrow(useBeta) {\n const availableTemplates = TEMPLATES.filter(template => !template.hidden && (useBeta ? template.isBeta === true\n // isBeta could be null\n : !template.isBeta));\n if (availableTemplates.length === 0) {\n throw new Error(\"No available templates found for the selected options.\");\n }\n return availableTemplates;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function changeVersionPrefix(version, prefix) {\n const isWorkspaceProtocol = version.startsWith(\"workspace:\");\n if (isWorkspaceProtocol) {\n version = version.slice(\"workspace:\".length);\n }\n if (version[0] === \"^\" || version[0] === \"~\" || version[0] === \"*\") {\n version = version.slice(1);\n }\n return `${isWorkspaceProtocol ? \"workspace:\" : \"\"}${prefix}${version}`;\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\nexport { invariant as default };","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateEnvDevelopment({\n envPrefix,\n foundryUrl,\n clientId,\n corsProxy,\n ontology\n}) {\n const foundryApiUrl = corsProxy ? \"http://localhost:8080\" : foundryUrl;\n const applicationUrl = \"http://localhost:8080\";\n const ontologyEnvSection = ontology != null ? `\n\n# This Ontology RID must match the Ontology RID your Developer Console is associated with.\n# You can check the Ontology on the \"Ontology SDK\" tab of Developer Console.\n# It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}\n` : \"\";\n return `# This env file is intended for developing on your local computer.\n# To set up development in Foundry's Code Workspaces, see .env.code-workspaces.\n# To deploy your application to production, see .env.production.\n# Note that .env.code-workspaces is only present for projects that were set up\n# using the \"Bootstrap in Foundry\" option in Developer Console.\n\n\n# This URL is the URL your users will be redirected back to after signing in.\n# This URL must exactly match one of the URLs listed in the \"OAuth & scopes\"\n# page of Developer Console.\n#\n# If your application in development is not hosted on port 8080, you will need\n# to change this URL here and in Developer Console.\n\n${envPrefix}FOUNDRY_REDIRECT_URL=${applicationUrl}/auth/callback\n\n\n# This URL is the Foundry host that your OSDK will use. It typically does not\n# need to be changed.\n\n${envPrefix}FOUNDRY_API_URL=${foundryApiUrl}\n\n\n# This client ID must match the client ID given on the \"OAuth & scopes\" page of\n# Developer Console. It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_CLIENT_ID=${clientId}\n${ontologyEnvSection}`;\n}\nexport function generateEnvProduction({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId,\n ontology\n}) {\n const applicationUrlOrDefault = applicationUrl ?? \"<Fill in the domain at which you deploy your application>\";\n const ontologyEnvSection = ontology != null ? `\n\n# This Ontology RID must match the Ontology RID your Developer Console is associated with.\n# You can check the Ontology on the \"Ontology SDK\" tab of Developer Console.\n# It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_ONTOLOGY_RID=${ontology}\n` : \"\";\n return `# This env file is intended for deploying your application to production.\n# To set up development on your local computer, see .env.development.\n# To set up development in Foundry's Code Workspaces, see .env.code-workspaces.\n# Note that .env.code-workspaces is only present for projects that were set up\n# using the \"Bootstrap in Foundry\" option in Developer Console.\n\n\n# This URL is the URL your users will be redirected back to after signing in.\n# This URL must exactly match one of the URLs listed in the \"OAuth & scopes\"\n# page of Developer Console.\n#\n# If you change where your application is hosted, you will need to change this\n# URL here and in Developer Console.\n\n${applicationUrl == null ? \"# \" : \"\"}${envPrefix}FOUNDRY_REDIRECT_URL=${applicationUrlOrDefault}/auth/callback\n\n\n# This URL is the Foundry host that your OSDK will use. It typically does not\n# need to be changed.\n\n${envPrefix}FOUNDRY_API_URL=${foundryUrl}\n\n\n# This client ID must match the client ID given on the \"OAuth & scopes\" page of\n# Developer Console. It typically does not need to be changed.\n\n${envPrefix}FOUNDRY_CLIENT_ID=${clientId}\n${ontologyEnvSection}`;\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateFoundryConfigJson({\n foundryUrl,\n application,\n directory\n}) {\n return JSON.stringify({\n foundryUrl,\n site: {\n application,\n directory,\n autoVersion: {\n type: \"git-describe\",\n tagPrefix: \"\"\n }\n }\n }, null, 2) + \"\\n\";\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateNpmRc({\n foundryUrl,\n osdkPackage,\n osdkRegistryUrl\n}) {\n // pnpm requires a trailing slash in .npmrc\n // https://github.com/pnpm/pnpm/issues/5941\n const osdkRegistryUrlWithTrailingSlash = osdkRegistryUrl != null ? osdkRegistryUrl.endsWith(\"/\") ? osdkRegistryUrl : osdkRegistryUrl + \"/\" : null;\n const formattedFoundryUrl = foundryUrl.replace(/^https:\\/\\//, \"\").replace(/\\/$/, \"\");\n const artifactsApiUrl = formattedFoundryUrl + \"/artifacts/api/\";\n const packageScope = osdkPackage?.split(\"/\")[0];\n const credentialsLine = `//${artifactsApiUrl}:_authToken=\\${FOUNDRY_TOKEN}\\n`;\n const registryLine = packageScope != null && osdkRegistryUrlWithTrailingSlash != null ? `${packageScope}:registry=${osdkRegistryUrlWithTrailingSlash}\\n` : \"\";\n return credentialsLine + registryLine;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { changeVersionPrefix } from \"@osdk/generator-utils\";\nimport { findUpSync } from \"find-up\";\nimport Handlebars from \"handlebars\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { consola } from \"./consola.js\";\nimport { generateEnvDevelopment, generateEnvProduction } from \"./generate/generateEnv.js\";\nimport { generateFoundryConfigJson } from \"./generate/generateFoundryConfigJson.js\";\nimport { generateNpmRc } from \"./generate/generateNpmRc.js\";\nimport { green } from \"./highlight.js\";\nexport async function run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n applicationUrl,\n application,\n ontology,\n clientId,\n osdkPackage,\n osdkRegistryUrl,\n corsProxy,\n scopes\n}) {\n consola.log(\"\");\n consola.start(`Creating project ${green(project)} using template ${green(template.id)}`);\n const cwd = process.cwd();\n const root = path.join(cwd, project);\n if (fs.existsSync(root)) {\n if (overwrite) {\n consola.info(`Overwriting existing project directory`);\n fs.rmSync(root, {\n recursive: true,\n force: true\n });\n fs.mkdirSync(root, {\n recursive: true\n });\n } else {\n consola.info(`Reusing existing project directory`);\n }\n } else {\n consola.info(`Creating project directory`);\n fs.mkdirSync(root, {\n recursive: true\n });\n }\n consola.info(`Copying files into project directory`);\n if (template.files[sdkVersion] == null) {\n throw new Error(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n }\n const files = await template.files[sdkVersion]();\n for (const [filePath, contents] of files) {\n const finalPath = path.join(root, filePath);\n const dirPath = path.dirname(finalPath);\n await fs.promises.mkdir(dirPath, {\n recursive: true\n });\n await fs.promises.writeFile(finalPath, Buffer.from(contents.body, contents.type === \"raw\" ? \"utf-8\" : \"base64\"));\n }\n const ourPackageJsonPath = findUpSync(\"package.json\", {\n cwd: fileURLToPath(import.meta.url)\n });\n const ourPackageJsonVersion = ourPackageJsonPath ? JSON.parse(fs.readFileSync(ourPackageJsonPath, \"utf-8\")).version : undefined;\n const clientVersion = process.env.PACKAGE_CLIENT_VERSION ?? ourPackageJsonVersion;\n if (clientVersion === undefined) {\n throw new Error(\"Could not determine current @osdk/client version\");\n }\n const templateContext = {\n application,\n applicationUrl,\n project,\n foundryUrl,\n osdkPackage,\n corsProxy,\n clientVersion: changeVersionPrefix(clientVersion, \"^\"),\n scopes\n };\n const processFiles = function (dir) {\n fs.readdirSync(dir).forEach(function (file) {\n let fullPath = dir + \"/\" + file;\n const stat = fs.statSync(fullPath);\n if (stat.isDirectory()) {\n processFiles(fullPath);\n return;\n }\n if (fullPath.endsWith(\"/_gitignore\")) {\n fs.renameSync(fullPath, fullPath.replace(/\\/_gitignore$/, \"/.gitignore\"));\n return;\n }\n\n // Files with the `.osdk` extension are only kept if the application uses an OSDK\n if (file.includes(\".osdk\")) {\n if (osdkPackage == null) {\n fs.rmSync(fullPath);\n return;\n } else {\n fs.renameSync(fullPath, fullPath.replace(\".osdk\", \"\"));\n fullPath = fullPath.replace(\".osdk\", \"\");\n }\n // Files with the `.psdk` extension are only kept if the application does not use an OSDK\n } else if (file.includes(\".psdk\")) {\n if (osdkPackage == null) {\n fs.renameSync(fullPath, fullPath.replace(\".psdk\", \"\"));\n fullPath = fullPath.replace(\".psdk\", \"\");\n } else {\n fs.rmSync(fullPath);\n return;\n }\n }\n if (!fullPath.endsWith(\".hbs\")) {\n return;\n }\n const templated = Handlebars.compile(fs.readFileSync(fullPath, \"utf-8\"))(templateContext);\n fs.writeFileSync(fullPath.replace(/.hbs$/, \"\"), templated);\n fs.rmSync(fullPath);\n });\n };\n processFiles(root);\n const npmRc = generateNpmRc({\n osdkPackage,\n osdkRegistryUrl,\n foundryUrl\n });\n fs.writeFileSync(path.join(root, \".npmrc\"), npmRc);\n const envDevelopment = generateEnvDevelopment({\n envPrefix: template.envPrefix,\n foundryUrl,\n clientId,\n corsProxy,\n ontology\n });\n fs.writeFileSync(path.join(root, \".env.development\"), envDevelopment);\n const envProduction = generateEnvProduction({\n envPrefix: template.envPrefix,\n foundryUrl,\n applicationUrl,\n clientId,\n ontology\n });\n fs.writeFileSync(path.join(root, \".env.production\"), envProduction);\n const foundryConfigJson = generateFoundryConfigJson({\n foundryUrl,\n application,\n directory: template.buildDirectory\n });\n fs.writeFileSync(path.join(root, \"foundry.config.json\"), foundryConfigJson);\n consola.success(\"Success\");\n const cdRelative = path.relative(cwd, root);\n consola.box({\n message: `Done! Run the following commands to get started:\\n` + `\\n` + ` \\`cd ${cdRelative}\\`\\n` + ` \\`export FOUNDRY_TOKEN=<token>\\`\\n` + ` \\`npm install\\`\\n` + ` \\`npm run dev\\``,\n style: {\n padding: 2,\n borderColor: \"green\",\n borderStyle: \"rounded\"\n }\n });\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { promptApplicationRid } from \"./prompts/promptApplicationRid.js\";\nimport { promptApplicationUrl } from \"./prompts/promptApplicationUrl.js\";\nimport { promptClientId } from \"./prompts/promptClientId.js\";\nimport { promptCorsProxy } from \"./prompts/promptCorsProxy.js\";\nimport { promptFoundryUrl } from \"./prompts/promptFoundryUrl.js\";\nimport { promptOntologyAndOsdkPackageAndOsdkRegistryUrl } from \"./prompts/promptOntologyAndOsdkPackageAndOsdkRegistryUrl.js\";\nimport { promptOverwrite } from \"./prompts/promptOverwrite.js\";\nimport { promptProject } from \"./prompts/promptProject.js\";\nimport { promptScopes } from \"./prompts/promptScopes.js\";\nimport { promptSdkVersion } from \"./prompts/promptSdkVersion.js\";\nimport { promptTemplate } from \"./prompts/promptTemplate.js\";\nimport { run } from \"./run.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).version(process.env.PACKAGE_VERSION ?? \"\").wrap(Math.min(150, yargs().terminalWidth())).strict().help().command(\"$0 [project] [--<option>]\", \"Create a new OSDK application based on framework templates. Information may be provided through options to skip interactive prompts.\", yargs => yargs.positional(\"project\", {\n type: \"string\",\n describe: \"Project name to create\"\n }).option(\"overwrite\", {\n type: \"boolean\",\n describe: \"Overwrite project directory if already exists\"\n }).option(\"beta\", {\n type: \"boolean\",\n describe: \"Use templates compatible with the Beta version of the SDK\"\n }).option(\"template\", {\n type: \"string\",\n describe: \"Template name to use\"\n }).option(\"sdkVersion\", {\n type: \"string\",\n describe: \"The OSDK version to use\"\n }).option(\"foundryUrl\", {\n type: \"string\",\n describe: \"URL for the Foundry stack\"\n }).option(\"applicationUrl\", {\n type: \"string\",\n describe: \"URL the production application will be hosted on\",\n conflicts: \"skipApplicationUrl\"\n }).option(\"skipApplicationUrl\", {\n type: \"boolean\",\n describe: \"Skip filling in URL the production application will be hosted on\"\n }).option(\"application\", {\n type: \"string\",\n describe: \"Application resource identifier (rid)\"\n }).option(\"ontology\", {\n type: \"string\",\n describe: \"Ontology resource identifier (rid)\",\n conflicts: \"skipOsdk\"\n }).option(\"osdkPackage\", {\n type: \"string\",\n describe: \"OSDK package name for application\",\n conflicts: \"skipOsdk\"\n }).option(\"skipOsdk\", {\n type: \"boolean\",\n describe: \"Skip filling in OSDK options\"\n }).option(\"clientId\", {\n type: \"string\",\n describe: \"OAuth client ID for application\"\n }).option(\"osdkRegistryUrl\", {\n type: \"string\",\n describe: \"URL for NPM registry to install OSDK package\"\n }).option(\"corsProxy\", {\n type: \"boolean\",\n describe: \"Include a CORS proxy for Foundry API requests during local development\"\n }).option(\"scopes\", {\n type: \"string\",\n array: true,\n describe: \"List of client-side scopes to be used when creating a client\"\n }).check(argv => {\n if (argv.skipOsdk && (argv.sdkVersion == null || argv.sdkVersion.startsWith(\"1.\"))) {\n throw new Error(\"The --skipOsdk flag is only allowed when sdkVersion is 2.x. Please set --sdkVersion to 2.x or remove the --skipOsdk flag.\");\n }\n return true;\n }));\n const parsed = base.parseSync();\n const project = await promptProject(parsed);\n const overwrite = await promptOverwrite({\n ...parsed,\n project\n });\n const template = await promptTemplate(parsed);\n const sdkVersion = await promptSdkVersion({\n ...parsed,\n template\n });\n const foundryUrl = await promptFoundryUrl(parsed);\n const applicationUrl = await promptApplicationUrl(parsed);\n const application = await promptApplicationRid(parsed);\n const clientId = await promptClientId(parsed);\n const {\n osdkPackage,\n ontology,\n osdkRegistryUrl\n } = await promptOntologyAndOsdkPackageAndOsdkRegistryUrl({\n ...parsed,\n sdkVersion\n });\n const corsProxy = await promptCorsProxy(parsed);\n const scopes = await promptScopes(parsed);\n await run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n applicationUrl,\n application,\n clientId,\n osdkPackage,\n osdkRegistryUrl,\n corsProxy,\n scopes,\n ontology\n });\n}"]}
|
package/build/types/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAoDA,OAAO,iBAAe,IAAIA,kBAAgC","names":["args: string[]"],"sources":["../../src/cli.ts"],"version":3,"file":"cli.d.ts"}
|