@osdk/cli 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/js/{handleGenerate-WOW33WYG.cjs → handleGenerate-Q6EQWXFG.cjs} +2 -2
- package/build/js/{handleGenerate-A7X2XAGW.mjs → handleGenerate-ZUZV3IBI.mjs} +2 -2
- package/build/js/index.cjs +41 -63
- package/build/js/index.cjs.map +1 -1
- package/build/js/index.mjs +36 -58
- package/build/js/index.mjs.map +1 -1
- package/build/js/{siteDeployCommand-HSR3QDAT.mjs → siteDeployCommand-7GXJF5HF.mjs} +22 -4
- package/build/js/siteDeployCommand-7GXJF5HF.mjs.map +1 -0
- package/build/js/{siteDeployCommand-MXKGJFFB.cjs → siteDeployCommand-KUNL3GIW.cjs} +23 -4
- package/build/js/siteDeployCommand-KUNL3GIW.cjs.map +1 -0
- package/build/types/commands/site/deploy/logDeployCommandConfigFileOverride.d.ts +1 -1
- package/build/types/commands/site/logSiteCommandConfigFileOverride.d.ts +1 -1
- package/changelog/0.5.0/pr-47.v2.yml +5 -0
- package/changelog/0.5.0/pr-49.v2.yml +5 -0
- package/changelog/0.5.0/pr-51.v2.yml +5 -0
- package/package.json +3 -3
- package/build/js/siteDeployCommand-HSR3QDAT.mjs.map +0 -1
- package/build/js/siteDeployCommand-MXKGJFFB.cjs.map +0 -1
- /package/build/js/{handleGenerate-A7X2XAGW.mjs.map → handleGenerate-Q6EQWXFG.cjs.map} +0 -0
- /package/build/js/{handleGenerate-WOW33WYG.cjs.map → handleGenerate-ZUZV3IBI.mjs.map} +0 -0
|
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
|
|
|
28
28
|
|
|
29
29
|
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
30
30
|
|
|
31
|
-
var USER_AGENT = `osdk-cli/${"0.
|
|
31
|
+
var USER_AGENT = `osdk-cli/${"0.5.0"}`;
|
|
32
32
|
async function handleGenerate(args) {
|
|
33
33
|
let success = false;
|
|
34
34
|
if (args.ontologyPath) {
|
|
@@ -116,4 +116,4 @@ function getUserAgent(version) {
|
|
|
116
116
|
|
|
117
117
|
module.exports = handleGenerate;
|
|
118
118
|
//# sourceMappingURL=out.js.map
|
|
119
|
-
//# sourceMappingURL=handleGenerate-
|
|
119
|
+
//# sourceMappingURL=handleGenerate-Q6EQWXFG.cjs.map
|
|
@@ -6,7 +6,7 @@ import { createClientContext, createOpenApiRequest } from '@osdk/shared.net';
|
|
|
6
6
|
import { consola } from 'consola';
|
|
7
7
|
import * as fs from 'fs';
|
|
8
8
|
|
|
9
|
-
var USER_AGENT = `osdk-cli/${"0.
|
|
9
|
+
var USER_AGENT = `osdk-cli/${"0.5.0"}`;
|
|
10
10
|
async function handleGenerate(args) {
|
|
11
11
|
let success = false;
|
|
12
12
|
if (args.ontologyPath) {
|
|
@@ -94,4 +94,4 @@ function getUserAgent(version) {
|
|
|
94
94
|
|
|
95
95
|
export { handleGenerate as default };
|
|
96
96
|
//# sourceMappingURL=out.js.map
|
|
97
|
-
//# sourceMappingURL=handleGenerate-
|
|
97
|
+
//# sourceMappingURL=handleGenerate-ZUZV3IBI.mjs.map
|
package/build/js/index.cjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var chunkX2S4O5ZR_cjs = require('./chunk-X2S4O5ZR.cjs');
|
|
4
4
|
var chunkHYF3CTKZ_cjs = require('./chunk-HYF3CTKZ.cjs');
|
|
5
5
|
require('./chunk-HQDDGVB7.cjs');
|
|
6
|
+
var consola = require('consola');
|
|
6
7
|
var yargs = require('yargs');
|
|
7
8
|
var helpers = require('yargs/helpers');
|
|
8
9
|
var fs = require('fs');
|
|
@@ -91,8 +92,6 @@ async function loadFoundryConfig() {
|
|
|
91
92
|
allErrors: true
|
|
92
93
|
});
|
|
93
94
|
const validate = ajv.compile(CONFIG_FILE_SCHEMA);
|
|
94
|
-
const Consola = await import('consola');
|
|
95
|
-
Consola.consola;
|
|
96
95
|
const {
|
|
97
96
|
findUp
|
|
98
97
|
} = await import('find-up');
|
|
@@ -132,19 +131,15 @@ var YargsCheckError = class extends Error {
|
|
|
132
131
|
super(msg);
|
|
133
132
|
}
|
|
134
133
|
};
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
const Consola = await import('consola');
|
|
139
|
-
const consola = Consola.consola;
|
|
140
|
-
if (config?.autoVersion != null && argv.autoVersion !== config?.autoVersion.type) {
|
|
141
|
-
consola.debug(`Overriding "autoVersion" from config file with ${argv.autoVersion}`);
|
|
134
|
+
async function logDeployCommandConfigFileOverride(args, config) {
|
|
135
|
+
if (config?.autoVersion != null && args.autoVersion !== config?.autoVersion.type) {
|
|
136
|
+
consola.consola.debug(`Overriding "autoVersion" from config file with ${args.autoVersion}`);
|
|
142
137
|
}
|
|
143
|
-
if (config?.directory != null &&
|
|
144
|
-
consola.debug(`Overriding "directory" from config file with ${
|
|
138
|
+
if (config?.directory != null && args.directory !== config?.directory) {
|
|
139
|
+
consola.consola.debug(`Overriding "directory" from config file with ${args.directory}`);
|
|
145
140
|
}
|
|
146
|
-
if (config?.autoVersion?.tagPrefix != null &&
|
|
147
|
-
consola.debug(`Overriding "gitTagPrefix" from config file with ${
|
|
141
|
+
if (config?.autoVersion?.tagPrefix != null && args.gitTagPrefix != null && args.gitTagPrefix !== config?.autoVersion.tagPrefix) {
|
|
142
|
+
consola.consola.debug(`Overriding "gitTagPrefix" from config file with ${args.gitTagPrefix}`);
|
|
148
143
|
}
|
|
149
144
|
}
|
|
150
145
|
|
|
@@ -196,37 +191,33 @@ var command2 = {
|
|
|
196
191
|
default: gitTagPrefix
|
|
197
192
|
} : {}
|
|
198
193
|
}
|
|
199
|
-
}).group(["autoVersion", "gitTagPrefix"], "Autoversion Arguments").group(["version", "directory", "uploadOnly"], "Common Arguments").check((
|
|
200
|
-
if (autoVersion == null &&
|
|
194
|
+
}).group(["autoVersion", "gitTagPrefix"], "Autoversion Arguments").group(["version", "directory", "uploadOnly"], "Common Arguments").check((args) => {
|
|
195
|
+
if (autoVersion == null && args.autoVersion == null && args.version == null) {
|
|
201
196
|
throw new YargsCheckError("One of --version or --autoVersion must be specified");
|
|
202
197
|
}
|
|
203
|
-
const autoVersionType =
|
|
198
|
+
const autoVersionType = args.autoVersion ?? autoVersion;
|
|
204
199
|
if (autoVersionType !== "git-describe") {
|
|
205
200
|
throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);
|
|
206
201
|
}
|
|
207
|
-
const gitTagPrefixValue =
|
|
202
|
+
const gitTagPrefixValue = args.gitTagPrefix ?? gitTagPrefix;
|
|
208
203
|
if (gitTagPrefixValue != null && autoVersionType !== "git-describe") {
|
|
209
204
|
throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);
|
|
210
205
|
}
|
|
211
206
|
return true;
|
|
212
|
-
}).middleware((
|
|
207
|
+
}).middleware((args) => logDeployCommandConfigFileOverride(args, siteConfig));
|
|
213
208
|
},
|
|
214
209
|
handler: async (args) => {
|
|
215
|
-
const command11 = await import('./siteDeployCommand-
|
|
210
|
+
const command11 = await import('./siteDeployCommand-KUNL3GIW.cjs');
|
|
216
211
|
await command11.default(args);
|
|
217
212
|
}
|
|
218
213
|
};
|
|
219
214
|
var deploy_default = command2;
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
const Consola = await import('consola');
|
|
224
|
-
const consola = Consola.consola;
|
|
225
|
-
if (config?.site.application != null && argv.application !== config.site.application) {
|
|
226
|
-
consola.debug(`Overriding "application" from config file with ${argv.application}`);
|
|
215
|
+
async function logSiteCommandConfigFileOverride(args, config) {
|
|
216
|
+
if (config?.site.application != null && args.application !== config.site.application) {
|
|
217
|
+
consola.consola.debug(`Overriding "application" from config file with ${args.application}`);
|
|
227
218
|
}
|
|
228
|
-
if (config?.foundryUrl != null &&
|
|
229
|
-
consola.debug(`Overriding "foundryUrl" from config file with ${
|
|
219
|
+
if (config?.foundryUrl != null && args.foundryUrl !== config.foundryUrl) {
|
|
220
|
+
consola.consola.debug(`Overriding "foundryUrl" from config file with ${args.foundryUrl}`);
|
|
230
221
|
}
|
|
231
222
|
}
|
|
232
223
|
|
|
@@ -359,12 +350,12 @@ var command9 = {
|
|
|
359
350
|
conflicts: "token",
|
|
360
351
|
description: "Path to a file containing your Foundry API Token"
|
|
361
352
|
}
|
|
362
|
-
}).group(["application", "foundryUrl", "token", "tokenFile"], "Common Arguments").command(version_default).command(deploy_default).check((
|
|
363
|
-
if (!
|
|
353
|
+
}).group(["application", "foundryUrl", "token", "tokenFile"], "Common Arguments").command(version_default).command(deploy_default).check((args) => {
|
|
354
|
+
if (!args.foundryUrl.startsWith("https://")) {
|
|
364
355
|
throw new YargsCheckError("foundryUrl must start with https://");
|
|
365
356
|
}
|
|
366
357
|
return true;
|
|
367
|
-
}).middleware((
|
|
358
|
+
}).middleware((args) => logSiteCommandConfigFileOverride(args, config?.foundryConfig)).demandCommand();
|
|
368
359
|
},
|
|
369
360
|
handler: async (args) => {
|
|
370
361
|
}
|
|
@@ -422,18 +413,18 @@ var command10 = {
|
|
|
422
413
|
description: "Version of the generated code, or 'dev'",
|
|
423
414
|
demandOption: true
|
|
424
415
|
}
|
|
425
|
-
}).group(["ontologyPath", "outDir", "version"], "Generate from a local file").group(["stack", "clientId", "outDir", "ontologyWritePath", "version"], "OR Generate from a stack").check((
|
|
426
|
-
if (!
|
|
416
|
+
}).group(["ontologyPath", "outDir", "version"], "Generate from a local file").group(["stack", "clientId", "outDir", "ontologyWritePath", "version"], "OR Generate from a stack").check((args) => {
|
|
417
|
+
if (!args.ontologyPath && !args.stack) {
|
|
427
418
|
throw new Error("Error: Must specify either ontologyPath or stack and clientId");
|
|
428
419
|
}
|
|
429
|
-
if (
|
|
420
|
+
if (args.version !== "dev" && !chunkX2S4O5ZR_cjs.isValidSemver(args.version)) {
|
|
430
421
|
throw new Error("Error: Version must be 'dev' or a valid semver version");
|
|
431
422
|
}
|
|
432
423
|
return true;
|
|
433
424
|
});
|
|
434
425
|
},
|
|
435
426
|
handler: async (args) => {
|
|
436
|
-
const command11 = await import('./handleGenerate-
|
|
427
|
+
const command11 = await import('./handleGenerate-Q6EQWXFG.cjs');
|
|
437
428
|
await command11.default(args);
|
|
438
429
|
}
|
|
439
430
|
};
|
|
@@ -450,8 +441,6 @@ var site2 = {
|
|
|
450
441
|
}
|
|
451
442
|
};
|
|
452
443
|
var typescript_default = site2;
|
|
453
|
-
|
|
454
|
-
// src/yargs/logConfigFileMiddleware.ts
|
|
455
444
|
var firstTime = true;
|
|
456
445
|
async function logConfigFileMiddleware() {
|
|
457
446
|
if (firstTime) {
|
|
@@ -459,32 +448,26 @@ async function logConfigFileMiddleware() {
|
|
|
459
448
|
const config = configLoader_default();
|
|
460
449
|
const configFilePath = (await config)?.configFilePath;
|
|
461
450
|
if (configFilePath) {
|
|
462
|
-
|
|
463
|
-
const consola = Consola.consola;
|
|
464
|
-
consola.debug(`Using configuration from file: "${configFilePath}"`);
|
|
451
|
+
consola.consola.debug(`Using configuration from file: "${configFilePath}"`);
|
|
465
452
|
}
|
|
466
453
|
}
|
|
467
454
|
}
|
|
468
|
-
|
|
469
|
-
// src/yargs/logVersionMiddleware.ts
|
|
470
455
|
var firstTime2 = true;
|
|
471
456
|
async function logVersionMiddleware(args) {
|
|
472
457
|
if (firstTime2) {
|
|
473
458
|
firstTime2 = false;
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
consola.
|
|
477
|
-
|
|
478
|
-
if (consola.level > 3) {
|
|
479
|
-
consola.debug(`Verbose logging enabled (${consola.level === 4 ? "debug" : "trace"})`);
|
|
459
|
+
consola.consola.info(`Palantir OSDK CLI ${"0.5.0"}`);
|
|
460
|
+
consola.consola.level = 3 + args.verbose;
|
|
461
|
+
if (consola.consola.level > 3) {
|
|
462
|
+
consola.consola.debug(`Verbose logging enabled (${consola.consola.level === 4 ? "debug" : "trace"})`);
|
|
480
463
|
}
|
|
481
|
-
consola.log("");
|
|
464
|
+
consola.consola.log("");
|
|
482
465
|
}
|
|
483
466
|
}
|
|
484
467
|
|
|
485
468
|
// src/cli.ts
|
|
486
469
|
async function cli(args = process.argv) {
|
|
487
|
-
const base = yargs__default.default(helpers.hideBin(args)).env("OSDK").version(false).option("verbose", {
|
|
470
|
+
const base = yargs__default.default(helpers.hideBin(args)).wrap(Math.min(150, yargs__default.default().terminalWidth())).env("OSDK").version(false).option("verbose", {
|
|
488
471
|
alias: "v",
|
|
489
472
|
type: "boolean",
|
|
490
473
|
description: "Enable verbose logging",
|
|
@@ -492,27 +475,23 @@ async function cli(args = process.argv) {
|
|
|
492
475
|
}).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({
|
|
493
476
|
command: "unstable",
|
|
494
477
|
aliases: ["experimental"],
|
|
478
|
+
describe: "Unstable commands",
|
|
495
479
|
builder: async (argv) => {
|
|
496
480
|
return argv.command(site_default).command(typescript_default).command(auth_default).demandCommand();
|
|
497
481
|
},
|
|
498
482
|
handler: (_args) => {
|
|
499
483
|
}
|
|
500
|
-
}).fail(async (msg, err,
|
|
501
|
-
const Consola = await import('consola');
|
|
502
|
-
const isVerbose = args.some((arg) => ["-v", "--v", "--verbose"].includes(arg));
|
|
484
|
+
}).fail(async (msg, err, argv) => {
|
|
503
485
|
if (err instanceof chunkHYF3CTKZ_cjs.ExitProcessError) {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
} else {
|
|
507
|
-
Consola.consola.error(err.message);
|
|
508
|
-
}
|
|
486
|
+
consola.consola.error(err.message);
|
|
487
|
+
consola.consola.debug(err.stack);
|
|
509
488
|
} else {
|
|
510
489
|
if (err && err instanceof YargsCheckError === false) {
|
|
511
490
|
throw err;
|
|
512
491
|
} else {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
492
|
+
argv.showHelp();
|
|
493
|
+
consola.consola.log("");
|
|
494
|
+
consola.consola.error(msg);
|
|
516
495
|
}
|
|
517
496
|
}
|
|
518
497
|
process.exit(1);
|
|
@@ -521,8 +500,7 @@ async function cli(args = process.argv) {
|
|
|
521
500
|
return await base.parseAsync();
|
|
522
501
|
} catch (err) {
|
|
523
502
|
if (err instanceof chunkHYF3CTKZ_cjs.ExitProcessError) {
|
|
524
|
-
|
|
525
|
-
Consola.consola.error(err);
|
|
503
|
+
consola.consola.error(err);
|
|
526
504
|
}
|
|
527
505
|
}
|
|
528
506
|
}
|
package/build/js/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli.ts","../../src/commands/auth/login/index.ts","../../src/commands/auth/index.ts","../../src/util/config.ts","../../src/util/configLoader.ts","../../src/YargsCheckError.ts","../../src/commands/site/deploy/logDeployCommandConfigFileOverride.ts","../../src/commands/site/deploy/index.ts","../../src/commands/site/logSiteCommandConfigFileOverride.ts","../../src/commands/site/version/delete/index.ts","../../src/commands/site/version/get/index.ts","../../src/commands/site/version/list/index.ts","../../src/commands/site/version/set/index.ts","../../src/commands/site/version/unset/index.ts","../../src/commands/site/version/index.ts","../../src/commands/site/index.ts","../../src/commands/typescript/generate/generate.ts","../../src/commands/typescript/index.ts","../../src/yargs/logConfigFileMiddleware.ts","../../src/yargs/logVersionMiddleware.ts"],"names":["command","argv","application","foundryUrl","site","firstTime"],"mappings":"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","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 yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport auth from \"./commands/auth/index.js\";\nimport site from \"./commands/site/index.js\";\nimport typescript from \"./commands/typescript/index.js\";\nimport { ExitProcessError } from \"./ExitProcessError.js\";\nimport { logConfigFileMiddleware } from \"./yargs/logConfigFileMiddleware.js\";\nimport { logVersionMiddleware } from \"./yargs/logVersionMiddleware.js\";\nimport { YargsCheckError } from \"./YargsCheckError.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).env(\"OSDK\").version(false).option(\"verbose\", {\n alias: \"v\",\n type: \"boolean\",\n description: \"Enable verbose logging\",\n count: true\n }).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({\n command: \"unstable\",\n aliases: [\"experimental\"],\n builder: async argv => {\n return argv.command(site).command(typescript).command(auth).demandCommand();\n },\n handler: _args => {}\n }).fail(async (msg, err, yargsContext) => {\n const Consola = await import(\"consola\");\n const isVerbose = args.some(arg => [\"-v\", \"--v\", \"--verbose\"].includes(arg));\n if (err instanceof ExitProcessError) {\n if (isVerbose) {\n Consola.consola.error(err);\n } else {\n Consola.consola.error(err.message);\n }\n } else {\n if (err && err instanceof YargsCheckError === false) {\n throw err;\n } else {\n yargsContext.showHelp();\n Consola.consola.log(\"\"); // intentional blank line\n // eslint-disable-next-line no-console\n console.error(msg);\n }\n }\n process.exit(1);\n });\n\n // Special handling where failures happen before yargs does its error handling within .fail\n try {\n return await base.parseAsync();\n } catch (err) {\n if (err instanceof ExitProcessError) {\n const Consola = await import(\"consola\");\n Consola.consola.error(err);\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\nexport const command = {\n command: \"login\",\n describe: \"Authenticate with an application ID\",\n builder: argv => {\n return argv.option(\"applicationId\", {\n type: \"string\",\n demandOption: true\n });\n },\n handler: async args => {\n const command = await import(\"./loginFlow.js\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 login from \"./login/index.js\";\nconst site = {\n command: \"auth\",\n describe: \"Manage your session\",\n builder: argv => {\n return argv.options({\n baseUrl: {\n type: \"string\",\n demandOption: true\n }\n }).command(login).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { promises as fsPromises } from \"node:fs\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst CONFIG_FILE_NAMES = [\"foundry.config.json\"];\nconst CONFIG_FILE_SCHEMA = {\n type: \"object\",\n properties: {\n foundryUrl: {\n type: \"string\"\n },\n site: {\n type: \"object\",\n properties: {\n application: {\n type: \"string\"\n },\n directory: {\n type: \"string\"\n },\n autoVersion: {\n type: \"object\",\n nullable: true,\n oneOf: [{\n properties: {\n \"type\": {\n const: \"git-describe\",\n type: \"string\"\n },\n \"tagPrefix\": {\n type: \"string\",\n nullable: true\n }\n }\n }],\n required: [\"type\"]\n }\n },\n required: [\"application\", \"directory\"]\n }\n },\n required: [\"foundryUrl\", \"site\"],\n additionalProperties: false\n};\n\n/**\n * Asynchronously loads a configuration file. Looks for any of the CONFIG_FILE_NAMES in the current directory going up to the root directory.\n * @returns A promise that resolves to the configuration JSON object, or undefined if not found.\n * @throws Will throw an error if the configuration file is found but cannot be read or parsed.\n */\nexport async function loadFoundryConfig() {\n const ajvModule = await import(\"ajv\");\n const Ajv = ajvModule.default.default; // https://github.com/ajv-validator/ajv/issues/2132\n const ajv = new Ajv({\n allErrors: true\n });\n const validate = ajv.compile(CONFIG_FILE_SCHEMA);\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n const {\n findUp\n } = await import(\"find-up\");\n const configFilePath = await findUp(CONFIG_FILE_NAMES);\n if (configFilePath) {\n let foundryConfig;\n try {\n const fileContent = await fsPromises.readFile(configFilePath, \"utf-8\");\n foundryConfig = JSON.parse(fileContent);\n } catch {\n throw new ExitProcessError(2, `Couldn't read or parse config file ${configFilePath}`);\n }\n if (!validate(foundryConfig)) {\n throw new ExitProcessError(2, `The configuration file does not match the expected schema: ${ajv.errorsText(validate.errors)}`);\n }\n return {\n foundryConfig,\n configFilePath\n };\n }\n return undefined;\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 { loadFoundryConfig } from \"./config.js\";\nlet configPromise = undefined;\nfunction getConfig() {\n if (configPromise == null) {\n configPromise = loadFoundryConfig();\n }\n return configPromise;\n}\nexport default getConfig;","/*\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\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 async function logDeployCommandConfigFileOverride(argv, config) {\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n if (config?.autoVersion != null && argv.autoVersion !== config?.autoVersion.type) {\n consola.debug(`Overriding \"autoVersion\" from config file with ${argv.autoVersion}`);\n }\n if (config?.directory != null && argv.directory !== config?.directory) {\n consola.debug(`Overriding \"directory\" from config file with ${argv.directory}`);\n }\n if (config?.autoVersion?.tagPrefix != null && argv.gitTagPrefix != null && argv.gitTagPrefix !== config?.autoVersion.tagPrefix) {\n consola.debug(`Overriding \"gitTagPrefix\" from config file with ${argv.gitTagPrefix}`);\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 configLoader from \"../../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport { logDeployCommandConfigFileOverride } from \"./logDeployCommandConfigFileOverride.js\";\nconst command = {\n command: \"deploy\",\n describe: \"Deploy an uploaded version\",\n builder: async argv => {\n const config = await configLoader();\n const siteConfig = config?.foundryConfig.site;\n const directory = siteConfig?.directory;\n const autoVersion = siteConfig?.autoVersion;\n const gitTagPrefix = autoVersion?.tagPrefix;\n return argv.options({\n directory: {\n type: \"string\",\n description: \"Directory to deploy\",\n ...(directory ? {\n default: directory\n } : {\n demandOption: true\n })\n },\n uploadOnly: {\n type: \"boolean\",\n description: \"Upload the directory but do not deploy it\",\n default: false\n },\n version: {\n type: \"string\",\n description: \"Version to deploy\",\n ...(autoVersion == null ? {\n conflicts: \"autoVersion\"\n } : {})\n },\n autoVersion: {\n type: \"string\",\n description: \"Enables autoversioning. Can be set to 'git-describe' to use git describe to determine the version.\",\n ...(autoVersion != null ? {\n default: autoVersion.type\n } : {\n conflicts: \"version\"\n })\n },\n gitTagPrefix: {\n type: \"string\",\n description: \"Prefix to match git tags against when --autoVersion=git-describe is used. If not provided, a default prefix 'v' is used.\",\n ...(gitTagPrefix ? {\n default: gitTagPrefix\n } : {})\n }\n }).group([\"autoVersion\", \"gitTagPrefix\"], \"Autoversion Arguments\").group([\"version\", \"directory\", \"uploadOnly\"], \"Common Arguments\").check(argv => {\n // This is required because we can't use demandOption with conflicts. conflicts protects us against the case where both are provided.\n // So this case is for when nothing is provided.\n if (autoVersion == null && argv.autoVersion == null && argv.version == null) {\n throw new YargsCheckError(\"One of --version or --autoVersion must be specified\");\n }\n const autoVersionType = argv.autoVersion ?? autoVersion;\n if (autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);\n }\n const gitTagPrefixValue = argv.gitTagPrefix ?? gitTagPrefix;\n // Future proofing for when we support other autoVersion types\n if (gitTagPrefixValue != null && autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);\n }\n return true;\n }).middleware(argv => logDeployCommandConfigFileOverride(argv, siteConfig));\n },\n handler: async args => {\n const command = await import(\"./siteDeployCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 async function logSiteCommandConfigFileOverride(argv, config) {\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n if (config?.site.application != null && argv.application !== config.site.application) {\n consola.debug(`Overriding \"application\" from config file with ${argv.application}`);\n }\n if (config?.foundryUrl != null && argv.foundryUrl !== config.foundryUrl) {\n consola.debug(`Overriding \"foundryUrl\" from config file with ${argv.foundryUrl}`);\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\nconst command = {\n command: \"delete <version>\",\n describe: \"Delete the specified site version.\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionDeleteCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"get\",\n describe: \"Get the currently set live site version\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionGetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"list\",\n describe: \"List application versions\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionListCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"set <version>\",\n describe: \"Set the live site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionSetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"unset\",\n describe: \"Clear the currently set live site version.\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionUnsetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 deleteCmd from \"./delete/index.js\";\nimport get from \"./get/index.js\";\nimport list from \"./list/index.js\";\nimport set from \"./set/index.js\";\nimport unset from \"./unset/index.js\";\nconst command = {\n command: \"version\",\n describe: \"Manage application version\",\n builder: argv => {\n return argv.command(list).command(set).command(unset).command(deleteCmd).command(get).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 configLoader from \"../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../YargsCheckError.js\";\nimport deploy from \"./deploy/index.js\";\nimport { logSiteCommandConfigFileOverride } from \"./logSiteCommandConfigFileOverride.js\";\nimport version from \"./version/index.js\";\nconst command = {\n command: \"site\",\n describe: \"Manage your site\",\n builder: async argv => {\n const config = await configLoader();\n const application = config?.foundryConfig.site.application;\n const foundryUrl = config?.foundryConfig.foundryUrl;\n return argv.options({\n application: {\n type: \"string\",\n coerce: application => application,\n ...(application ? {\n default: application\n } : {\n demandOption: true\n }),\n description: \"Application RID\"\n },\n foundryUrl: {\n coerce: foundryUrl => foundryUrl.replace(/\\/$/, \"\"),\n type: \"string\",\n ...(foundryUrl ? {\n default: foundryUrl\n } : {\n demandOption: true\n }),\n description: \"Foundry Stack URL with Protocol (e.g. https://example.palantirfoundry.com)\"\n },\n token: {\n type: \"string\",\n conflicts: \"tokenFile\",\n description: \"Foundry API Token\"\n },\n tokenFile: {\n type: \"string\",\n conflicts: \"token\",\n description: \"Path to a file containing your Foundry API Token\"\n }\n }).group([\"application\", \"foundryUrl\", \"token\", \"tokenFile\"], \"Common Arguments\").command(version).command(deploy).check(argv => {\n if (!argv.foundryUrl.startsWith(\"https://\")) {\n throw new YargsCheckError(\"foundryUrl must start with https://\");\n }\n return true;\n }).middleware(argv => logSiteCommandConfigFileOverride(argv, config?.foundryConfig)).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 { isValidSemver } from \"../../../util/isValidSemver.js\";\nexport const command = {\n command: \"generate\",\n describe: \"Generate typescript from ontology\",\n builder: argv => {\n return argv.options({\n \"outDir\": {\n type: \"string\",\n description: \"Where to place the generated files\",\n demandOption: true\n },\n ontologyPath: {\n description: \"path to the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"stack\", \"clientId\"]\n },\n stack: {\n description: \"the URL to the stack that contains the ontology\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"clientId\"\n },\n clientId: {\n description: \"the application's client id\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"stack\"\n },\n ontologyWritePath: {\n description: \"path to write the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"ontologyPath\"]\n },\n beta: {\n type: \"boolean\",\n description: \"Should generate beta sdk\",\n demandOption: false\n },\n packageType: {\n default: \"commonjs\",\n choices: [\"commonjs\", \"module\"]\n },\n version: {\n type: \"string\",\n description: \"Version of the generated code, or 'dev'\",\n demandOption: true\n }\n }).group([\"ontologyPath\", \"outDir\", \"version\"], \"Generate from a local file\").group([\"stack\", \"clientId\", \"outDir\", \"ontologyWritePath\", \"version\"], \"OR Generate from a stack\").check(argv => {\n if (!argv.ontologyPath && !argv.stack) {\n throw new Error(\"Error: Must specify either ontologyPath or stack and clientId\");\n }\n if (argv.version !== \"dev\" && !isValidSemver(argv.version)) {\n throw new Error(\"Error: Version must be 'dev' or a valid semver version\");\n }\n return true;\n });\n },\n handler: async args => {\n const command = await import(\"./handleGenerate.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 generate from \"./generate/generate.js\";\nconst site = {\n command: \"typescript\",\n describe: \"Manage code\",\n builder: argv => {\n return argv.command(generate).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 getConfig from \"../util/configLoader.js\";\nlet firstTime = true;\nexport async function logConfigFileMiddleware() {\n if (firstTime) {\n firstTime = false;\n const config = getConfig();\n const configFilePath = (await config)?.configFilePath;\n if (configFilePath) {\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n consola.debug(`Using configuration from file: \"${configFilePath}\"`);\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\nlet firstTime = true;\nexport async function logVersionMiddleware(args) {\n if (firstTime) {\n firstTime = false;\n const Consola = await import(\"consola\");\n // This will be called before any command is executed\n const consola = Consola.consola;\n consola.info(`Palantir OSDK CLI ${process.env.PACKAGE_VERSION}`);\n consola.level = 3 + args.verbose; // so 1 -v is debug logs and -vv is trace\n if (consola.level > 3) {\n consola.debug(`Verbose logging enabled (${consola.level === 4 ? \"debug\" : \"trace\"})`);\n }\n consola.log(\"\"); // intentional blank line\n }\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/cli.ts","../../src/commands/auth/login/index.ts","../../src/commands/auth/index.ts","../../src/util/config.ts","../../src/util/configLoader.ts","../../src/YargsCheckError.ts","../../src/commands/site/deploy/logDeployCommandConfigFileOverride.ts","../../src/commands/site/deploy/index.ts","../../src/commands/site/logSiteCommandConfigFileOverride.ts","../../src/commands/site/version/delete/index.ts","../../src/commands/site/version/get/index.ts","../../src/commands/site/version/list/index.ts","../../src/commands/site/version/set/index.ts","../../src/commands/site/version/unset/index.ts","../../src/commands/site/version/index.ts","../../src/commands/site/index.ts","../../src/commands/typescript/generate/generate.ts","../../src/commands/typescript/index.ts","../../src/yargs/logConfigFileMiddleware.ts","../../src/yargs/logVersionMiddleware.ts"],"names":["consola","command","application","foundryUrl","site","firstTime"],"mappings":"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","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 } from \"consola\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport auth from \"./commands/auth/index.js\";\nimport site from \"./commands/site/index.js\";\nimport typescript from \"./commands/typescript/index.js\";\nimport { ExitProcessError } from \"./ExitProcessError.js\";\nimport { logConfigFileMiddleware } from \"./yargs/logConfigFileMiddleware.js\";\nimport { logVersionMiddleware } from \"./yargs/logVersionMiddleware.js\";\nimport { YargsCheckError } from \"./YargsCheckError.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).wrap(Math.min(150, yargs().terminalWidth())).env(\"OSDK\").version(false).option(\"verbose\", {\n alias: \"v\",\n type: \"boolean\",\n description: \"Enable verbose logging\",\n count: true\n }).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({\n command: \"unstable\",\n aliases: [\"experimental\"],\n describe: \"Unstable commands\",\n builder: async argv => {\n return argv.command(site).command(typescript).command(auth).demandCommand();\n },\n handler: _args => {}\n }).fail(async (msg, err, argv) => {\n if (err instanceof ExitProcessError) {\n consola.error(err.message);\n consola.debug(err.stack);\n } else {\n if (err && err instanceof YargsCheckError === false) {\n throw err;\n } else {\n argv.showHelp();\n consola.log(\"\"); // intentional blank line\n consola.error(msg);\n }\n }\n process.exit(1);\n });\n\n // Special handling where failures happen before yargs does its error handling within .fail\n try {\n return await base.parseAsync();\n } catch (err) {\n if (err instanceof ExitProcessError) {\n consola.error(err);\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\nexport const command = {\n command: \"login\",\n describe: \"Authenticate with an application ID\",\n builder: argv => {\n return argv.option(\"applicationId\", {\n type: \"string\",\n demandOption: true\n });\n },\n handler: async args => {\n const command = await import(\"./loginFlow.js\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 login from \"./login/index.js\";\nconst site = {\n command: \"auth\",\n describe: \"Manage your session\",\n builder: argv => {\n return argv.options({\n baseUrl: {\n type: \"string\",\n demandOption: true\n }\n }).command(login).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { promises as fsPromises } from \"node:fs\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst CONFIG_FILE_NAMES = [\"foundry.config.json\"];\nconst CONFIG_FILE_SCHEMA = {\n type: \"object\",\n properties: {\n foundryUrl: {\n type: \"string\"\n },\n site: {\n type: \"object\",\n properties: {\n application: {\n type: \"string\"\n },\n directory: {\n type: \"string\"\n },\n autoVersion: {\n type: \"object\",\n nullable: true,\n oneOf: [{\n properties: {\n \"type\": {\n const: \"git-describe\",\n type: \"string\"\n },\n \"tagPrefix\": {\n type: \"string\",\n nullable: true\n }\n }\n }],\n required: [\"type\"]\n }\n },\n required: [\"application\", \"directory\"]\n }\n },\n required: [\"foundryUrl\", \"site\"],\n additionalProperties: false\n};\n\n/**\n * Asynchronously loads a configuration file. Looks for any of the CONFIG_FILE_NAMES in the current directory going up to the root directory.\n * @returns A promise that resolves to the configuration JSON object, or undefined if not found.\n * @throws Will throw an error if the configuration file is found but cannot be read or parsed.\n */\nexport async function loadFoundryConfig() {\n const ajvModule = await import(\"ajv\");\n const Ajv = ajvModule.default.default; // https://github.com/ajv-validator/ajv/issues/2132\n const ajv = new Ajv({\n allErrors: true\n });\n const validate = ajv.compile(CONFIG_FILE_SCHEMA);\n const {\n findUp\n } = await import(\"find-up\");\n const configFilePath = await findUp(CONFIG_FILE_NAMES);\n if (configFilePath) {\n let foundryConfig;\n try {\n const fileContent = await fsPromises.readFile(configFilePath, \"utf-8\");\n foundryConfig = JSON.parse(fileContent);\n } catch {\n throw new ExitProcessError(2, `Couldn't read or parse config file ${configFilePath}`);\n }\n if (!validate(foundryConfig)) {\n throw new ExitProcessError(2, `The configuration file does not match the expected schema: ${ajv.errorsText(validate.errors)}`);\n }\n return {\n foundryConfig,\n configFilePath\n };\n }\n return undefined;\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 { loadFoundryConfig } from \"./config.js\";\nlet configPromise = undefined;\nfunction getConfig() {\n if (configPromise == null) {\n configPromise = loadFoundryConfig();\n }\n return configPromise;\n}\nexport default getConfig;","/*\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\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\";\nexport async function logDeployCommandConfigFileOverride(args, config) {\n if (config?.autoVersion != null && args.autoVersion !== config?.autoVersion.type) {\n consola.debug(`Overriding \"autoVersion\" from config file with ${args.autoVersion}`);\n }\n if (config?.directory != null && args.directory !== config?.directory) {\n consola.debug(`Overriding \"directory\" from config file with ${args.directory}`);\n }\n if (config?.autoVersion?.tagPrefix != null && args.gitTagPrefix != null && args.gitTagPrefix !== config?.autoVersion.tagPrefix) {\n consola.debug(`Overriding \"gitTagPrefix\" from config file with ${args.gitTagPrefix}`);\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 configLoader from \"../../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport { logDeployCommandConfigFileOverride } from \"./logDeployCommandConfigFileOverride.js\";\nconst command = {\n command: \"deploy\",\n describe: \"Deploy an uploaded version\",\n builder: async argv => {\n const config = await configLoader();\n const siteConfig = config?.foundryConfig.site;\n const directory = siteConfig?.directory;\n const autoVersion = siteConfig?.autoVersion;\n const gitTagPrefix = autoVersion?.tagPrefix;\n return argv.options({\n directory: {\n type: \"string\",\n description: \"Directory to deploy\",\n ...(directory ? {\n default: directory\n } : {\n demandOption: true\n })\n },\n uploadOnly: {\n type: \"boolean\",\n description: \"Upload the directory but do not deploy it\",\n default: false\n },\n version: {\n type: \"string\",\n description: \"Version to deploy\",\n ...(autoVersion == null ? {\n conflicts: \"autoVersion\"\n } : {})\n },\n autoVersion: {\n type: \"string\",\n description: \"Enables autoversioning. Can be set to 'git-describe' to use git describe to determine the version.\",\n ...(autoVersion != null ? {\n default: autoVersion.type\n } : {\n conflicts: \"version\"\n })\n },\n gitTagPrefix: {\n type: \"string\",\n description: \"Prefix to match git tags against when --autoVersion=git-describe is used. If not provided, a default prefix 'v' is used.\",\n ...(gitTagPrefix ? {\n default: gitTagPrefix\n } : {})\n }\n }).group([\"autoVersion\", \"gitTagPrefix\"], \"Autoversion Arguments\").group([\"version\", \"directory\", \"uploadOnly\"], \"Common Arguments\").check(args => {\n // This is required because we can't use demandOption with conflicts. conflicts protects us against the case where both are provided.\n // So this case is for when nothing is provided.\n if (autoVersion == null && args.autoVersion == null && args.version == null) {\n throw new YargsCheckError(\"One of --version or --autoVersion must be specified\");\n }\n const autoVersionType = args.autoVersion ?? autoVersion;\n if (autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);\n }\n const gitTagPrefixValue = args.gitTagPrefix ?? gitTagPrefix;\n // Future proofing for when we support other autoVersion types\n if (gitTagPrefixValue != null && autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);\n }\n return true;\n }).middleware(args => logDeployCommandConfigFileOverride(args, siteConfig));\n },\n handler: async args => {\n const command = await import(\"./siteDeployCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\";\nexport async function logSiteCommandConfigFileOverride(args, config) {\n if (config?.site.application != null && args.application !== config.site.application) {\n consola.debug(`Overriding \"application\" from config file with ${args.application}`);\n }\n if (config?.foundryUrl != null && args.foundryUrl !== config.foundryUrl) {\n consola.debug(`Overriding \"foundryUrl\" from config file with ${args.foundryUrl}`);\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\nconst command = {\n command: \"delete <version>\",\n describe: \"Delete the specified site version.\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionDeleteCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"get\",\n describe: \"Get the currently set live site version\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionGetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"list\",\n describe: \"List application versions\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionListCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"set <version>\",\n describe: \"Set the live site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionSetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"unset\",\n describe: \"Clear the currently set live site version.\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionUnsetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 deleteCmd from \"./delete/index.js\";\nimport get from \"./get/index.js\";\nimport list from \"./list/index.js\";\nimport set from \"./set/index.js\";\nimport unset from \"./unset/index.js\";\nconst command = {\n command: \"version\",\n describe: \"Manage application version\",\n builder: argv => {\n return argv.command(list).command(set).command(unset).command(deleteCmd).command(get).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 configLoader from \"../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../YargsCheckError.js\";\nimport deploy from \"./deploy/index.js\";\nimport { logSiteCommandConfigFileOverride } from \"./logSiteCommandConfigFileOverride.js\";\nimport version from \"./version/index.js\";\nconst command = {\n command: \"site\",\n describe: \"Manage your site\",\n builder: async argv => {\n const config = await configLoader();\n const application = config?.foundryConfig.site.application;\n const foundryUrl = config?.foundryConfig.foundryUrl;\n return argv.options({\n application: {\n type: \"string\",\n coerce: application => application,\n ...(application ? {\n default: application\n } : {\n demandOption: true\n }),\n description: \"Application RID\"\n },\n foundryUrl: {\n coerce: foundryUrl => foundryUrl.replace(/\\/$/, \"\"),\n type: \"string\",\n ...(foundryUrl ? {\n default: foundryUrl\n } : {\n demandOption: true\n }),\n description: \"Foundry Stack URL with Protocol (e.g. https://example.palantirfoundry.com)\"\n },\n token: {\n type: \"string\",\n conflicts: \"tokenFile\",\n description: \"Foundry API Token\"\n },\n tokenFile: {\n type: \"string\",\n conflicts: \"token\",\n description: \"Path to a file containing your Foundry API Token\"\n }\n }).group([\"application\", \"foundryUrl\", \"token\", \"tokenFile\"], \"Common Arguments\").command(version).command(deploy).check(args => {\n if (!args.foundryUrl.startsWith(\"https://\")) {\n throw new YargsCheckError(\"foundryUrl must start with https://\");\n }\n return true;\n }).middleware(args => logSiteCommandConfigFileOverride(args, config?.foundryConfig)).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 { isValidSemver } from \"../../../util/isValidSemver.js\";\nexport const command = {\n command: \"generate\",\n describe: \"Generate typescript from ontology\",\n builder: argv => {\n return argv.options({\n \"outDir\": {\n type: \"string\",\n description: \"Where to place the generated files\",\n demandOption: true\n },\n ontologyPath: {\n description: \"path to the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"stack\", \"clientId\"]\n },\n stack: {\n description: \"the URL to the stack that contains the ontology\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"clientId\"\n },\n clientId: {\n description: \"the application's client id\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"stack\"\n },\n ontologyWritePath: {\n description: \"path to write the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"ontologyPath\"]\n },\n beta: {\n type: \"boolean\",\n description: \"Should generate beta sdk\",\n demandOption: false\n },\n packageType: {\n default: \"commonjs\",\n choices: [\"commonjs\", \"module\"]\n },\n version: {\n type: \"string\",\n description: \"Version of the generated code, or 'dev'\",\n demandOption: true\n }\n }).group([\"ontologyPath\", \"outDir\", \"version\"], \"Generate from a local file\").group([\"stack\", \"clientId\", \"outDir\", \"ontologyWritePath\", \"version\"], \"OR Generate from a stack\").check(args => {\n if (!args.ontologyPath && !args.stack) {\n throw new Error(\"Error: Must specify either ontologyPath or stack and clientId\");\n }\n if (args.version !== \"dev\" && !isValidSemver(args.version)) {\n throw new Error(\"Error: Version must be 'dev' or a valid semver version\");\n }\n return true;\n });\n },\n handler: async args => {\n const command = await import(\"./handleGenerate.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 generate from \"./generate/generate.js\";\nconst site = {\n command: \"typescript\",\n describe: \"Manage code\",\n builder: argv => {\n return argv.command(generate).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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\";\nimport getConfig from \"../util/configLoader.js\";\nlet firstTime = true;\nexport async function logConfigFileMiddleware() {\n if (firstTime) {\n firstTime = false;\n const config = getConfig();\n const configFilePath = (await config)?.configFilePath;\n if (configFilePath) {\n consola.debug(`Using configuration from file: \"${configFilePath}\"`);\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 { consola } from \"consola\";\nlet firstTime = true;\nexport async function logVersionMiddleware(args) {\n if (firstTime) {\n firstTime = false;\n // This will be called before any command is executed\n consola.info(`Palantir OSDK CLI ${process.env.PACKAGE_VERSION}`);\n consola.level = 3 + args.verbose; // so 1 -v is debug logs and -vv is trace\n if (consola.level > 3) {\n consola.debug(`Verbose logging enabled (${consola.level === 4 ? \"debug\" : \"trace\"})`);\n }\n consola.log(\"\"); // intentional blank line\n }\n}"]}
|
package/build/js/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isValidSemver } from './chunk-N6K26UR4.mjs';
|
|
2
2
|
import { ExitProcessError } from './chunk-GTNZA5UY.mjs';
|
|
3
3
|
import './chunk-E2SEJZTC.mjs';
|
|
4
|
+
import { consola } from 'consola';
|
|
4
5
|
import yargs from 'yargs';
|
|
5
6
|
import { hideBin } from 'yargs/helpers';
|
|
6
7
|
import { promises } from 'fs';
|
|
@@ -85,8 +86,6 @@ async function loadFoundryConfig() {
|
|
|
85
86
|
allErrors: true
|
|
86
87
|
});
|
|
87
88
|
const validate = ajv.compile(CONFIG_FILE_SCHEMA);
|
|
88
|
-
const Consola = await import('consola');
|
|
89
|
-
Consola.consola;
|
|
90
89
|
const {
|
|
91
90
|
findUp
|
|
92
91
|
} = await import('find-up');
|
|
@@ -126,19 +125,15 @@ var YargsCheckError = class extends Error {
|
|
|
126
125
|
super(msg);
|
|
127
126
|
}
|
|
128
127
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
const Consola = await import('consola');
|
|
133
|
-
const consola = Consola.consola;
|
|
134
|
-
if (config?.autoVersion != null && argv.autoVersion !== config?.autoVersion.type) {
|
|
135
|
-
consola.debug(`Overriding "autoVersion" from config file with ${argv.autoVersion}`);
|
|
128
|
+
async function logDeployCommandConfigFileOverride(args, config) {
|
|
129
|
+
if (config?.autoVersion != null && args.autoVersion !== config?.autoVersion.type) {
|
|
130
|
+
consola.debug(`Overriding "autoVersion" from config file with ${args.autoVersion}`);
|
|
136
131
|
}
|
|
137
|
-
if (config?.directory != null &&
|
|
138
|
-
consola.debug(`Overriding "directory" from config file with ${
|
|
132
|
+
if (config?.directory != null && args.directory !== config?.directory) {
|
|
133
|
+
consola.debug(`Overriding "directory" from config file with ${args.directory}`);
|
|
139
134
|
}
|
|
140
|
-
if (config?.autoVersion?.tagPrefix != null &&
|
|
141
|
-
consola.debug(`Overriding "gitTagPrefix" from config file with ${
|
|
135
|
+
if (config?.autoVersion?.tagPrefix != null && args.gitTagPrefix != null && args.gitTagPrefix !== config?.autoVersion.tagPrefix) {
|
|
136
|
+
consola.debug(`Overriding "gitTagPrefix" from config file with ${args.gitTagPrefix}`);
|
|
142
137
|
}
|
|
143
138
|
}
|
|
144
139
|
|
|
@@ -190,37 +185,33 @@ var command2 = {
|
|
|
190
185
|
default: gitTagPrefix
|
|
191
186
|
} : {}
|
|
192
187
|
}
|
|
193
|
-
}).group(["autoVersion", "gitTagPrefix"], "Autoversion Arguments").group(["version", "directory", "uploadOnly"], "Common Arguments").check((
|
|
194
|
-
if (autoVersion == null &&
|
|
188
|
+
}).group(["autoVersion", "gitTagPrefix"], "Autoversion Arguments").group(["version", "directory", "uploadOnly"], "Common Arguments").check((args) => {
|
|
189
|
+
if (autoVersion == null && args.autoVersion == null && args.version == null) {
|
|
195
190
|
throw new YargsCheckError("One of --version or --autoVersion must be specified");
|
|
196
191
|
}
|
|
197
|
-
const autoVersionType =
|
|
192
|
+
const autoVersionType = args.autoVersion ?? autoVersion;
|
|
198
193
|
if (autoVersionType !== "git-describe") {
|
|
199
194
|
throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);
|
|
200
195
|
}
|
|
201
|
-
const gitTagPrefixValue =
|
|
196
|
+
const gitTagPrefixValue = args.gitTagPrefix ?? gitTagPrefix;
|
|
202
197
|
if (gitTagPrefixValue != null && autoVersionType !== "git-describe") {
|
|
203
198
|
throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);
|
|
204
199
|
}
|
|
205
200
|
return true;
|
|
206
|
-
}).middleware((
|
|
201
|
+
}).middleware((args) => logDeployCommandConfigFileOverride(args, siteConfig));
|
|
207
202
|
},
|
|
208
203
|
handler: async (args) => {
|
|
209
|
-
const command11 = await import('./siteDeployCommand-
|
|
204
|
+
const command11 = await import('./siteDeployCommand-7GXJF5HF.mjs');
|
|
210
205
|
await command11.default(args);
|
|
211
206
|
}
|
|
212
207
|
};
|
|
213
208
|
var deploy_default = command2;
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const Consola = await import('consola');
|
|
218
|
-
const consola = Consola.consola;
|
|
219
|
-
if (config?.site.application != null && argv.application !== config.site.application) {
|
|
220
|
-
consola.debug(`Overriding "application" from config file with ${argv.application}`);
|
|
209
|
+
async function logSiteCommandConfigFileOverride(args, config) {
|
|
210
|
+
if (config?.site.application != null && args.application !== config.site.application) {
|
|
211
|
+
consola.debug(`Overriding "application" from config file with ${args.application}`);
|
|
221
212
|
}
|
|
222
|
-
if (config?.foundryUrl != null &&
|
|
223
|
-
consola.debug(`Overriding "foundryUrl" from config file with ${
|
|
213
|
+
if (config?.foundryUrl != null && args.foundryUrl !== config.foundryUrl) {
|
|
214
|
+
consola.debug(`Overriding "foundryUrl" from config file with ${args.foundryUrl}`);
|
|
224
215
|
}
|
|
225
216
|
}
|
|
226
217
|
|
|
@@ -353,12 +344,12 @@ var command9 = {
|
|
|
353
344
|
conflicts: "token",
|
|
354
345
|
description: "Path to a file containing your Foundry API Token"
|
|
355
346
|
}
|
|
356
|
-
}).group(["application", "foundryUrl", "token", "tokenFile"], "Common Arguments").command(version_default).command(deploy_default).check((
|
|
357
|
-
if (!
|
|
347
|
+
}).group(["application", "foundryUrl", "token", "tokenFile"], "Common Arguments").command(version_default).command(deploy_default).check((args) => {
|
|
348
|
+
if (!args.foundryUrl.startsWith("https://")) {
|
|
358
349
|
throw new YargsCheckError("foundryUrl must start with https://");
|
|
359
350
|
}
|
|
360
351
|
return true;
|
|
361
|
-
}).middleware((
|
|
352
|
+
}).middleware((args) => logSiteCommandConfigFileOverride(args, config?.foundryConfig)).demandCommand();
|
|
362
353
|
},
|
|
363
354
|
handler: async (args) => {
|
|
364
355
|
}
|
|
@@ -416,18 +407,18 @@ var command10 = {
|
|
|
416
407
|
description: "Version of the generated code, or 'dev'",
|
|
417
408
|
demandOption: true
|
|
418
409
|
}
|
|
419
|
-
}).group(["ontologyPath", "outDir", "version"], "Generate from a local file").group(["stack", "clientId", "outDir", "ontologyWritePath", "version"], "OR Generate from a stack").check((
|
|
420
|
-
if (!
|
|
410
|
+
}).group(["ontologyPath", "outDir", "version"], "Generate from a local file").group(["stack", "clientId", "outDir", "ontologyWritePath", "version"], "OR Generate from a stack").check((args) => {
|
|
411
|
+
if (!args.ontologyPath && !args.stack) {
|
|
421
412
|
throw new Error("Error: Must specify either ontologyPath or stack and clientId");
|
|
422
413
|
}
|
|
423
|
-
if (
|
|
414
|
+
if (args.version !== "dev" && !isValidSemver(args.version)) {
|
|
424
415
|
throw new Error("Error: Version must be 'dev' or a valid semver version");
|
|
425
416
|
}
|
|
426
417
|
return true;
|
|
427
418
|
});
|
|
428
419
|
},
|
|
429
420
|
handler: async (args) => {
|
|
430
|
-
const command11 = await import('./handleGenerate-
|
|
421
|
+
const command11 = await import('./handleGenerate-ZUZV3IBI.mjs');
|
|
431
422
|
await command11.default(args);
|
|
432
423
|
}
|
|
433
424
|
};
|
|
@@ -444,8 +435,6 @@ var site2 = {
|
|
|
444
435
|
}
|
|
445
436
|
};
|
|
446
437
|
var typescript_default = site2;
|
|
447
|
-
|
|
448
|
-
// src/yargs/logConfigFileMiddleware.ts
|
|
449
438
|
var firstTime = true;
|
|
450
439
|
async function logConfigFileMiddleware() {
|
|
451
440
|
if (firstTime) {
|
|
@@ -453,21 +442,15 @@ async function logConfigFileMiddleware() {
|
|
|
453
442
|
const config = configLoader_default();
|
|
454
443
|
const configFilePath = (await config)?.configFilePath;
|
|
455
444
|
if (configFilePath) {
|
|
456
|
-
const Consola = await import('consola');
|
|
457
|
-
const consola = Consola.consola;
|
|
458
445
|
consola.debug(`Using configuration from file: "${configFilePath}"`);
|
|
459
446
|
}
|
|
460
447
|
}
|
|
461
448
|
}
|
|
462
|
-
|
|
463
|
-
// src/yargs/logVersionMiddleware.ts
|
|
464
449
|
var firstTime2 = true;
|
|
465
450
|
async function logVersionMiddleware(args) {
|
|
466
451
|
if (firstTime2) {
|
|
467
452
|
firstTime2 = false;
|
|
468
|
-
|
|
469
|
-
const consola = Consola.consola;
|
|
470
|
-
consola.info(`Palantir OSDK CLI ${"0.4.0"}`);
|
|
453
|
+
consola.info(`Palantir OSDK CLI ${"0.5.0"}`);
|
|
471
454
|
consola.level = 3 + args.verbose;
|
|
472
455
|
if (consola.level > 3) {
|
|
473
456
|
consola.debug(`Verbose logging enabled (${consola.level === 4 ? "debug" : "trace"})`);
|
|
@@ -478,7 +461,7 @@ async function logVersionMiddleware(args) {
|
|
|
478
461
|
|
|
479
462
|
// src/cli.ts
|
|
480
463
|
async function cli(args = process.argv) {
|
|
481
|
-
const base = yargs(hideBin(args)).env("OSDK").version(false).option("verbose", {
|
|
464
|
+
const base = yargs(hideBin(args)).wrap(Math.min(150, yargs().terminalWidth())).env("OSDK").version(false).option("verbose", {
|
|
482
465
|
alias: "v",
|
|
483
466
|
type: "boolean",
|
|
484
467
|
description: "Enable verbose logging",
|
|
@@ -486,27 +469,23 @@ async function cli(args = process.argv) {
|
|
|
486
469
|
}).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({
|
|
487
470
|
command: "unstable",
|
|
488
471
|
aliases: ["experimental"],
|
|
472
|
+
describe: "Unstable commands",
|
|
489
473
|
builder: async (argv) => {
|
|
490
474
|
return argv.command(site_default).command(typescript_default).command(auth_default).demandCommand();
|
|
491
475
|
},
|
|
492
476
|
handler: (_args) => {
|
|
493
477
|
}
|
|
494
|
-
}).fail(async (msg, err,
|
|
495
|
-
const Consola = await import('consola');
|
|
496
|
-
const isVerbose = args.some((arg) => ["-v", "--v", "--verbose"].includes(arg));
|
|
478
|
+
}).fail(async (msg, err, argv) => {
|
|
497
479
|
if (err instanceof ExitProcessError) {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
} else {
|
|
501
|
-
Consola.consola.error(err.message);
|
|
502
|
-
}
|
|
480
|
+
consola.error(err.message);
|
|
481
|
+
consola.debug(err.stack);
|
|
503
482
|
} else {
|
|
504
483
|
if (err && err instanceof YargsCheckError === false) {
|
|
505
484
|
throw err;
|
|
506
485
|
} else {
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
486
|
+
argv.showHelp();
|
|
487
|
+
consola.log("");
|
|
488
|
+
consola.error(msg);
|
|
510
489
|
}
|
|
511
490
|
}
|
|
512
491
|
process.exit(1);
|
|
@@ -515,8 +494,7 @@ async function cli(args = process.argv) {
|
|
|
515
494
|
return await base.parseAsync();
|
|
516
495
|
} catch (err) {
|
|
517
496
|
if (err instanceof ExitProcessError) {
|
|
518
|
-
|
|
519
|
-
Consola.consola.error(err);
|
|
497
|
+
consola.error(err);
|
|
520
498
|
}
|
|
521
499
|
}
|
|
522
500
|
}
|
package/build/js/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli.ts","../../src/commands/auth/login/index.ts","../../src/commands/auth/index.ts","../../src/util/config.ts","../../src/util/configLoader.ts","../../src/YargsCheckError.ts","../../src/commands/site/deploy/logDeployCommandConfigFileOverride.ts","../../src/commands/site/deploy/index.ts","../../src/commands/site/logSiteCommandConfigFileOverride.ts","../../src/commands/site/version/delete/index.ts","../../src/commands/site/version/get/index.ts","../../src/commands/site/version/list/index.ts","../../src/commands/site/version/set/index.ts","../../src/commands/site/version/unset/index.ts","../../src/commands/site/version/index.ts","../../src/commands/site/index.ts","../../src/commands/typescript/generate/generate.ts","../../src/commands/typescript/index.ts","../../src/yargs/logConfigFileMiddleware.ts","../../src/yargs/logVersionMiddleware.ts"],"names":["command","argv","application","foundryUrl","site","firstTime"],"mappings":"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","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 yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport auth from \"./commands/auth/index.js\";\nimport site from \"./commands/site/index.js\";\nimport typescript from \"./commands/typescript/index.js\";\nimport { ExitProcessError } from \"./ExitProcessError.js\";\nimport { logConfigFileMiddleware } from \"./yargs/logConfigFileMiddleware.js\";\nimport { logVersionMiddleware } from \"./yargs/logVersionMiddleware.js\";\nimport { YargsCheckError } from \"./YargsCheckError.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).env(\"OSDK\").version(false).option(\"verbose\", {\n alias: \"v\",\n type: \"boolean\",\n description: \"Enable verbose logging\",\n count: true\n }).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({\n command: \"unstable\",\n aliases: [\"experimental\"],\n builder: async argv => {\n return argv.command(site).command(typescript).command(auth).demandCommand();\n },\n handler: _args => {}\n }).fail(async (msg, err, yargsContext) => {\n const Consola = await import(\"consola\");\n const isVerbose = args.some(arg => [\"-v\", \"--v\", \"--verbose\"].includes(arg));\n if (err instanceof ExitProcessError) {\n if (isVerbose) {\n Consola.consola.error(err);\n } else {\n Consola.consola.error(err.message);\n }\n } else {\n if (err && err instanceof YargsCheckError === false) {\n throw err;\n } else {\n yargsContext.showHelp();\n Consola.consola.log(\"\"); // intentional blank line\n // eslint-disable-next-line no-console\n console.error(msg);\n }\n }\n process.exit(1);\n });\n\n // Special handling where failures happen before yargs does its error handling within .fail\n try {\n return await base.parseAsync();\n } catch (err) {\n if (err instanceof ExitProcessError) {\n const Consola = await import(\"consola\");\n Consola.consola.error(err);\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\nexport const command = {\n command: \"login\",\n describe: \"Authenticate with an application ID\",\n builder: argv => {\n return argv.option(\"applicationId\", {\n type: \"string\",\n demandOption: true\n });\n },\n handler: async args => {\n const command = await import(\"./loginFlow.js\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 login from \"./login/index.js\";\nconst site = {\n command: \"auth\",\n describe: \"Manage your session\",\n builder: argv => {\n return argv.options({\n baseUrl: {\n type: \"string\",\n demandOption: true\n }\n }).command(login).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { promises as fsPromises } from \"node:fs\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst CONFIG_FILE_NAMES = [\"foundry.config.json\"];\nconst CONFIG_FILE_SCHEMA = {\n type: \"object\",\n properties: {\n foundryUrl: {\n type: \"string\"\n },\n site: {\n type: \"object\",\n properties: {\n application: {\n type: \"string\"\n },\n directory: {\n type: \"string\"\n },\n autoVersion: {\n type: \"object\",\n nullable: true,\n oneOf: [{\n properties: {\n \"type\": {\n const: \"git-describe\",\n type: \"string\"\n },\n \"tagPrefix\": {\n type: \"string\",\n nullable: true\n }\n }\n }],\n required: [\"type\"]\n }\n },\n required: [\"application\", \"directory\"]\n }\n },\n required: [\"foundryUrl\", \"site\"],\n additionalProperties: false\n};\n\n/**\n * Asynchronously loads a configuration file. Looks for any of the CONFIG_FILE_NAMES in the current directory going up to the root directory.\n * @returns A promise that resolves to the configuration JSON object, or undefined if not found.\n * @throws Will throw an error if the configuration file is found but cannot be read or parsed.\n */\nexport async function loadFoundryConfig() {\n const ajvModule = await import(\"ajv\");\n const Ajv = ajvModule.default.default; // https://github.com/ajv-validator/ajv/issues/2132\n const ajv = new Ajv({\n allErrors: true\n });\n const validate = ajv.compile(CONFIG_FILE_SCHEMA);\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n const {\n findUp\n } = await import(\"find-up\");\n const configFilePath = await findUp(CONFIG_FILE_NAMES);\n if (configFilePath) {\n let foundryConfig;\n try {\n const fileContent = await fsPromises.readFile(configFilePath, \"utf-8\");\n foundryConfig = JSON.parse(fileContent);\n } catch {\n throw new ExitProcessError(2, `Couldn't read or parse config file ${configFilePath}`);\n }\n if (!validate(foundryConfig)) {\n throw new ExitProcessError(2, `The configuration file does not match the expected schema: ${ajv.errorsText(validate.errors)}`);\n }\n return {\n foundryConfig,\n configFilePath\n };\n }\n return undefined;\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 { loadFoundryConfig } from \"./config.js\";\nlet configPromise = undefined;\nfunction getConfig() {\n if (configPromise == null) {\n configPromise = loadFoundryConfig();\n }\n return configPromise;\n}\nexport default getConfig;","/*\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\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 async function logDeployCommandConfigFileOverride(argv, config) {\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n if (config?.autoVersion != null && argv.autoVersion !== config?.autoVersion.type) {\n consola.debug(`Overriding \"autoVersion\" from config file with ${argv.autoVersion}`);\n }\n if (config?.directory != null && argv.directory !== config?.directory) {\n consola.debug(`Overriding \"directory\" from config file with ${argv.directory}`);\n }\n if (config?.autoVersion?.tagPrefix != null && argv.gitTagPrefix != null && argv.gitTagPrefix !== config?.autoVersion.tagPrefix) {\n consola.debug(`Overriding \"gitTagPrefix\" from config file with ${argv.gitTagPrefix}`);\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 configLoader from \"../../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport { logDeployCommandConfigFileOverride } from \"./logDeployCommandConfigFileOverride.js\";\nconst command = {\n command: \"deploy\",\n describe: \"Deploy an uploaded version\",\n builder: async argv => {\n const config = await configLoader();\n const siteConfig = config?.foundryConfig.site;\n const directory = siteConfig?.directory;\n const autoVersion = siteConfig?.autoVersion;\n const gitTagPrefix = autoVersion?.tagPrefix;\n return argv.options({\n directory: {\n type: \"string\",\n description: \"Directory to deploy\",\n ...(directory ? {\n default: directory\n } : {\n demandOption: true\n })\n },\n uploadOnly: {\n type: \"boolean\",\n description: \"Upload the directory but do not deploy it\",\n default: false\n },\n version: {\n type: \"string\",\n description: \"Version to deploy\",\n ...(autoVersion == null ? {\n conflicts: \"autoVersion\"\n } : {})\n },\n autoVersion: {\n type: \"string\",\n description: \"Enables autoversioning. Can be set to 'git-describe' to use git describe to determine the version.\",\n ...(autoVersion != null ? {\n default: autoVersion.type\n } : {\n conflicts: \"version\"\n })\n },\n gitTagPrefix: {\n type: \"string\",\n description: \"Prefix to match git tags against when --autoVersion=git-describe is used. If not provided, a default prefix 'v' is used.\",\n ...(gitTagPrefix ? {\n default: gitTagPrefix\n } : {})\n }\n }).group([\"autoVersion\", \"gitTagPrefix\"], \"Autoversion Arguments\").group([\"version\", \"directory\", \"uploadOnly\"], \"Common Arguments\").check(argv => {\n // This is required because we can't use demandOption with conflicts. conflicts protects us against the case where both are provided.\n // So this case is for when nothing is provided.\n if (autoVersion == null && argv.autoVersion == null && argv.version == null) {\n throw new YargsCheckError(\"One of --version or --autoVersion must be specified\");\n }\n const autoVersionType = argv.autoVersion ?? autoVersion;\n if (autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);\n }\n const gitTagPrefixValue = argv.gitTagPrefix ?? gitTagPrefix;\n // Future proofing for when we support other autoVersion types\n if (gitTagPrefixValue != null && autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);\n }\n return true;\n }).middleware(argv => logDeployCommandConfigFileOverride(argv, siteConfig));\n },\n handler: async args => {\n const command = await import(\"./siteDeployCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 async function logSiteCommandConfigFileOverride(argv, config) {\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n if (config?.site.application != null && argv.application !== config.site.application) {\n consola.debug(`Overriding \"application\" from config file with ${argv.application}`);\n }\n if (config?.foundryUrl != null && argv.foundryUrl !== config.foundryUrl) {\n consola.debug(`Overriding \"foundryUrl\" from config file with ${argv.foundryUrl}`);\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\nconst command = {\n command: \"delete <version>\",\n describe: \"Delete the specified site version.\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionDeleteCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"get\",\n describe: \"Get the currently set live site version\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionGetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"list\",\n describe: \"List application versions\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionListCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"set <version>\",\n describe: \"Set the live site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionSetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"unset\",\n describe: \"Clear the currently set live site version.\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionUnsetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 deleteCmd from \"./delete/index.js\";\nimport get from \"./get/index.js\";\nimport list from \"./list/index.js\";\nimport set from \"./set/index.js\";\nimport unset from \"./unset/index.js\";\nconst command = {\n command: \"version\",\n describe: \"Manage application version\",\n builder: argv => {\n return argv.command(list).command(set).command(unset).command(deleteCmd).command(get).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 configLoader from \"../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../YargsCheckError.js\";\nimport deploy from \"./deploy/index.js\";\nimport { logSiteCommandConfigFileOverride } from \"./logSiteCommandConfigFileOverride.js\";\nimport version from \"./version/index.js\";\nconst command = {\n command: \"site\",\n describe: \"Manage your site\",\n builder: async argv => {\n const config = await configLoader();\n const application = config?.foundryConfig.site.application;\n const foundryUrl = config?.foundryConfig.foundryUrl;\n return argv.options({\n application: {\n type: \"string\",\n coerce: application => application,\n ...(application ? {\n default: application\n } : {\n demandOption: true\n }),\n description: \"Application RID\"\n },\n foundryUrl: {\n coerce: foundryUrl => foundryUrl.replace(/\\/$/, \"\"),\n type: \"string\",\n ...(foundryUrl ? {\n default: foundryUrl\n } : {\n demandOption: true\n }),\n description: \"Foundry Stack URL with Protocol (e.g. https://example.palantirfoundry.com)\"\n },\n token: {\n type: \"string\",\n conflicts: \"tokenFile\",\n description: \"Foundry API Token\"\n },\n tokenFile: {\n type: \"string\",\n conflicts: \"token\",\n description: \"Path to a file containing your Foundry API Token\"\n }\n }).group([\"application\", \"foundryUrl\", \"token\", \"tokenFile\"], \"Common Arguments\").command(version).command(deploy).check(argv => {\n if (!argv.foundryUrl.startsWith(\"https://\")) {\n throw new YargsCheckError(\"foundryUrl must start with https://\");\n }\n return true;\n }).middleware(argv => logSiteCommandConfigFileOverride(argv, config?.foundryConfig)).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 { isValidSemver } from \"../../../util/isValidSemver.js\";\nexport const command = {\n command: \"generate\",\n describe: \"Generate typescript from ontology\",\n builder: argv => {\n return argv.options({\n \"outDir\": {\n type: \"string\",\n description: \"Where to place the generated files\",\n demandOption: true\n },\n ontologyPath: {\n description: \"path to the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"stack\", \"clientId\"]\n },\n stack: {\n description: \"the URL to the stack that contains the ontology\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"clientId\"\n },\n clientId: {\n description: \"the application's client id\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"stack\"\n },\n ontologyWritePath: {\n description: \"path to write the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"ontologyPath\"]\n },\n beta: {\n type: \"boolean\",\n description: \"Should generate beta sdk\",\n demandOption: false\n },\n packageType: {\n default: \"commonjs\",\n choices: [\"commonjs\", \"module\"]\n },\n version: {\n type: \"string\",\n description: \"Version of the generated code, or 'dev'\",\n demandOption: true\n }\n }).group([\"ontologyPath\", \"outDir\", \"version\"], \"Generate from a local file\").group([\"stack\", \"clientId\", \"outDir\", \"ontologyWritePath\", \"version\"], \"OR Generate from a stack\").check(argv => {\n if (!argv.ontologyPath && !argv.stack) {\n throw new Error(\"Error: Must specify either ontologyPath or stack and clientId\");\n }\n if (argv.version !== \"dev\" && !isValidSemver(argv.version)) {\n throw new Error(\"Error: Version must be 'dev' or a valid semver version\");\n }\n return true;\n });\n },\n handler: async args => {\n const command = await import(\"./handleGenerate.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 generate from \"./generate/generate.js\";\nconst site = {\n command: \"typescript\",\n describe: \"Manage code\",\n builder: argv => {\n return argv.command(generate).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 getConfig from \"../util/configLoader.js\";\nlet firstTime = true;\nexport async function logConfigFileMiddleware() {\n if (firstTime) {\n firstTime = false;\n const config = getConfig();\n const configFilePath = (await config)?.configFilePath;\n if (configFilePath) {\n const Consola = await import(\"consola\");\n const consola = Consola.consola;\n consola.debug(`Using configuration from file: \"${configFilePath}\"`);\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\nlet firstTime = true;\nexport async function logVersionMiddleware(args) {\n if (firstTime) {\n firstTime = false;\n const Consola = await import(\"consola\");\n // This will be called before any command is executed\n const consola = Consola.consola;\n consola.info(`Palantir OSDK CLI ${process.env.PACKAGE_VERSION}`);\n consola.level = 3 + args.verbose; // so 1 -v is debug logs and -vv is trace\n if (consola.level > 3) {\n consola.debug(`Verbose logging enabled (${consola.level === 4 ? \"debug\" : \"trace\"})`);\n }\n consola.log(\"\"); // intentional blank line\n }\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/cli.ts","../../src/commands/auth/login/index.ts","../../src/commands/auth/index.ts","../../src/util/config.ts","../../src/util/configLoader.ts","../../src/YargsCheckError.ts","../../src/commands/site/deploy/logDeployCommandConfigFileOverride.ts","../../src/commands/site/deploy/index.ts","../../src/commands/site/logSiteCommandConfigFileOverride.ts","../../src/commands/site/version/delete/index.ts","../../src/commands/site/version/get/index.ts","../../src/commands/site/version/list/index.ts","../../src/commands/site/version/set/index.ts","../../src/commands/site/version/unset/index.ts","../../src/commands/site/version/index.ts","../../src/commands/site/index.ts","../../src/commands/typescript/generate/generate.ts","../../src/commands/typescript/index.ts","../../src/yargs/logConfigFileMiddleware.ts","../../src/yargs/logVersionMiddleware.ts"],"names":["consola","command","application","foundryUrl","site","firstTime"],"mappings":"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","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 } from \"consola\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport auth from \"./commands/auth/index.js\";\nimport site from \"./commands/site/index.js\";\nimport typescript from \"./commands/typescript/index.js\";\nimport { ExitProcessError } from \"./ExitProcessError.js\";\nimport { logConfigFileMiddleware } from \"./yargs/logConfigFileMiddleware.js\";\nimport { logVersionMiddleware } from \"./yargs/logVersionMiddleware.js\";\nimport { YargsCheckError } from \"./YargsCheckError.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).wrap(Math.min(150, yargs().terminalWidth())).env(\"OSDK\").version(false).option(\"verbose\", {\n alias: \"v\",\n type: \"boolean\",\n description: \"Enable verbose logging\",\n count: true\n }).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({\n command: \"unstable\",\n aliases: [\"experimental\"],\n describe: \"Unstable commands\",\n builder: async argv => {\n return argv.command(site).command(typescript).command(auth).demandCommand();\n },\n handler: _args => {}\n }).fail(async (msg, err, argv) => {\n if (err instanceof ExitProcessError) {\n consola.error(err.message);\n consola.debug(err.stack);\n } else {\n if (err && err instanceof YargsCheckError === false) {\n throw err;\n } else {\n argv.showHelp();\n consola.log(\"\"); // intentional blank line\n consola.error(msg);\n }\n }\n process.exit(1);\n });\n\n // Special handling where failures happen before yargs does its error handling within .fail\n try {\n return await base.parseAsync();\n } catch (err) {\n if (err instanceof ExitProcessError) {\n consola.error(err);\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\nexport const command = {\n command: \"login\",\n describe: \"Authenticate with an application ID\",\n builder: argv => {\n return argv.option(\"applicationId\", {\n type: \"string\",\n demandOption: true\n });\n },\n handler: async args => {\n const command = await import(\"./loginFlow.js\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 login from \"./login/index.js\";\nconst site = {\n command: \"auth\",\n describe: \"Manage your session\",\n builder: argv => {\n return argv.options({\n baseUrl: {\n type: \"string\",\n demandOption: true\n }\n }).command(login).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { promises as fsPromises } from \"node:fs\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst CONFIG_FILE_NAMES = [\"foundry.config.json\"];\nconst CONFIG_FILE_SCHEMA = {\n type: \"object\",\n properties: {\n foundryUrl: {\n type: \"string\"\n },\n site: {\n type: \"object\",\n properties: {\n application: {\n type: \"string\"\n },\n directory: {\n type: \"string\"\n },\n autoVersion: {\n type: \"object\",\n nullable: true,\n oneOf: [{\n properties: {\n \"type\": {\n const: \"git-describe\",\n type: \"string\"\n },\n \"tagPrefix\": {\n type: \"string\",\n nullable: true\n }\n }\n }],\n required: [\"type\"]\n }\n },\n required: [\"application\", \"directory\"]\n }\n },\n required: [\"foundryUrl\", \"site\"],\n additionalProperties: false\n};\n\n/**\n * Asynchronously loads a configuration file. Looks for any of the CONFIG_FILE_NAMES in the current directory going up to the root directory.\n * @returns A promise that resolves to the configuration JSON object, or undefined if not found.\n * @throws Will throw an error if the configuration file is found but cannot be read or parsed.\n */\nexport async function loadFoundryConfig() {\n const ajvModule = await import(\"ajv\");\n const Ajv = ajvModule.default.default; // https://github.com/ajv-validator/ajv/issues/2132\n const ajv = new Ajv({\n allErrors: true\n });\n const validate = ajv.compile(CONFIG_FILE_SCHEMA);\n const {\n findUp\n } = await import(\"find-up\");\n const configFilePath = await findUp(CONFIG_FILE_NAMES);\n if (configFilePath) {\n let foundryConfig;\n try {\n const fileContent = await fsPromises.readFile(configFilePath, \"utf-8\");\n foundryConfig = JSON.parse(fileContent);\n } catch {\n throw new ExitProcessError(2, `Couldn't read or parse config file ${configFilePath}`);\n }\n if (!validate(foundryConfig)) {\n throw new ExitProcessError(2, `The configuration file does not match the expected schema: ${ajv.errorsText(validate.errors)}`);\n }\n return {\n foundryConfig,\n configFilePath\n };\n }\n return undefined;\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 { loadFoundryConfig } from \"./config.js\";\nlet configPromise = undefined;\nfunction getConfig() {\n if (configPromise == null) {\n configPromise = loadFoundryConfig();\n }\n return configPromise;\n}\nexport default getConfig;","/*\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\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\";\nexport async function logDeployCommandConfigFileOverride(args, config) {\n if (config?.autoVersion != null && args.autoVersion !== config?.autoVersion.type) {\n consola.debug(`Overriding \"autoVersion\" from config file with ${args.autoVersion}`);\n }\n if (config?.directory != null && args.directory !== config?.directory) {\n consola.debug(`Overriding \"directory\" from config file with ${args.directory}`);\n }\n if (config?.autoVersion?.tagPrefix != null && args.gitTagPrefix != null && args.gitTagPrefix !== config?.autoVersion.tagPrefix) {\n consola.debug(`Overriding \"gitTagPrefix\" from config file with ${args.gitTagPrefix}`);\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 configLoader from \"../../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport { logDeployCommandConfigFileOverride } from \"./logDeployCommandConfigFileOverride.js\";\nconst command = {\n command: \"deploy\",\n describe: \"Deploy an uploaded version\",\n builder: async argv => {\n const config = await configLoader();\n const siteConfig = config?.foundryConfig.site;\n const directory = siteConfig?.directory;\n const autoVersion = siteConfig?.autoVersion;\n const gitTagPrefix = autoVersion?.tagPrefix;\n return argv.options({\n directory: {\n type: \"string\",\n description: \"Directory to deploy\",\n ...(directory ? {\n default: directory\n } : {\n demandOption: true\n })\n },\n uploadOnly: {\n type: \"boolean\",\n description: \"Upload the directory but do not deploy it\",\n default: false\n },\n version: {\n type: \"string\",\n description: \"Version to deploy\",\n ...(autoVersion == null ? {\n conflicts: \"autoVersion\"\n } : {})\n },\n autoVersion: {\n type: \"string\",\n description: \"Enables autoversioning. Can be set to 'git-describe' to use git describe to determine the version.\",\n ...(autoVersion != null ? {\n default: autoVersion.type\n } : {\n conflicts: \"version\"\n })\n },\n gitTagPrefix: {\n type: \"string\",\n description: \"Prefix to match git tags against when --autoVersion=git-describe is used. If not provided, a default prefix 'v' is used.\",\n ...(gitTagPrefix ? {\n default: gitTagPrefix\n } : {})\n }\n }).group([\"autoVersion\", \"gitTagPrefix\"], \"Autoversion Arguments\").group([\"version\", \"directory\", \"uploadOnly\"], \"Common Arguments\").check(args => {\n // This is required because we can't use demandOption with conflicts. conflicts protects us against the case where both are provided.\n // So this case is for when nothing is provided.\n if (autoVersion == null && args.autoVersion == null && args.version == null) {\n throw new YargsCheckError(\"One of --version or --autoVersion must be specified\");\n }\n const autoVersionType = args.autoVersion ?? autoVersion;\n if (autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);\n }\n const gitTagPrefixValue = args.gitTagPrefix ?? gitTagPrefix;\n // Future proofing for when we support other autoVersion types\n if (gitTagPrefixValue != null && autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);\n }\n return true;\n }).middleware(args => logDeployCommandConfigFileOverride(args, siteConfig));\n },\n handler: async args => {\n const command = await import(\"./siteDeployCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\";\nexport async function logSiteCommandConfigFileOverride(args, config) {\n if (config?.site.application != null && args.application !== config.site.application) {\n consola.debug(`Overriding \"application\" from config file with ${args.application}`);\n }\n if (config?.foundryUrl != null && args.foundryUrl !== config.foundryUrl) {\n consola.debug(`Overriding \"foundryUrl\" from config file with ${args.foundryUrl}`);\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\nconst command = {\n command: \"delete <version>\",\n describe: \"Delete the specified site version.\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionDeleteCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"get\",\n describe: \"Get the currently set live site version\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionGetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"list\",\n describe: \"List application versions\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionListCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"set <version>\",\n describe: \"Set the live site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionSetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"unset\",\n describe: \"Clear the currently set live site version.\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionUnsetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 deleteCmd from \"./delete/index.js\";\nimport get from \"./get/index.js\";\nimport list from \"./list/index.js\";\nimport set from \"./set/index.js\";\nimport unset from \"./unset/index.js\";\nconst command = {\n command: \"version\",\n describe: \"Manage application version\",\n builder: argv => {\n return argv.command(list).command(set).command(unset).command(deleteCmd).command(get).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 configLoader from \"../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../YargsCheckError.js\";\nimport deploy from \"./deploy/index.js\";\nimport { logSiteCommandConfigFileOverride } from \"./logSiteCommandConfigFileOverride.js\";\nimport version from \"./version/index.js\";\nconst command = {\n command: \"site\",\n describe: \"Manage your site\",\n builder: async argv => {\n const config = await configLoader();\n const application = config?.foundryConfig.site.application;\n const foundryUrl = config?.foundryConfig.foundryUrl;\n return argv.options({\n application: {\n type: \"string\",\n coerce: application => application,\n ...(application ? {\n default: application\n } : {\n demandOption: true\n }),\n description: \"Application RID\"\n },\n foundryUrl: {\n coerce: foundryUrl => foundryUrl.replace(/\\/$/, \"\"),\n type: \"string\",\n ...(foundryUrl ? {\n default: foundryUrl\n } : {\n demandOption: true\n }),\n description: \"Foundry Stack URL with Protocol (e.g. https://example.palantirfoundry.com)\"\n },\n token: {\n type: \"string\",\n conflicts: \"tokenFile\",\n description: \"Foundry API Token\"\n },\n tokenFile: {\n type: \"string\",\n conflicts: \"token\",\n description: \"Path to a file containing your Foundry API Token\"\n }\n }).group([\"application\", \"foundryUrl\", \"token\", \"tokenFile\"], \"Common Arguments\").command(version).command(deploy).check(args => {\n if (!args.foundryUrl.startsWith(\"https://\")) {\n throw new YargsCheckError(\"foundryUrl must start with https://\");\n }\n return true;\n }).middleware(args => logSiteCommandConfigFileOverride(args, config?.foundryConfig)).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 { isValidSemver } from \"../../../util/isValidSemver.js\";\nexport const command = {\n command: \"generate\",\n describe: \"Generate typescript from ontology\",\n builder: argv => {\n return argv.options({\n \"outDir\": {\n type: \"string\",\n description: \"Where to place the generated files\",\n demandOption: true\n },\n ontologyPath: {\n description: \"path to the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"stack\", \"clientId\"]\n },\n stack: {\n description: \"the URL to the stack that contains the ontology\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"clientId\"\n },\n clientId: {\n description: \"the application's client id\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"stack\"\n },\n ontologyWritePath: {\n description: \"path to write the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"ontologyPath\"]\n },\n beta: {\n type: \"boolean\",\n description: \"Should generate beta sdk\",\n demandOption: false\n },\n packageType: {\n default: \"commonjs\",\n choices: [\"commonjs\", \"module\"]\n },\n version: {\n type: \"string\",\n description: \"Version of the generated code, or 'dev'\",\n demandOption: true\n }\n }).group([\"ontologyPath\", \"outDir\", \"version\"], \"Generate from a local file\").group([\"stack\", \"clientId\", \"outDir\", \"ontologyWritePath\", \"version\"], \"OR Generate from a stack\").check(args => {\n if (!args.ontologyPath && !args.stack) {\n throw new Error(\"Error: Must specify either ontologyPath or stack and clientId\");\n }\n if (args.version !== \"dev\" && !isValidSemver(args.version)) {\n throw new Error(\"Error: Version must be 'dev' or a valid semver version\");\n }\n return true;\n });\n },\n handler: async args => {\n const command = await import(\"./handleGenerate.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 generate from \"./generate/generate.js\";\nconst site = {\n command: \"typescript\",\n describe: \"Manage code\",\n builder: argv => {\n return argv.command(generate).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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\";\nimport getConfig from \"../util/configLoader.js\";\nlet firstTime = true;\nexport async function logConfigFileMiddleware() {\n if (firstTime) {\n firstTime = false;\n const config = getConfig();\n const configFilePath = (await config)?.configFilePath;\n if (configFilePath) {\n consola.debug(`Using configuration from file: \"${configFilePath}\"`);\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 { consola } from \"consola\";\nlet firstTime = true;\nexport async function logVersionMiddleware(args) {\n if (firstTime) {\n firstTime = false;\n // This will be called before any command is executed\n consola.info(`Palantir OSDK CLI ${process.env.PACKAGE_VERSION}`);\n consola.level = 3 + args.verbose; // so 1 -v is debug logs and -vv is trace\n if (consola.level > 3) {\n consola.debug(`Verbose logging enabled (${consola.level === 4 ? \"debug\" : \"trace\"})`);\n }\n consola.log(\"\"); // intentional blank line\n }\n}"]}
|
|
@@ -5,6 +5,7 @@ import './chunk-E2SEJZTC.mjs';
|
|
|
5
5
|
import { consola } from 'consola';
|
|
6
6
|
import archiver from 'archiver';
|
|
7
7
|
import * as fs from 'fs';
|
|
8
|
+
import path from 'path';
|
|
8
9
|
import { Readable } from 'stream';
|
|
9
10
|
import { execSync } from 'child_process';
|
|
10
11
|
|
|
@@ -47,13 +48,15 @@ async function siteDeployCommand({
|
|
|
47
48
|
siteVersion = await autoVersion(gitTagPrefix);
|
|
48
49
|
consola.info(`Auto version inferred next version to be: ${siteVersion}`);
|
|
49
50
|
}
|
|
51
|
+
consola.debug(`Using directory for site files: "${path.resolve(directory)}`);
|
|
50
52
|
const stat = await fs.promises.stat(directory);
|
|
51
53
|
if (!stat.isDirectory()) {
|
|
52
|
-
|
|
53
|
-
throw new ExitProcessError(2);
|
|
54
|
+
throw new ExitProcessError(2, "Specified path exists but is not a directory");
|
|
54
55
|
}
|
|
55
|
-
consola.start("
|
|
56
|
+
consola.start("Zipping site files");
|
|
56
57
|
const archive = archiver("zip").directory(directory, false);
|
|
58
|
+
logArchiveStats(archive);
|
|
59
|
+
consola.start("Uploading site files");
|
|
57
60
|
const tokenProvider = () => loadedToken;
|
|
58
61
|
const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);
|
|
59
62
|
await Promise.all([artifacts_exports.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {
|
|
@@ -76,7 +79,22 @@ async function siteDeployCommand({
|
|
|
76
79
|
consola.debug("Upload only mode enabled, skipping deployment");
|
|
77
80
|
}
|
|
78
81
|
}
|
|
82
|
+
function logArchiveStats(archive) {
|
|
83
|
+
let archiveStats = {
|
|
84
|
+
fileCount: 0,
|
|
85
|
+
bytes: 0
|
|
86
|
+
};
|
|
87
|
+
archive.on("progress", (progress) => {
|
|
88
|
+
archiveStats = {
|
|
89
|
+
fileCount: progress.entries.total,
|
|
90
|
+
bytes: progress.fs.totalBytes
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
archive.on("finish", () => {
|
|
94
|
+
consola.debug(`Zipped ${archiveStats.fileCount} files and ${archiveStats.bytes} bytes`);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
79
97
|
|
|
80
98
|
export { siteDeployCommand as default };
|
|
81
99
|
//# sourceMappingURL=out.js.map
|
|
82
|
-
//# sourceMappingURL=siteDeployCommand-
|
|
100
|
+
//# sourceMappingURL=siteDeployCommand-7GXJF5HF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/commands/site/deploy/siteDeployCommand.mts","../../src/util/autoVersion.ts"],"names":["autoVersion"],"mappings":"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","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 } from \"consola\";\nimport { artifacts, ArtifactsSitesAdminV2Service, createConjureContext, createInternalClientContext, thirdPartyApplicationService } from \"#net\";\nimport archiver from \"archiver\";\nimport * as fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { autoVersion as findAutoVersion } from \"../../../util/autoVersion.js\";\nimport { loadToken } from \"../../../util/token.js\";\nexport default async function siteDeployCommand({\n version,\n application,\n foundryUrl,\n autoVersion,\n gitTagPrefix,\n uploadOnly,\n directory,\n token,\n tokenFile\n}) {\n if (version == null && autoVersion == null) {\n throw new Error(\"Either version or autoVersion must be specified\");\n }\n const loadedToken = await loadToken(token, tokenFile);\n\n // version has a priority over autoVersion. Both could be defined at the same time when\n // autoVersion is present in the config file (it assigns that as a default value to argv.autoVersion)\n // and --version is passed as an argument\n let siteVersion;\n if (version != null) {\n siteVersion = version;\n } else {\n siteVersion = await findAutoVersion(gitTagPrefix);\n consola.info(`Auto version inferred next version to be: ${siteVersion}`);\n }\n consola.debug(`Using directory for site files: \"${path.resolve(directory)}`);\n const stat = await fs.promises.stat(directory);\n if (!stat.isDirectory()) {\n throw new ExitProcessError(2, \"Specified path exists but is not a directory\");\n }\n consola.start(\"Zipping site files\");\n const archive = archiver(\"zip\").directory(directory, false);\n logArchiveStats(archive);\n consola.start(\"Uploading site files\");\n const tokenProvider = () => loadedToken;\n const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);\n await Promise.all([artifacts.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {\n application,\n version: siteVersion,\n zipFile: Readable.toWeb(archive) // This cast is because the dom fetch doesnt align type wise with streams\n }), archive.finalize()]);\n consola.success(\"Upload complete\");\n if (!uploadOnly) {\n const repositoryRid = await thirdPartyApplicationService.fetchWebsiteRepositoryRid(clientCtx, application);\n const ctx = createConjureContext(foundryUrl, \"/artifacts/api\", tokenProvider);\n await ArtifactsSitesAdminV2Service.updateDeployedVersion(ctx, repositoryRid, {\n siteVersion: {\n version: siteVersion\n }\n });\n consola.success(`Deployed ${siteVersion} successfully`);\n } else {\n consola.debug(\"Upload only mode enabled, skipping deployment\");\n }\n}\nfunction logArchiveStats(archive) {\n let archiveStats = {\n fileCount: 0,\n bytes: 0\n };\n archive.on(\"progress\", progress => {\n archiveStats = {\n fileCount: progress.entries.total,\n bytes: progress.fs.totalBytes\n };\n });\n archive.on(\"finish\", () => {\n consola.debug(`Zipped ${archiveStats.fileCount} files and ${archiveStats.bytes} bytes`);\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 { execSync } from \"node:child_process\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nimport { isValidSemver } from \"./isValidSemver.js\";\n\n/**\n * Gets the version string using git describe. If the @param tagPrefix is empty, git describe will return the\n * latest tag (without any filtering) and if the tag starts with \"v\", it will be removed.\n * @param tagPrefix The prefix to use for matching against tags. Defaults to an empty string.\n * @returns A promise that resolves to the version string.\n * @throws An error if the version string is not SemVer compliant or if the version cannot be determined.\n */\nexport async function autoVersion(tagPrefix = \"\") {\n const [matchPrefix, prefixRegex] = tagPrefix !== \"\" ? [tagPrefix, new RegExp(`^${tagPrefix}`)] : [undefined, new RegExp(`^v?`)];\n try {\n const gitVersion = execSync(`git describe --tags --first-parent --dirty${matchPrefix != null ? ` --match=\"${matchPrefix}*\"` : \"\"}`, {\n encoding: \"utf8\"\n });\n const version = gitVersion.trim().replace(prefixRegex, \"\");\n if (!isValidSemver(version)) {\n throw new ExitProcessError(2, `The version string ${version} is not SemVer compliant.`);\n }\n return version;\n } catch (error) {\n throw new ExitProcessError(2, `Unable to determine the version automatically. Please supply a --version argument. ${error}`);\n }\n}"]}
|
|
@@ -7,6 +7,7 @@ require('./chunk-HQDDGVB7.cjs');
|
|
|
7
7
|
var consola = require('consola');
|
|
8
8
|
var archiver = require('archiver');
|
|
9
9
|
var fs = require('fs');
|
|
10
|
+
var path = require('path');
|
|
10
11
|
var stream = require('stream');
|
|
11
12
|
var child_process = require('child_process');
|
|
12
13
|
|
|
@@ -32,6 +33,7 @@ function _interopNamespace(e) {
|
|
|
32
33
|
|
|
33
34
|
var archiver__default = /*#__PURE__*/_interopDefault(archiver);
|
|
34
35
|
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
36
|
+
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
35
37
|
|
|
36
38
|
async function autoVersion(tagPrefix = "") {
|
|
37
39
|
const [matchPrefix, prefixRegex] = tagPrefix !== "" ? [tagPrefix, new RegExp(`^${tagPrefix}`)] : [void 0, new RegExp(`^v?`)];
|
|
@@ -72,13 +74,15 @@ async function siteDeployCommand({
|
|
|
72
74
|
siteVersion = await autoVersion(gitTagPrefix);
|
|
73
75
|
consola.consola.info(`Auto version inferred next version to be: ${siteVersion}`);
|
|
74
76
|
}
|
|
77
|
+
consola.consola.debug(`Using directory for site files: "${path__default.default.resolve(directory)}`);
|
|
75
78
|
const stat = await fs__namespace.promises.stat(directory);
|
|
76
79
|
if (!stat.isDirectory()) {
|
|
77
|
-
|
|
78
|
-
throw new chunkHYF3CTKZ_cjs.ExitProcessError(2);
|
|
80
|
+
throw new chunkHYF3CTKZ_cjs.ExitProcessError(2, "Specified path exists but is not a directory");
|
|
79
81
|
}
|
|
80
|
-
consola.consola.start("
|
|
82
|
+
consola.consola.start("Zipping site files");
|
|
81
83
|
const archive = archiver__default.default("zip").directory(directory, false);
|
|
84
|
+
logArchiveStats(archive);
|
|
85
|
+
consola.consola.start("Uploading site files");
|
|
82
86
|
const tokenProvider = () => loadedToken;
|
|
83
87
|
const clientCtx = chunkD7QHLGEU_cjs.createInternalClientContext(foundryUrl, tokenProvider);
|
|
84
88
|
await Promise.all([chunkD7QHLGEU_cjs.artifacts_exports.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {
|
|
@@ -101,7 +105,22 @@ async function siteDeployCommand({
|
|
|
101
105
|
consola.consola.debug("Upload only mode enabled, skipping deployment");
|
|
102
106
|
}
|
|
103
107
|
}
|
|
108
|
+
function logArchiveStats(archive) {
|
|
109
|
+
let archiveStats = {
|
|
110
|
+
fileCount: 0,
|
|
111
|
+
bytes: 0
|
|
112
|
+
};
|
|
113
|
+
archive.on("progress", (progress) => {
|
|
114
|
+
archiveStats = {
|
|
115
|
+
fileCount: progress.entries.total,
|
|
116
|
+
bytes: progress.fs.totalBytes
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
archive.on("finish", () => {
|
|
120
|
+
consola.consola.debug(`Zipped ${archiveStats.fileCount} files and ${archiveStats.bytes} bytes`);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
104
123
|
|
|
105
124
|
module.exports = siteDeployCommand;
|
|
106
125
|
//# sourceMappingURL=out.js.map
|
|
107
|
-
//# sourceMappingURL=siteDeployCommand-
|
|
126
|
+
//# sourceMappingURL=siteDeployCommand-KUNL3GIW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/commands/site/deploy/siteDeployCommand.mts","../../src/util/autoVersion.ts"],"names":["autoVersion"],"mappings":"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","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 } from \"consola\";\nimport { artifacts, ArtifactsSitesAdminV2Service, createConjureContext, createInternalClientContext, thirdPartyApplicationService } from \"#net\";\nimport archiver from \"archiver\";\nimport * as fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { autoVersion as findAutoVersion } from \"../../../util/autoVersion.js\";\nimport { loadToken } from \"../../../util/token.js\";\nexport default async function siteDeployCommand({\n version,\n application,\n foundryUrl,\n autoVersion,\n gitTagPrefix,\n uploadOnly,\n directory,\n token,\n tokenFile\n}) {\n if (version == null && autoVersion == null) {\n throw new Error(\"Either version or autoVersion must be specified\");\n }\n const loadedToken = await loadToken(token, tokenFile);\n\n // version has a priority over autoVersion. Both could be defined at the same time when\n // autoVersion is present in the config file (it assigns that as a default value to argv.autoVersion)\n // and --version is passed as an argument\n let siteVersion;\n if (version != null) {\n siteVersion = version;\n } else {\n siteVersion = await findAutoVersion(gitTagPrefix);\n consola.info(`Auto version inferred next version to be: ${siteVersion}`);\n }\n consola.debug(`Using directory for site files: \"${path.resolve(directory)}`);\n const stat = await fs.promises.stat(directory);\n if (!stat.isDirectory()) {\n throw new ExitProcessError(2, \"Specified path exists but is not a directory\");\n }\n consola.start(\"Zipping site files\");\n const archive = archiver(\"zip\").directory(directory, false);\n logArchiveStats(archive);\n consola.start(\"Uploading site files\");\n const tokenProvider = () => loadedToken;\n const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);\n await Promise.all([artifacts.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {\n application,\n version: siteVersion,\n zipFile: Readable.toWeb(archive) // This cast is because the dom fetch doesnt align type wise with streams\n }), archive.finalize()]);\n consola.success(\"Upload complete\");\n if (!uploadOnly) {\n const repositoryRid = await thirdPartyApplicationService.fetchWebsiteRepositoryRid(clientCtx, application);\n const ctx = createConjureContext(foundryUrl, \"/artifacts/api\", tokenProvider);\n await ArtifactsSitesAdminV2Service.updateDeployedVersion(ctx, repositoryRid, {\n siteVersion: {\n version: siteVersion\n }\n });\n consola.success(`Deployed ${siteVersion} successfully`);\n } else {\n consola.debug(\"Upload only mode enabled, skipping deployment\");\n }\n}\nfunction logArchiveStats(archive) {\n let archiveStats = {\n fileCount: 0,\n bytes: 0\n };\n archive.on(\"progress\", progress => {\n archiveStats = {\n fileCount: progress.entries.total,\n bytes: progress.fs.totalBytes\n };\n });\n archive.on(\"finish\", () => {\n consola.debug(`Zipped ${archiveStats.fileCount} files and ${archiveStats.bytes} bytes`);\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 { execSync } from \"node:child_process\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nimport { isValidSemver } from \"./isValidSemver.js\";\n\n/**\n * Gets the version string using git describe. If the @param tagPrefix is empty, git describe will return the\n * latest tag (without any filtering) and if the tag starts with \"v\", it will be removed.\n * @param tagPrefix The prefix to use for matching against tags. Defaults to an empty string.\n * @returns A promise that resolves to the version string.\n * @throws An error if the version string is not SemVer compliant or if the version cannot be determined.\n */\nexport async function autoVersion(tagPrefix = \"\") {\n const [matchPrefix, prefixRegex] = tagPrefix !== \"\" ? [tagPrefix, new RegExp(`^${tagPrefix}`)] : [undefined, new RegExp(`^v?`)];\n try {\n const gitVersion = execSync(`git describe --tags --first-parent --dirty${matchPrefix != null ? ` --match=\"${matchPrefix}*\"` : \"\"}`, {\n encoding: \"utf8\"\n });\n const version = gitVersion.trim().replace(prefixRegex, \"\");\n if (!isValidSemver(version)) {\n throw new ExitProcessError(2, `The version string ${version} is not SemVer compliant.`);\n }\n return version;\n } catch (error) {\n throw new ExitProcessError(2, `Unable to determine the version automatically. Please supply a --version argument. ${error}`);\n }\n}"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Arguments } from "yargs";
|
|
2
2
|
import type { SiteConfig } from "../../../util/config.js";
|
|
3
3
|
import type { SiteDeployArgs } from "./SiteDeployArgs.js";
|
|
4
|
-
export declare function logDeployCommandConfigFileOverride(
|
|
4
|
+
export declare function logDeployCommandConfigFileOverride(args: Arguments<SiteDeployArgs>, config: SiteConfig | undefined): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Arguments } from "yargs";
|
|
2
2
|
import type { FoundryConfig } from "../../util/config.js";
|
|
3
3
|
import type { CommonSiteArgs } from "./CommonSiteArgs.js";
|
|
4
|
-
export declare function logSiteCommandConfigFileOverride(
|
|
4
|
+
export declare function logSiteCommandConfigFileOverride(args: Arguments<CommonSiteArgs>, config: FoundryConfig | undefined): Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"find-up": "^6.3.0",
|
|
25
25
|
"open": "^9.1.0",
|
|
26
26
|
"yargs": "^17.7.2",
|
|
27
|
-
"@osdk/api": "1.1.1",
|
|
28
27
|
"@osdk/gateway": "1.1.1",
|
|
29
28
|
"@osdk/generator": "1.3.0",
|
|
30
|
-
"@osdk/shared.net": "1.2.0"
|
|
29
|
+
"@osdk/shared.net": "1.2.0",
|
|
30
|
+
"@osdk/api": "1.1.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/archiver": "^6.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/site/deploy/siteDeployCommand.mts","../../src/util/autoVersion.ts"],"names":["autoVersion"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,SAAS,eAAe;AAExB,OAAO,cAAc;AACrB,YAAY,QAAQ;AACpB,SAAS,gBAAgB;;;ACJzB,SAAS,gBAAgB;AAWzB,eAAsB,YAAY,YAAY,IAAI;AAChD,QAAM,CAAC,aAAa,WAAW,IAAI,cAAc,KAAK,CAAC,WAAW,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC,IAAI,CAAC,QAAW,IAAI,OAAO,KAAK,CAAC;AAC9H,MAAI;AACF,UAAM,aAAa,SAAS,6CAA6C,eAAe,OAAO,aAAa,WAAW,OAAO,EAAE,IAAI;AAAA,MAClI,UAAU;AAAA,IACZ,CAAC;AACD,UAAM,UAAU,WAAW,KAAK,EAAE,QAAQ,aAAa,EAAE;AACzD,QAAI,CAAC,cAAc,OAAO,GAAG;AAC3B,YAAM,IAAI,iBAAiB,GAAG,sBAAsB,OAAO,2BAA2B;AAAA,IACxF;AACA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,IAAI,iBAAiB,GAAG,sFAAsF,KAAK,EAAE;AAAA,EAC7H;AACF;;;ADjBA,eAAO,kBAAyC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,MAAI,WAAW,QAAQA,gBAAe,MAAM;AAC1C,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACnE;AACA,QAAM,cAAc,MAAM,UAAU,OAAO,SAAS;AAKpD,MAAI;AACJ,MAAI,WAAW,MAAM;AACnB,kBAAc;AAAA,EAChB,OAAO;AACL,kBAAc,MAAM,YAAgB,YAAY;AAChD,YAAQ,KAAK,6CAA6C,WAAW,EAAE;AAAA,EACzE;AACA,QAAM,OAAO,MAAS,YAAS,KAAK,SAAS;AAC7C,MAAI,CAAC,KAAK,YAAY,GAAG;AACvB,YAAQ,MAAM,mCAAmC;AACjD,UAAM,IAAI,iBAAiB,CAAC;AAAA,EAC9B;AACA,UAAQ,MAAM,qBAAqB;AACnC,QAAM,UAAU,SAAS,KAAK,EAAE,UAAU,WAAW,KAAK;AAC1D,QAAM,gBAAgB,MAAM;AAC5B,QAAM,YAAY,4BAA4B,YAAY,aAAa;AACvE,QAAM,QAAQ,IAAI,CAAC,kBAAU,0BAA0B,sBAAsB,WAAW;AAAA,IACtF;AAAA,IACA,SAAS;AAAA,IACT,SAAS,SAAS,MAAM,OAAO;AAAA;AAAA,EACjC,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;AACvB,UAAQ,QAAQ,iBAAiB;AACjC,MAAI,CAAC,YAAY;AACf,UAAM,gBAAgB,MAAM,wCAA6B,0BAA0B,WAAW,WAAW;AACzG,UAAM,MAAM,qBAAqB,YAAY,kBAAkB,aAAa;AAC5E,UAAM,qCAA6B,sBAAsB,KAAK,eAAe;AAAA,MAC3E,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF,CAAC;AACD,YAAQ,QAAQ,YAAY,WAAW,eAAe;AAAA,EACxD,OAAO;AACL,YAAQ,MAAM,+CAA+C;AAAA,EAC/D;AACF","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 } from \"consola\";\nimport { artifacts, ArtifactsSitesAdminV2Service, createConjureContext, createInternalClientContext, thirdPartyApplicationService } from \"#net\";\nimport archiver from \"archiver\";\nimport * as fs from \"node:fs\";\nimport { Readable } from \"node:stream\";\nimport { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { autoVersion as findAutoVersion } from \"../../../util/autoVersion.js\";\nimport { loadToken } from \"../../../util/token.js\";\nexport default async function siteDeployCommand({\n version,\n application,\n foundryUrl,\n autoVersion,\n gitTagPrefix,\n uploadOnly,\n directory,\n token,\n tokenFile\n}) {\n if (version == null && autoVersion == null) {\n throw new Error(\"Either version or autoVersion must be specified\");\n }\n const loadedToken = await loadToken(token, tokenFile);\n\n // version has a priority over autoVersion. Both could be defined at the same time when\n // autoVersion is present in the config file (it assigns that as a default value to argv.autoVersion)\n // and --version is passed as an argument\n let siteVersion;\n if (version != null) {\n siteVersion = version;\n } else {\n siteVersion = await findAutoVersion(gitTagPrefix);\n consola.info(`Auto version inferred next version to be: ${siteVersion}`);\n }\n const stat = await fs.promises.stat(directory);\n if (!stat.isDirectory()) {\n consola.error(\"Specified path is not a directory\");\n throw new ExitProcessError(2);\n }\n consola.start(\"Zippping site files\");\n const archive = archiver(\"zip\").directory(directory, false);\n const tokenProvider = () => loadedToken;\n const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);\n await Promise.all([artifacts.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {\n application,\n version: siteVersion,\n zipFile: Readable.toWeb(archive) // This cast is because the dom fetch doesnt align type wise with streams\n }), archive.finalize()]);\n consola.success(\"Upload complete\");\n if (!uploadOnly) {\n const repositoryRid = await thirdPartyApplicationService.fetchWebsiteRepositoryRid(clientCtx, application);\n const ctx = createConjureContext(foundryUrl, \"/artifacts/api\", tokenProvider);\n await ArtifactsSitesAdminV2Service.updateDeployedVersion(ctx, repositoryRid, {\n siteVersion: {\n version: siteVersion\n }\n });\n consola.success(`Deployed ${siteVersion} successfully`);\n } else {\n consola.debug(\"Upload only mode enabled, skipping deployment\");\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 { execSync } from \"node:child_process\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nimport { isValidSemver } from \"./isValidSemver.js\";\n\n/**\n * Gets the version string using git describe. If the @param tagPrefix is empty, git describe will return the\n * latest tag (without any filtering) and if the tag starts with \"v\", it will be removed.\n * @param tagPrefix The prefix to use for matching against tags. Defaults to an empty string.\n * @returns A promise that resolves to the version string.\n * @throws An error if the version string is not SemVer compliant or if the version cannot be determined.\n */\nexport async function autoVersion(tagPrefix = \"\") {\n const [matchPrefix, prefixRegex] = tagPrefix !== \"\" ? [tagPrefix, new RegExp(`^${tagPrefix}`)] : [undefined, new RegExp(`^v?`)];\n try {\n const gitVersion = execSync(`git describe --tags --first-parent --dirty${matchPrefix != null ? ` --match=\"${matchPrefix}*\"` : \"\"}`, {\n encoding: \"utf8\"\n });\n const version = gitVersion.trim().replace(prefixRegex, \"\");\n if (!isValidSemver(version)) {\n throw new ExitProcessError(2, `The version string ${version} is not SemVer compliant.`);\n }\n return version;\n } catch (error) {\n throw new ExitProcessError(2, `Unable to determine the version automatically. Please supply a --version argument. ${error}`);\n }\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/site/deploy/siteDeployCommand.mts","../../src/util/autoVersion.ts"],"names":["autoVersion"],"mappings":";;;;;;;;;;;;;;;;;AAgBA,SAAS,eAAe;AAExB,OAAO,cAAc;AACrB,YAAY,QAAQ;AACpB,SAAS,gBAAgB;;;ACJzB,SAAS,gBAAgB;AAWzB,eAAsB,YAAY,YAAY,IAAI;AAChD,QAAM,CAAC,aAAa,WAAW,IAAI,cAAc,KAAK,CAAC,WAAW,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC,IAAI,CAAC,QAAW,IAAI,OAAO,KAAK,CAAC;AAC9H,MAAI;AACF,UAAM,aAAa,SAAS,6CAA6C,eAAe,OAAO,aAAa,WAAW,OAAO,EAAE,IAAI;AAAA,MAClI,UAAU;AAAA,IACZ,CAAC;AACD,UAAM,UAAU,WAAW,KAAK,EAAE,QAAQ,aAAa,EAAE;AACzD,QAAI,CAAC,cAAc,OAAO,GAAG;AAC3B,YAAM,IAAI,iBAAiB,GAAG,sBAAsB,OAAO,2BAA2B;AAAA,IACxF;AACA,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,IAAI,iBAAiB,GAAG,sFAAsF,KAAK,EAAE;AAAA,EAC7H;AACF;;;ADjBA,eAAO,kBAAyC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAAA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,MAAI,WAAW,QAAQA,gBAAe,MAAM;AAC1C,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACnE;AACA,QAAM,cAAc,MAAM,UAAU,OAAO,SAAS;AAKpD,MAAI;AACJ,MAAI,WAAW,MAAM;AACnB,kBAAc;AAAA,EAChB,OAAO;AACL,kBAAc,MAAM,YAAgB,YAAY;AAChD,YAAQ,KAAK,6CAA6C,WAAW,EAAE;AAAA,EACzE;AACA,QAAM,OAAO,MAAS,YAAS,KAAK,SAAS;AAC7C,MAAI,CAAC,KAAK,YAAY,GAAG;AACvB,YAAQ,MAAM,mCAAmC;AACjD,UAAM,IAAI,iBAAiB,CAAC;AAAA,EAC9B;AACA,UAAQ,MAAM,qBAAqB;AACnC,QAAM,UAAU,SAAS,KAAK,EAAE,UAAU,WAAW,KAAK;AAC1D,QAAM,gBAAgB,MAAM;AAC5B,QAAM,YAAY,4BAA4B,YAAY,aAAa;AACvE,QAAM,QAAQ,IAAI,CAAC,kBAAU,0BAA0B,sBAAsB,WAAW;AAAA,IACtF;AAAA,IACA,SAAS;AAAA,IACT,SAAS,SAAS,MAAM,OAAO;AAAA;AAAA,EACjC,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;AACvB,UAAQ,QAAQ,iBAAiB;AACjC,MAAI,CAAC,YAAY;AACf,UAAM,gBAAgB,MAAM,wCAA6B,0BAA0B,WAAW,WAAW;AACzG,UAAM,MAAM,qBAAqB,YAAY,kBAAkB,aAAa;AAC5E,UAAM,qCAA6B,sBAAsB,KAAK,eAAe;AAAA,MAC3E,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF,CAAC;AACD,YAAQ,QAAQ,YAAY,WAAW,eAAe;AAAA,EACxD,OAAO;AACL,YAAQ,MAAM,+CAA+C;AAAA,EAC/D;AACF","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 } from \"consola\";\nimport { artifacts, ArtifactsSitesAdminV2Service, createConjureContext, createInternalClientContext, thirdPartyApplicationService } from \"#net\";\nimport archiver from \"archiver\";\nimport * as fs from \"node:fs\";\nimport { Readable } from \"node:stream\";\nimport { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { autoVersion as findAutoVersion } from \"../../../util/autoVersion.js\";\nimport { loadToken } from \"../../../util/token.js\";\nexport default async function siteDeployCommand({\n version,\n application,\n foundryUrl,\n autoVersion,\n gitTagPrefix,\n uploadOnly,\n directory,\n token,\n tokenFile\n}) {\n if (version == null && autoVersion == null) {\n throw new Error(\"Either version or autoVersion must be specified\");\n }\n const loadedToken = await loadToken(token, tokenFile);\n\n // version has a priority over autoVersion. Both could be defined at the same time when\n // autoVersion is present in the config file (it assigns that as a default value to argv.autoVersion)\n // and --version is passed as an argument\n let siteVersion;\n if (version != null) {\n siteVersion = version;\n } else {\n siteVersion = await findAutoVersion(gitTagPrefix);\n consola.info(`Auto version inferred next version to be: ${siteVersion}`);\n }\n const stat = await fs.promises.stat(directory);\n if (!stat.isDirectory()) {\n consola.error(\"Specified path is not a directory\");\n throw new ExitProcessError(2);\n }\n consola.start(\"Zippping site files\");\n const archive = archiver(\"zip\").directory(directory, false);\n const tokenProvider = () => loadedToken;\n const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);\n await Promise.all([artifacts.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {\n application,\n version: siteVersion,\n zipFile: Readable.toWeb(archive) // This cast is because the dom fetch doesnt align type wise with streams\n }), archive.finalize()]);\n consola.success(\"Upload complete\");\n if (!uploadOnly) {\n const repositoryRid = await thirdPartyApplicationService.fetchWebsiteRepositoryRid(clientCtx, application);\n const ctx = createConjureContext(foundryUrl, \"/artifacts/api\", tokenProvider);\n await ArtifactsSitesAdminV2Service.updateDeployedVersion(ctx, repositoryRid, {\n siteVersion: {\n version: siteVersion\n }\n });\n consola.success(`Deployed ${siteVersion} successfully`);\n } else {\n consola.debug(\"Upload only mode enabled, skipping deployment\");\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 { execSync } from \"node:child_process\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nimport { isValidSemver } from \"./isValidSemver.js\";\n\n/**\n * Gets the version string using git describe. If the @param tagPrefix is empty, git describe will return the\n * latest tag (without any filtering) and if the tag starts with \"v\", it will be removed.\n * @param tagPrefix The prefix to use for matching against tags. Defaults to an empty string.\n * @returns A promise that resolves to the version string.\n * @throws An error if the version string is not SemVer compliant or if the version cannot be determined.\n */\nexport async function autoVersion(tagPrefix = \"\") {\n const [matchPrefix, prefixRegex] = tagPrefix !== \"\" ? [tagPrefix, new RegExp(`^${tagPrefix}`)] : [undefined, new RegExp(`^v?`)];\n try {\n const gitVersion = execSync(`git describe --tags --first-parent --dirty${matchPrefix != null ? ` --match=\"${matchPrefix}*\"` : \"\"}`, {\n encoding: \"utf8\"\n });\n const version = gitVersion.trim().replace(prefixRegex, \"\");\n if (!isValidSemver(version)) {\n throw new ExitProcessError(2, `The version string ${version} is not SemVer compliant.`);\n }\n return version;\n } catch (error) {\n throw new ExitProcessError(2, `Unable to determine the version automatically. Please supply a --version argument. ${error}`);\n }\n}"]}
|
|
File without changes
|
|
File without changes
|