@osdk/create-app 2.2.0-beta.6 → 2.2.0-beta.8
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 +12 -0
- package/README.md +4 -5
- package/build/esm/esm-BFQ5RNHV.js.map +1 -1
- package/build/esm/esm-EXZTN5HA.js.map +1 -1
- package/build/esm/esm-FZSV3C5D.js.map +1 -1
- package/build/esm/esm-HA4JIHHL.js.map +1 -1
- package/build/esm/esm-WPYEYT7F.js.map +1 -1
- package/build/esm/esm-XWXVWZDN.js.map +1 -1
- package/build/esm/esm-YVNV3MQG.js.map +1 -1
- package/build/esm/esm-ZDKAQEHX.js.map +1 -1
- package/build/esm/esm-ZXMFAUNZ.js.map +1 -1
- package/build/esm/index.js +47 -72
- package/build/esm/index.js.map +1 -1
- package/build/types/consola.d.ts.map +1 -1
- package/package.json +12 -14
- package/build/esm/esm-4SFFV2ZK.js +0 -421
- package/build/esm/esm-4SFFV2ZK.js.map +0 -1
- package/build/esm/esm-NFVUE2AE.js +0 -394
- package/build/esm/esm-NFVUE2AE.js.map +0 -1
package/build/esm/index.js
CHANGED
|
@@ -2,18 +2,21 @@ import yargs from 'yargs';
|
|
|
2
2
|
import { hideBin } from 'yargs/helpers';
|
|
3
3
|
import { createConsola, consola as consola$1 } from 'consola';
|
|
4
4
|
import { colorize } from 'consola/utils';
|
|
5
|
-
import fs2 from 'fs';
|
|
6
|
-
import path2 from 'path';
|
|
5
|
+
import fs2 from 'node:fs';
|
|
6
|
+
import path2 from 'node:path';
|
|
7
7
|
import { findUpSync } from 'find-up';
|
|
8
8
|
import Handlebars from 'handlebars';
|
|
9
|
-
import { fileURLToPath } from 'url';
|
|
9
|
+
import { fileURLToPath } from 'node:url';
|
|
10
10
|
|
|
11
11
|
// src/cli.ts
|
|
12
|
+
var cancelSymbol = Symbol.for("cancel");
|
|
12
13
|
var consola = createConsola({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
async prompt(message, opts) {
|
|
15
|
+
const response = await consola$1.prompt(message, {
|
|
16
|
+
...opts,
|
|
17
|
+
cancel: opts?.cancel ?? "symbol"
|
|
18
|
+
});
|
|
19
|
+
if (response === cancelSymbol) {
|
|
17
20
|
consola$1.fail("Operation cancelled");
|
|
18
21
|
process.exit(0);
|
|
19
22
|
}
|
|
@@ -49,26 +52,21 @@ async function promptApplicationUrl({
|
|
|
49
52
|
applicationUrl
|
|
50
53
|
}) {
|
|
51
54
|
if (skipApplicationUrl) {
|
|
52
|
-
return
|
|
55
|
+
return undefined;
|
|
53
56
|
}
|
|
54
57
|
if (applicationUrl == null) {
|
|
55
|
-
const skip = await consola.prompt(
|
|
56
|
-
|
|
57
|
-
{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}]
|
|
66
|
-
}
|
|
67
|
-
// Types for "select" are wrong the value is returned rather than the option object
|
|
68
|
-
// https://github.com/unjs/consola/pull/238
|
|
69
|
-
);
|
|
58
|
+
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.`, {
|
|
59
|
+
type: "select",
|
|
60
|
+
options: [{
|
|
61
|
+
label: "Yes, let me fill it here",
|
|
62
|
+
value: "yes"
|
|
63
|
+
}, {
|
|
64
|
+
label: "No, I will fill it in later following the instructions in the generated README",
|
|
65
|
+
value: "no"
|
|
66
|
+
}]
|
|
67
|
+
});
|
|
70
68
|
if (skip === "no") {
|
|
71
|
-
return
|
|
69
|
+
return undefined;
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
72
|
while (applicationUrl == null || !/^https?:\/\//.test(applicationUrl)) {
|
|
@@ -170,24 +168,19 @@ async function promptOverwrite({
|
|
|
170
168
|
if (!fs2.existsSync(path2.join(process.cwd(), project))) {
|
|
171
169
|
return true;
|
|
172
170
|
}
|
|
173
|
-
const result = await consola.prompt(
|
|
174
|
-
|
|
175
|
-
{
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}]
|
|
187
|
-
}
|
|
188
|
-
// Types for "select" are wrong the value is returned rather than the option object
|
|
189
|
-
// https://github.com/unjs/consola/pull/238
|
|
190
|
-
);
|
|
171
|
+
const result = await consola.prompt(`The directory ${green(project)} already exists do you want to overwrite or ignore it?`, {
|
|
172
|
+
type: "select",
|
|
173
|
+
options: [{
|
|
174
|
+
label: "Remove existing files and continue",
|
|
175
|
+
value: "overwrite"
|
|
176
|
+
}, {
|
|
177
|
+
label: "Ignore files and continue",
|
|
178
|
+
value: "ignore"
|
|
179
|
+
}, {
|
|
180
|
+
label: "Cancel",
|
|
181
|
+
value: "cancel"
|
|
182
|
+
}]
|
|
183
|
+
});
|
|
191
184
|
switch (result) {
|
|
192
185
|
case "overwrite":
|
|
193
186
|
return true;
|
|
@@ -222,7 +215,7 @@ async function promptScopes({
|
|
|
222
215
|
scopes
|
|
223
216
|
}) {
|
|
224
217
|
if (scopes == null) {
|
|
225
|
-
return
|
|
218
|
+
return undefined;
|
|
226
219
|
}
|
|
227
220
|
while (true) {
|
|
228
221
|
const invalidScopes = scopes.filter((scope) => !scopeNameRegex.test(scope));
|
|
@@ -264,18 +257,13 @@ async function promptSdkVersion({
|
|
|
264
257
|
}
|
|
265
258
|
if (template.files[sdkVersion] == null) {
|
|
266
259
|
consola.fail(`The ${template.label} template does not support a "${sdkVersion}" SDK version.`);
|
|
267
|
-
sdkVersion = await consola.prompt(
|
|
268
|
-
|
|
269
|
-
{
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
}))
|
|
275
|
-
}
|
|
276
|
-
// Types for "select" are wrong the value is returned rather than the option object
|
|
277
|
-
// https://github.com/unjs/consola/pull/238
|
|
278
|
-
);
|
|
260
|
+
sdkVersion = await consola.prompt(`Please choose which version of the OSDK you'd like to use for the ${template.label} template:`, {
|
|
261
|
+
type: "select",
|
|
262
|
+
options: Object.keys(template.files).reverse().map((sdkVersion2) => ({
|
|
263
|
+
label: sdkVersion2,
|
|
264
|
+
value: sdkVersion2
|
|
265
|
+
}))
|
|
266
|
+
});
|
|
279
267
|
}
|
|
280
268
|
return sdkVersion;
|
|
281
269
|
}
|
|
@@ -317,17 +305,6 @@ var TEMPLATES = [
|
|
|
317
305
|
"2.x": getPackageFiles(import('./esm-EXZTN5HA.js'))
|
|
318
306
|
}
|
|
319
307
|
},
|
|
320
|
-
// Next (static export)
|
|
321
|
-
{
|
|
322
|
-
id: "template-next-static-export",
|
|
323
|
-
label: "Next (static export)",
|
|
324
|
-
envPrefix: "NEXT_PUBLIC_",
|
|
325
|
-
buildDirectory: "./out",
|
|
326
|
-
files: {
|
|
327
|
-
"1.x": getPackageFiles(import('./esm-NFVUE2AE.js')),
|
|
328
|
-
"2.x": getPackageFiles(import('./esm-4SFFV2ZK.js'))
|
|
329
|
-
}
|
|
330
|
-
},
|
|
331
308
|
// Tutorial: To do App
|
|
332
309
|
{
|
|
333
310
|
id: "template-tutorial-todo-app",
|
|
@@ -354,7 +331,7 @@ var TEMPLATES = [
|
|
|
354
331
|
|
|
355
332
|
// src/prompts/promptTemplate.ts
|
|
356
333
|
async function promptTemplate(parsed) {
|
|
357
|
-
|
|
334
|
+
const useBeta = parsed.beta ?? false;
|
|
358
335
|
let template = TEMPLATES.find((t) => t.id === parsed.template || t.id === `template-${parsed.template}`);
|
|
359
336
|
if (template == null) {
|
|
360
337
|
const availableTemplates = TEMPLATES.filter((template2) => !template2.hidden && (useBeta ? template2.isBeta === true : !template2.isBeta));
|
|
@@ -367,8 +344,6 @@ async function promptTemplate(parsed) {
|
|
|
367
344
|
value: template2.id,
|
|
368
345
|
label: template2.label
|
|
369
346
|
}))
|
|
370
|
-
// Types for "select" are wrong the value is returned rather than the option object
|
|
371
|
-
// https://github.com/unjs/consola/pull/238
|
|
372
347
|
});
|
|
373
348
|
template = TEMPLATES.find((t) => t.id === templateId);
|
|
374
349
|
if (template == null) {
|
|
@@ -518,8 +493,8 @@ async function run({
|
|
|
518
493
|
const ourPackageJsonPath = findUpSync("package.json", {
|
|
519
494
|
cwd: fileURLToPath(import.meta.url)
|
|
520
495
|
});
|
|
521
|
-
ourPackageJsonPath ? JSON.parse(fs2.readFileSync(ourPackageJsonPath, "utf-8")).version :
|
|
522
|
-
const clientVersion = "2.2.0-beta.
|
|
496
|
+
ourPackageJsonPath ? JSON.parse(fs2.readFileSync(ourPackageJsonPath, "utf-8")).version : undefined;
|
|
497
|
+
const clientVersion = "2.2.0-beta.8";
|
|
523
498
|
const templateContext = {
|
|
524
499
|
project,
|
|
525
500
|
foundryUrl,
|
|
@@ -593,7 +568,7 @@ async function run({
|
|
|
593
568
|
|
|
594
569
|
// src/cli.ts
|
|
595
570
|
async function cli(args = process.argv) {
|
|
596
|
-
const base = yargs(hideBin(args)).version("2.2.0-beta.
|
|
571
|
+
const base = yargs(hideBin(args)).version("2.2.0-beta.8").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", {
|
|
597
572
|
type: "string",
|
|
598
573
|
describe: "Project name to create"
|
|
599
574
|
}).option("overwrite", {
|
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/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\";\nexport const consola = createConsola({\n // https://github.com/unjs/consola/issues/251\n async prompt(...params) {\n const response = await defaultConsola.prompt(...params);\n if (typeof response === \"symbol\" && response.toString() === \"Symbol(clack:cancel)\") {\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 // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\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 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 // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\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 if (scopes == null) {\n return undefined;\n }\n while (true) {\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 const stringScopes = await consola.prompt(\"Scopes:\", {\n type: \"text\",\n placeholder: \"api:read-data api:write-data\",\n default: \"api:read-data api:write-data\"\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 // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\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 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 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 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// Next (static export)\n{\n id: \"template-next-static-export\",\n label: \"Next (static export)\",\n envPrefix: \"NEXT_PUBLIC_\",\n buildDirectory: \"./out\",\n files: {\n \"1.x\": getPackageFiles(import(\"@osdk/create-app.template.next-static-export\")),\n \"2.x\": getPackageFiles(import(\"@osdk/create-app.template.next-static-export.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 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 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 let 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 = 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 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 // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\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 * 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}) {\n return generateEnv({\n envPrefix,\n foundryUrl: corsProxy ? \"http://localhost:8080\" : foundryUrl,\n applicationUrl: \"http://localhost:8080\",\n clientId\n });\n}\nexport function generateEnvProduction({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\n}) {\n return generateEnv({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\n });\n}\nfunction generateEnv({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\n}) {\n return `${envPrefix}FOUNDRY_API_URL=${foundryUrl}\\n` + `${applicationUrl == null ? \"# \" : \"\"}${envPrefix}FOUNDRY_REDIRECT_URL=${applicationUrl ?? \"<Fill in the domain at which you deploy your application>\"}/auth/callback\\n` + `${envPrefix}FOUNDRY_CLIENT_ID=${clientId}\\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 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 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 });\n fs.writeFileSync(path.join(root, \".env.development\"), envDevelopment);\n const envProduction = generateEnvProduction({\n envPrefix: template.envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\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 { 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(\"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 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 });\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/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 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 if (scopes == null) {\n return undefined;\n }\n while (true) {\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 const stringScopes = await consola.prompt(\"Scopes:\", {\n type: \"text\",\n placeholder: \"api:read-data api:write-data\",\n default: \"api:read-data api:write-data\"\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 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 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 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 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 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 = 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 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 * 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}) {\n return generateEnv({\n envPrefix,\n foundryUrl: corsProxy ? \"http://localhost:8080\" : foundryUrl,\n applicationUrl: \"http://localhost:8080\",\n clientId\n });\n}\nexport function generateEnvProduction({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\n}) {\n return generateEnv({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\n });\n}\nfunction generateEnv({\n envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\n}) {\n return `${envPrefix}FOUNDRY_API_URL=${foundryUrl}\\n` + `${applicationUrl == null ? \"# \" : \"\"}${envPrefix}FOUNDRY_REDIRECT_URL=${applicationUrl ?? \"<Fill in the domain at which you deploy your application>\"}/auth/callback\\n` + `${envPrefix}FOUNDRY_CLIENT_ID=${clientId}\\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 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 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 });\n fs.writeFileSync(path.join(root, \".env.development\"), envDevelopment);\n const envProduction = generateEnvProduction({\n envPrefix: template.envPrefix,\n foundryUrl,\n applicationUrl,\n clientId\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 { 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(\"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 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 });\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,
|
|
1
|
+
{"mappings":"AAgBA,cAAc,uBAAsC,SAAU;AAM9D,OAAO,cAAMA,SAAS","names":["consola: ConsolaInstance"],"sources":["../../src/consola.ts"],"version":3,"file":"consola.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/create-app",
|
|
3
|
-
"version": "2.2.0-beta.
|
|
3
|
+
"version": "2.2.0-beta.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"consola": "3.
|
|
28
|
+
"consola": "3.4.0",
|
|
29
29
|
"find-up": "7.0.0",
|
|
30
30
|
"handlebars": "4.7.8",
|
|
31
31
|
"yargs": "17.7.2"
|
|
@@ -38,19 +38,17 @@
|
|
|
38
38
|
"redent": "^4.0.0",
|
|
39
39
|
"tmp": "^0.2.3",
|
|
40
40
|
"typescript": "~5.5.4",
|
|
41
|
-
"@osdk/create-app.template.
|
|
42
|
-
"@osdk/create-app.template.
|
|
43
|
-
"@osdk/create-app.template.react": "2.2.0-beta.
|
|
44
|
-
"@osdk/create-app.template.
|
|
45
|
-
"@osdk/create-app.template.tutorial-todo-aip-app": "2.2.0-beta.
|
|
46
|
-
"@osdk/create-app.template.tutorial-todo-
|
|
47
|
-
"@osdk/create-app.template.tutorial-todo-app": "2.2.0-beta.
|
|
48
|
-
"@osdk/create-app.template.
|
|
49
|
-
"@osdk/create-app.template.vue": "2.2.0-beta.
|
|
50
|
-
"@osdk/
|
|
51
|
-
"@osdk/create-app.template.vue.v2": "2.2.0-beta.6",
|
|
41
|
+
"@osdk/create-app.template.expo.v2": "2.2.0-beta.8",
|
|
42
|
+
"@osdk/create-app.template.react": "2.2.0-beta.8",
|
|
43
|
+
"@osdk/create-app.template.react.beta": "2.2.0-beta.8",
|
|
44
|
+
"@osdk/create-app.template.tutorial-todo-aip-app": "2.2.0-beta.8",
|
|
45
|
+
"@osdk/create-app.template.tutorial-todo-aip-app.beta": "2.2.0-beta.8",
|
|
46
|
+
"@osdk/create-app.template.tutorial-todo-app": "2.2.0-beta.8",
|
|
47
|
+
"@osdk/create-app.template.tutorial-todo-app.beta": "2.2.0-beta.8",
|
|
48
|
+
"@osdk/create-app.template.vue": "2.2.0-beta.8",
|
|
49
|
+
"@osdk/create-app.template.vue.v2": "2.2.0-beta.8",
|
|
50
|
+
"@osdk/generator-utils": "2.2.0-beta.8",
|
|
52
51
|
"@osdk/monorepo.api-extractor": "~0.1.0-beta.1",
|
|
53
|
-
"@osdk/generator-utils": "2.2.0-beta.6",
|
|
54
52
|
"@osdk/monorepo.tsconfig": "~0.1.0-beta.1"
|
|
55
53
|
},
|
|
56
54
|
"publishConfig": {
|