@osdk/cli 0.32.0-beta.2 → 0.32.0-beta.4

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.
Files changed (92) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/esm/{chunk-YOTB5E2E.js → chunk-5EG4W4EY.js} +7 -34
  3. package/build/esm/chunk-5EG4W4EY.js.map +1 -0
  4. package/build/esm/{chunk-4L3JS54F.js → chunk-FQRKVHAE.js} +2 -4
  5. package/build/esm/chunk-FQRKVHAE.js.map +1 -0
  6. package/build/esm/chunk-PZ5AY32C.js +9 -0
  7. package/build/esm/chunk-PZ5AY32C.js.map +1 -0
  8. package/build/esm/index.js +20 -226
  9. package/build/esm/index.js.map +1 -1
  10. package/build/esm/{siteDeployCommand-M5L2QJB3.js → siteDeployCommand-FGAA5AF6.js} +6 -13
  11. package/build/esm/siteDeployCommand-FGAA5AF6.js.map +1 -0
  12. package/build/esm/{versionDeleteCommand-5UDQWHW7.js → versionDeleteCommand-HQBNJZQO.js} +5 -9
  13. package/build/esm/versionDeleteCommand-HQBNJZQO.js.map +1 -0
  14. package/build/esm/{versionDeleteCommand-W4LWFTB7.js → versionDeleteCommand-POCHBGDL.js} +5 -9
  15. package/build/esm/versionDeleteCommand-POCHBGDL.js.map +1 -0
  16. package/build/esm/{versionGetCommand-LHHNHKGF.js → versionGetCommand-FVKH4K6S.js} +4 -8
  17. package/build/esm/versionGetCommand-FVKH4K6S.js.map +1 -0
  18. package/build/esm/{versionInfoCommand-U3QJ7CJR.js → versionInfoCommand-F44PTFBW.js} +4 -8
  19. package/build/esm/versionInfoCommand-F44PTFBW.js.map +1 -0
  20. package/build/esm/{versionListCommand-7EJ2J4JO.js → versionListCommand-SMJ6RCRM.js} +4 -8
  21. package/build/esm/versionListCommand-SMJ6RCRM.js.map +1 -0
  22. package/build/esm/{versionListCommand-VQ5TRLAK.js → versionListCommand-X5PFEG2U.js} +4 -8
  23. package/build/esm/versionListCommand-X5PFEG2U.js.map +1 -0
  24. package/build/esm/{versionSetCommand-LRLP7PHB.js → versionSetCommand-YGYI2W74.js} +4 -8
  25. package/build/esm/versionSetCommand-YGYI2W74.js.map +1 -0
  26. package/build/esm/{versionUnsetCommand-GYOKECVD.js → versionUnsetCommand-SUZPZFLN.js} +5 -9
  27. package/build/esm/versionUnsetCommand-SUZPZFLN.js.map +1 -0
  28. package/build/esm/{widgetSetDeployCommand-PWUXCOA7.js → widgetSetDeployCommand-42GOCEWP.js} +6 -9
  29. package/build/esm/widgetSetDeployCommand-42GOCEWP.js.map +1 -0
  30. package/package.json +8 -8
  31. package/build/esm/acorn-2YJLPGID.js +0 -4014
  32. package/build/esm/acorn-2YJLPGID.js.map +0 -1
  33. package/build/esm/angular-2UQQBORC.js +0 -3921
  34. package/build/esm/angular-2UQQBORC.js.map +0 -1
  35. package/build/esm/babel-BV4W3BOJ.js +0 -9588
  36. package/build/esm/babel-BV4W3BOJ.js.map +0 -1
  37. package/build/esm/chunk-4L3JS54F.js.map +0 -1
  38. package/build/esm/chunk-ALV6NI27.js +0 -127
  39. package/build/esm/chunk-ALV6NI27.js.map +0 -1
  40. package/build/esm/chunk-BL3NTXLM.js +0 -84
  41. package/build/esm/chunk-BL3NTXLM.js.map +0 -1
  42. package/build/esm/chunk-CINFOKVJ.js +0 -43
  43. package/build/esm/chunk-CINFOKVJ.js.map +0 -1
  44. package/build/esm/chunk-CKZAZPXC.js +0 -28
  45. package/build/esm/chunk-CKZAZPXC.js.map +0 -1
  46. package/build/esm/chunk-CMWYDM5Q.js +0 -332
  47. package/build/esm/chunk-CMWYDM5Q.js.map +0 -1
  48. package/build/esm/chunk-W7U4ETYH.js +0 -239
  49. package/build/esm/chunk-W7U4ETYH.js.map +0 -1
  50. package/build/esm/chunk-XF44FMSL.js +0 -221
  51. package/build/esm/chunk-XF44FMSL.js.map +0 -1
  52. package/build/esm/chunk-YOTB5E2E.js.map +0 -1
  53. package/build/esm/estree-PTS7QPRO.js +0 -6145
  54. package/build/esm/estree-PTS7QPRO.js.map +0 -1
  55. package/build/esm/find-up-GVGEKQPQ.js +0 -4
  56. package/build/esm/find-up-GVGEKQPQ.js.map +0 -1
  57. package/build/esm/flow-Y46VD55R.js +0 -27169
  58. package/build/esm/flow-Y46VD55R.js.map +0 -1
  59. package/build/esm/glimmer-SE4IEQF6.js +0 -6974
  60. package/build/esm/glimmer-SE4IEQF6.js.map +0 -1
  61. package/build/esm/graphql-QF7PMC3R.js +0 -1720
  62. package/build/esm/graphql-QF7PMC3R.js.map +0 -1
  63. package/build/esm/handleGenerate-JM5HIHXW.js +0 -19283
  64. package/build/esm/handleGenerate-JM5HIHXW.js.map +0 -1
  65. package/build/esm/html-EQKLXLBJ.js +0 -5810
  66. package/build/esm/html-EQKLXLBJ.js.map +0 -1
  67. package/build/esm/loginFlow-GP5ZJP3D.js +0 -4
  68. package/build/esm/loginFlow-GP5ZJP3D.js.map +0 -1
  69. package/build/esm/markdown-FZBHQ3B4.js +0 -6697
  70. package/build/esm/markdown-FZBHQ3B4.js.map +0 -1
  71. package/build/esm/meriyah-Q2DK6BAD.js +0 -4343
  72. package/build/esm/meriyah-Q2DK6BAD.js.map +0 -1
  73. package/build/esm/postcss-SR3FYBVU.js +0 -6281
  74. package/build/esm/postcss-SR3FYBVU.js.map +0 -1
  75. package/build/esm/siteDeployCommand-M5L2QJB3.js.map +0 -1
  76. package/build/esm/typescript-DEUJRDXE.js +0 -13078
  77. package/build/esm/typescript-DEUJRDXE.js.map +0 -1
  78. package/build/esm/versionDeleteCommand-5UDQWHW7.js.map +0 -1
  79. package/build/esm/versionDeleteCommand-W4LWFTB7.js.map +0 -1
  80. package/build/esm/versionGetCommand-LHHNHKGF.js.map +0 -1
  81. package/build/esm/versionInfoCommand-U3QJ7CJR.js.map +0 -1
  82. package/build/esm/versionListCommand-7EJ2J4JO.js.map +0 -1
  83. package/build/esm/versionListCommand-VQ5TRLAK.js.map +0 -1
  84. package/build/esm/versionSetCommand-LRLP7PHB.js.map +0 -1
  85. package/build/esm/versionUnsetCommand-GYOKECVD.js.map +0 -1
  86. package/build/esm/widgetSetDeployCommand-PWUXCOA7.js.map +0 -1
  87. package/build/esm/yaml-KQJSRZTS.js +0 -5822
  88. package/build/esm/yaml-KQJSRZTS.js.map +0 -1
  89. package/build/types/util/maybeUpdateJemmaCustomMetadata.test.d.ts +0 -1
  90. package/build/types/util/maybeUpdateJemmaCustomMetadata.test.d.ts.map +0 -1
  91. package/build/types/util/token.test.d.ts +0 -1
  92. package/build/types/util/token.test.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/commands/site/deploy/siteDeployCommand.mts","../../src/util/maybeUpdateJemmaCustomMetadata.ts"],"names":["consola","fs2"],"mappings":"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","file":"siteDeployCommand-M5L2QJB3.js","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"consola\";\nimport { createInternalClientContext, thirdPartyApplications } from \"#net\";\nimport { ExitProcessError } from \"@osdk/cli.common\";\nimport { autoVersion, AutoVersionError } from \"@osdk/foundry-config-json\";\nimport archiver from \"archiver\";\nimport { colorize } from \"consola/utils\";\nimport * as fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport prettyBytes from \"pretty-bytes\";\nimport { maybeUpdateJemmaCustomMetadata } from \"../../../util/maybeUpdateJemmaCustomMetadata.js\";\nimport { loadToken } from \"../../../util/token.js\";\nexport default async function siteDeployCommand({\n selectedVersion,\n application,\n foundryUrl,\n uploadOnly,\n snapshot,\n snapshotId,\n directory,\n token,\n tokenFile\n}) {\n const loadedToken = await loadToken(token, tokenFile);\n const tokenProvider = () => loadedToken;\n const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);\n let siteVersion;\n if (typeof selectedVersion === \"string\") {\n siteVersion = selectedVersion;\n } else {\n siteVersion = await findAutoVersion(selectedVersion);\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 if (snapshot) {\n await uploadSnapshot(clientCtx, application, siteVersion, snapshotId ?? \"\", archive);\n consola.info(\"Snapshot mode enabled, skipping deployment\");\n return;\n }\n await upload(clientCtx, application, siteVersion, archive);\n let siteLink;\n if (!uploadOnly) {\n const website = await thirdPartyApplications.deployWebsite(clientCtx, application, {\n version: siteVersion\n });\n consola.success(`Deployed ${siteVersion} successfully`);\n const domain = website.subdomains[0];\n if (domain != null) {\n siteLink = `https://${domain}`;\n logSiteLink(\"View live site:\", siteLink);\n }\n } else {\n const website = await thirdPartyApplications.getWebsite(clientCtx, application);\n const domain = website?.subdomains[0];\n consola.info(\"Upload only mode enabled, skipping deployment\");\n if (domain != null) {\n siteLink = `https://${domain}/.system/preview?previewVersion=${siteVersion}`;\n logSiteLink(\"Preview link:\", siteLink);\n }\n }\n\n // Write the site link and version to the custom metadata file when the site link is present\n if (siteLink != null) {\n maybeUpdateJemmaCustomMetadata({\n siteLink,\n siteVersion\n });\n }\n}\nasync function findAutoVersion(config) {\n try {\n return await autoVersion(config);\n } catch (e) {\n throw new ExitProcessError(2, e instanceof Error ? e.message : undefined, e instanceof AutoVersionError ? e.tip : undefined);\n }\n}\nasync function uploadSnapshot(clientCtx, application, siteVersion, snapshotId, archive) {\n consola.start(\"Uploading snapshot site files\");\n await Promise.all([thirdPartyApplications.uploadSnapshotVersion(clientCtx, application, siteVersion, snapshotId, Readable.toWeb(archive) // This cast is because the dom fetch doesn't align type wise with streams\n ), archive.finalize()]);\n consola.success(\"Snapshot upload complete\");\n}\nasync function upload(clientCtx, application, siteVersion, archive) {\n consola.start(\"Uploading site files\");\n await Promise.all([thirdPartyApplications.uploadVersion(clientCtx, application, siteVersion, Readable.toWeb(archive) // This cast is because the dom fetch doesn't align type wise with streams\n ), archive.finalize()]);\n consola.success(\"Upload complete\");\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.info(`Zipped ${prettyBytes(archiveStats.bytes, {\n binary: true\n })} total over ${archiveStats.fileCount} files`);\n });\n}\nfunction logSiteLink(title, link) {\n consola.box({\n message: `${title}\\n\\n${colorize(\"green\", link)}`,\n style: {\n padding: 2,\n borderColor: \"green\",\n borderStyle: \"rounded\"\n }\n });\n}","/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"consola\";\nimport * as fs from \"node:fs\";\n\n// Environment variable names\nconst JEMMA_JOB_CUSTOM_METADATA_PATH = \"JEMMA_JOB_CUSTOM_METADATA_PATH\";\n\n/**\n * Writes the site link to the custom metadata file (if the path is provided by the JEMMA_JOB_CUSTOM_METADATA_PATH environment variable).\n *\n * The custom metadata file will be updated with the following format:\n *\n * {\n * \"siteLink\": \"https://example.com\",\n * \"siteVersion\": \"1.0.0\"\n * }\n *\n * @param siteLink The site link to write to the custom metadata file.\n * @param siteVersion The site version to write to the custom metadata file.\n */\nexport function maybeUpdateJemmaCustomMetadata({\n siteLink,\n siteVersion\n}) {\n const jemmaCustomMetadataFilePath = getJemmaCustomMetadataFilePath();\n if (jemmaCustomMetadataFilePath == null) {\n return;\n }\n try {\n // Read or create the custom metadata file\n const customMetadata = getOrCreateCustomMetadata(jemmaCustomMetadataFilePath);\n\n // Set the site link in the custom metadata\n customMetadata.siteLink = siteLink;\n customMetadata.siteVersion = siteVersion;\n\n // Write the custom metadata to the file\n writeCustomMetadata(jemmaCustomMetadataFilePath, customMetadata);\n } catch (err) {\n consola.error(`Failed to update custom metadata file at ${jemmaCustomMetadataFilePath}`);\n }\n}\nfunction getJemmaCustomMetadataFilePath() {\n return process.env[JEMMA_JOB_CUSTOM_METADATA_PATH];\n}\nfunction getOrCreateCustomMetadata(jemmaCustomMetadataFilePath) {\n try {\n const parsedValue = JSON.parse(fs.readFileSync(jemmaCustomMetadataFilePath, \"utf-8\"));\n return typeof parsedValue === \"object\" && parsedValue != null ? parsedValue : {};\n } catch (e) {\n return {};\n }\n}\nfunction writeCustomMetadata(jemmaCustomMetadataFilePath, customMetadata) {\n fs.writeFileSync(jemmaCustomMetadataFilePath, JSON.stringify(customMetadata, null, 2));\n}"]}