contensis-cli 1.1.2-beta.1 → 1.1.2-beta.2

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.
@@ -115,7 +115,7 @@ class RequestHandlerFactory {
115
115
  };
116
116
  }
117
117
  async CheckUpdate({ verbose = false } = {}) {
118
- const { debug, log, manifest, messages, moduleInfo } = this;
118
+ const { cmd, debug, log, manifest, messages, moduleInfo } = this;
119
119
  const github = new import_GitHubCliModuleProvider.default(moduleInfo.github);
120
120
  const release = await github.FindLatestRelease();
121
121
  if (verbose || debug)
@@ -145,6 +145,7 @@ ${release.html_url}`
145
145
  }
146
146
  try {
147
147
  await github.DownloadRelease(release, {
148
+ cmd,
148
149
  path: downloadPath,
149
150
  platforms: [
150
151
  ["win32", "win-x64"],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/factories/RequestHandlerFactory.ts"],
4
- "sourcesContent": ["import { spawn } from 'child_process';\nimport inquirer from 'inquirer';\nimport { createSpinner } from 'nanospinner';\nimport path from 'path';\nimport { LogMessages } from '~/localisation/en-GB';\nimport GitHubCliModuleProvider from '~/providers/GitHubCliModuleProvider';\n\nimport ManifestProvider from '~/providers/ManifestProvider';\nimport { appRootDir, joinPath } from '~/providers/file-provider';\nimport { isDebug } from '~/util/debug';\nimport { Logger } from '~/util/logger';\n\nexport class RequestHandlerFactory {\n debug = isDebug();\n log = Logger;\n messages = LogMessages;\n manifest = new ManifestProvider(); // Load cli-manifest.json\n\n basePath = path.join(appRootDir);\n name = 'request-handler-localdevelopment';\n cmd = 'Zengenti.Contensis.RequestHandler.LocalDevelopment';\n\n prerelease;\n\n get exePath() {\n return path.join(this.basePath, `${this.name}-${this.moduleInfo.version}`);\n }\n\n get moduleInfo() {\n return (\n this.manifest.getModule(this.name) || {\n github: 'contensis/request-handler-localdevelopment',\n version: '*',\n }\n );\n }\n\n constructor(prerelease = false) {\n this.prerelease = prerelease;\n }\n\n // Use the factory to create a request handler instance\n // handling the download and updating of the external binary\n async Create() {\n const { moduleInfo } = this;\n const firstUse = !moduleInfo?.version || moduleInfo?.version === '*';\n\n if (firstUse) {\n // Create cli-manifest.json\n this.manifest.writeModule(this.name, this.moduleInfo);\n\n // Download for first time use (await)\n await this.CheckUpdate({ verbose: true });\n }\n\n // Apply any downloaded/pending update so we launch that version\n await this.ApplyUpdate();\n\n // Fire an async update check and continue working in the background (do not await)\n if (!firstUse) this.CheckUpdate();\n\n // Return a RequestHandler ready to invoke\n return this.CreateInvoke(this);\n }\n\n CreateInvoke(self = this) {\n // Hoist the vars we need from `this` as we lose scope\n // when the function is returned from the Create() method\n const { debug, log, messages, cmd, exePath } = self;\n\n // Invoke request handler method\n return async (args: string[]) => {\n const child = spawn(joinPath(exePath, cmd), args, { stdio: 'inherit' });\n\n if (args?.length && debug)\n log.warning(\n `Spawning process with supplied args: ${JSON.stringify(\n child.spawnargs,\n null,\n 2\n )}`\n );\n\n let isRunning = false;\n\n // Log child output through event listeners\n child?.stdout?.on('data', data => {\n isRunning = true;\n log.raw(data);\n });\n\n child?.stderr?.on('data', data => {\n log.error(data);\n });\n\n child.on('spawn', () => {\n isRunning = true;\n log.help(messages.devrequests.spawn());\n });\n\n child.on('exit', code => {\n isRunning = false;\n\n log[code === 0 ? 'success' : 'warning'](\n messages.devrequests.exited(code)\n );\n });\n\n child.on('error', error => {\n isRunning = false;\n log.error(messages.devrequests.errored(error));\n });\n\n await new Promise(resolve => setTimeout(resolve, 2000));\n\n // keep the method running until we can return\n while (true === true) {\n if (!isRunning) return;\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n };\n }\n\n async CheckUpdate({ verbose = false }: { verbose?: boolean } = {}) {\n const { debug, log, manifest, messages, moduleInfo } = this;\n const github = new GitHubCliModuleProvider(moduleInfo.github);\n // Find latest version\n const release = await github.FindLatestRelease();\n if (verbose || debug)\n if (release)\n log.info(\n `${messages.devrequests.install.download(\n moduleInfo.github,\n release.tag_name\n )}\\n${release.html_url}`\n );\n else\n log.warning(messages.devrequests.install.notFound(moduleInfo.github));\n\n // Should we download an update?\n if (\n release?.tag_name &&\n ![moduleInfo.version, moduleInfo.install].includes(release.tag_name)\n ) {\n // Download platform-specific release asset\n const downloadPath = path.join(\n this.basePath,\n `${this.name}-${release.tag_name}`\n );\n\n // add spinner while downloading\n const spinner = createSpinner(\n messages.devrequests.install.downloading(\n moduleInfo.github,\n release.tag_name\n )\n );\n if (verbose || debug) {\n spinner.start();\n }\n try {\n await github.DownloadRelease(release, {\n path: downloadPath,\n // Map NodeJS os platform to release asset name\n platforms: [\n ['win32', 'win-x64'],\n ['darwin', 'osx-x64'],\n ['linux', 'linux-x64'],\n ],\n });\n } catch (ex: any) {\n spinner.error();\n log.error(\n messages.devrequests.install.downloadFail(\n moduleInfo.github,\n release.tag_name\n ),\n ex\n );\n } finally {\n if (verbose || debug)\n spinner.success({\n text: messages.devrequests.install.downloaded(\n moduleInfo.github,\n release.tag_name\n ),\n });\n\n // Update module info with downloaded release\n this.moduleInfo.install = release.tag_name;\n // Write module info update to manifest so it installs on next invoke\n manifest.writeModule(this.name, this.moduleInfo);\n }\n }\n }\n\n async ApplyUpdate() {\n const { manifest, messages, moduleInfo } = this;\n\n if (moduleInfo.install && moduleInfo.version !== moduleInfo.install) {\n let { apply } =\n moduleInfo.version === '*'\n ? { apply: true }\n : await inquirer.prompt({\n name: 'apply',\n type: 'confirm',\n message: messages.devrequests.install.applyUpdate(\n moduleInfo.install,\n moduleInfo.version\n ),\n default: 'Y',\n });\n\n if (apply) {\n moduleInfo.version = moduleInfo.install;\n delete moduleInfo.install;\n manifest.writeModule(this.name, this.moduleInfo);\n\n // TODO: clean up user folder by deleting old version(s)}\n }\n }\n }\n}\n\nexport const createRequestHandler = () => new RequestHandlerFactory().Create();\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { spawn } from 'child_process';\nimport inquirer from 'inquirer';\nimport { createSpinner } from 'nanospinner';\nimport path from 'path';\nimport { LogMessages } from '~/localisation/en-GB';\nimport GitHubCliModuleProvider from '~/providers/GitHubCliModuleProvider';\n\nimport ManifestProvider from '~/providers/ManifestProvider';\nimport { appRootDir, joinPath } from '~/providers/file-provider';\nimport { isDebug } from '~/util/debug';\nimport { Logger } from '~/util/logger';\n\nexport class RequestHandlerFactory {\n debug = isDebug();\n log = Logger;\n messages = LogMessages;\n manifest = new ManifestProvider(); // Load cli-manifest.json\n\n basePath = path.join(appRootDir);\n name = 'request-handler-localdevelopment';\n cmd = 'Zengenti.Contensis.RequestHandler.LocalDevelopment';\n\n prerelease;\n\n get exePath() {\n return path.join(this.basePath, `${this.name}-${this.moduleInfo.version}`);\n }\n\n get moduleInfo() {\n return (\n this.manifest.getModule(this.name) || {\n github: 'contensis/request-handler-localdevelopment',\n version: '*',\n }\n );\n }\n\n constructor(prerelease = false) {\n this.prerelease = prerelease;\n }\n\n // Use the factory to create a request handler instance\n // handling the download and updating of the external binary\n async Create() {\n const { moduleInfo } = this;\n const firstUse = !moduleInfo?.version || moduleInfo?.version === '*';\n\n if (firstUse) {\n // Create cli-manifest.json\n this.manifest.writeModule(this.name, this.moduleInfo);\n\n // Download for first time use (await)\n await this.CheckUpdate({ verbose: true });\n }\n\n // Apply any downloaded/pending update so we launch that version\n await this.ApplyUpdate();\n\n // Fire an async update check and continue working in the background (do not await)\n if (!firstUse) this.CheckUpdate();\n\n // Return a RequestHandler ready to invoke\n return this.CreateInvoke(this);\n }\n\n CreateInvoke(self = this) {\n // Hoist the vars we need from `this` as we lose scope\n // when the function is returned from the Create() method\n const { debug, log, messages, cmd, exePath } = self;\n\n // Invoke request handler method\n return async (args: string[]) => {\n const child = spawn(joinPath(exePath, cmd), args, { stdio: 'inherit' });\n\n if (args?.length && debug)\n log.warning(\n `Spawning process with supplied args: ${JSON.stringify(\n child.spawnargs,\n null,\n 2\n )}`\n );\n\n let isRunning = false;\n\n // Log child output through event listeners\n child?.stdout?.on('data', data => {\n isRunning = true;\n log.raw(data);\n });\n\n child?.stderr?.on('data', data => {\n log.error(data);\n });\n\n child.on('spawn', () => {\n isRunning = true;\n log.help(messages.devrequests.spawn());\n });\n\n child.on('exit', code => {\n isRunning = false;\n\n log[code === 0 ? 'success' : 'warning'](\n messages.devrequests.exited(code)\n );\n });\n\n child.on('error', error => {\n isRunning = false;\n log.error(messages.devrequests.errored(error));\n });\n\n await new Promise(resolve => setTimeout(resolve, 2000));\n\n // keep the method running until we can return\n while (true === true) {\n if (!isRunning) return;\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n };\n }\n\n async CheckUpdate({ verbose = false }: { verbose?: boolean } = {}) {\n const { cmd, debug, log, manifest, messages, moduleInfo } = this;\n\n const github = new GitHubCliModuleProvider(moduleInfo.github);\n\n // Find latest version\n const release = await github.FindLatestRelease();\n\n if (verbose || debug)\n if (release)\n log.info(\n `${messages.devrequests.install.download(\n moduleInfo.github,\n release.tag_name\n )}\\n${release.html_url}`\n );\n else\n log.warning(messages.devrequests.install.notFound(moduleInfo.github));\n\n // Should we download an update?\n if (\n release?.tag_name &&\n ![moduleInfo.version, moduleInfo.install].includes(release.tag_name)\n ) {\n // Download platform-specific release asset\n const downloadPath = path.join(\n this.basePath,\n `${this.name}-${release.tag_name}`\n );\n\n // add spinner while downloading\n const spinner = createSpinner(\n messages.devrequests.install.downloading(\n moduleInfo.github,\n release.tag_name\n )\n );\n if (verbose || debug) {\n spinner.start();\n }\n try {\n await github.DownloadRelease(release, {\n cmd,\n path: downloadPath,\n // Map NodeJS os platform to release asset name\n platforms: [\n ['win32', 'win-x64'],\n ['darwin', 'osx-x64'],\n ['linux', 'linux-x64'],\n ],\n });\n } catch (ex: any) {\n spinner.error();\n log.error(\n messages.devrequests.install.downloadFail(\n moduleInfo.github,\n release.tag_name\n ),\n ex\n );\n } finally {\n if (verbose || debug)\n spinner.success({\n text: messages.devrequests.install.downloaded(\n moduleInfo.github,\n release.tag_name\n ),\n });\n\n // Update module info with downloaded release\n this.moduleInfo.install = release.tag_name;\n // Write module info update to manifest so it installs on next invoke\n manifest.writeModule(this.name, this.moduleInfo);\n }\n }\n }\n\n async ApplyUpdate() {\n const { manifest, messages, moduleInfo } = this;\n\n if (moduleInfo.install && moduleInfo.version !== moduleInfo.install) {\n let { apply } =\n moduleInfo.version === '*'\n ? { apply: true }\n : await inquirer.prompt({\n name: 'apply',\n type: 'confirm',\n message: messages.devrequests.install.applyUpdate(\n moduleInfo.install,\n moduleInfo.version\n ),\n default: 'Y',\n });\n\n if (apply) {\n moduleInfo.version = moduleInfo.install;\n delete moduleInfo.install;\n manifest.writeModule(this.name, this.moduleInfo);\n\n // TODO: clean up user folder by deleting old version(s)}\n }\n }\n }\n}\n\nexport const createRequestHandler = () => new RequestHandlerFactory().Create();\n"],
5
+ "mappings": "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",
6
6
  "names": ["ManifestProvider", "path", "GitHubCliModuleProvider", "inquirer"]
7
7
  }
@@ -464,7 +464,7 @@ ${git.type === "github" ? `Add a "New repository secret"` : `Expand "Variables"
464
464
  devrequests: {
465
465
  install: {
466
466
  notFound: (repo) => `Could not find a release in ${repo} repo - please check github`,
467
- download: (repo, version) => `Found release ${repo} ${version}`,
467
+ download: (repo, version) => `Found release ${version}`,
468
468
  downloading: (repo, version) => `Downloading ${repo} ${version}`,
469
469
  downloadFail: (repo, version) => `Problem downloading release ${version} from ${repo}`,
470
470
  downloaded: (repo, version) => `Downloaded ${repo} ${version}`,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/localisation/en-GB.ts"],
4
- "sourcesContent": ["import {\n BlockActionType,\n BlockRunningStatus,\n MigrateModelsResult,\n MigrateStatus,\n} from 'migratortron';\nimport { GitHelper } from '~/util/git';\nimport { Logger } from '~/util/logger';\nimport { winSlash } from '~/util/os';\n\nexport const LogMessages = {\n app: {\n contensis: () => 'Contensis',\n quit: () => `Goodbye \uD83D\uDC4B\\n`,\n startup: (version: string) =>\n `v${version} \u00A9 2001-${new Date().getFullYear()} Zengenti \uD83C\uDDEC\uD83C\uDDE7. \\n - Creators of Contensis and purveyors of other fine software\\n\\n\uD83D\uDC4B Welcome to the contensis-cli\\n`,\n help: () =>\n 'Press [CTRL]+[C] or type \"quit\" to return to your system shell\\nPress [TAB] for suggestions\\n',\n suggestions: () =>\n `\\n${Logger.errorText('>>')} Press [TAB] for suggestions\\n`,\n autocomplete: () => `\\n${Logger.errorText('>>')} Available commands:`,\n unknownError: () => `Something went wrong...`,\n fileOutput: (format = 'json', path?: string) =>\n `Output ${format} file: ${Logger.infoText(path)}\\n`,\n noFileOutput: () => `No output written\\n`,\n },\n command: {\n notKnown: (command: string) => `${command} is not known`,\n },\n envs: {\n found: (num: number) =>\n `environments store found containing ${num} environment${\n num === 1 ? '' : 's'\n }`,\n tip: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n connect: {\n command: {\n name: () => 'connect',\n example: () => `Example call:\\n > connect example-dev`,\n },\n args: {\n alias: {\n name: () => '<alias>',\n description: () => 'the Contensis Cloud alias to connect with',\n },\n },\n noEnv: () => `Cannot connect - no environment alias specified`,\n unreachable: (url: string, status: number) =>\n `Cannot reach ${url}${status ? ` - status ${status}` : ''}`,\n connected: (env: string) => `Current environment set to \"${env}\"`,\n help: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n projects: () => `Available projects:`,\n noProjects: () => `Cannot retrieve projects list`,\n tip: () =>\n `Introduce yourself with \"login {username}\" or \"login {clientId} -s {secret}\" or by passing credentials as options with your command`,\n },\n login: {\n command: {\n name: () => 'login',\n usage: () => `<user/clientId> [password] [-s <sharedSecret>]`,\n example: () =>\n `Example call:\\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}`,\n },\n args: {\n user: {\n name: () => '<user/clientId>',\n description: () => 'the username to login with',\n },\n password: {\n name: () => '[password]',\n description: () =>\n 'the password to use to login with (optional/insecure)',\n },\n secret: {\n name: () => '-s --sharedSecret <sharedSecret>',\n description: () =>\n 'the shared secret to use when logging in with a client id',\n },\n },\n passwordPrompt: (env?: string, userId?: string) =>\n userId\n ? `Enter password for ${userId}@${env}:`\n : `Please enter a password`,\n failed: (env: string, userId: string) =>\n `Unable to login to ${env} as ${userId}`,\n success: (env: string, userId: string) =>\n `User ${userId} connected to ${env} successfully\\n`,\n insecurePassword: () =>\n `Could not connect to local keystore - your password could be stored unencrypted!`,\n noEnv: () => `No environment set, use \"contensis connect {alias}\" first`,\n noUserId: () => `No user id specified`,\n },\n projects: {\n list: () => `Available projects:`,\n noList: () => `Cannot retrieve projects list`,\n set: (projectId: string) =>\n `Current project is set to ${Logger.highlightText(projectId)}`,\n failedSet: (projectId: string) =>\n `Project ${Logger.highlightText(projectId)} not found`,\n tip: () =>\n `You need to set your current working project with \"set project {projectId}\"`,\n created: (env: string, id: string) =>\n `[${env}] Created project ${Logger.highlightText(id)}`,\n failedCreate: (env: string, id: string) =>\n `[${env}] Unable to create project ${Logger.highlightText(id)}`,\n updated: (env: string, id: string) =>\n `[${env}] Updated project ${Logger.highlightText(id)}`,\n failedUpdate: (env: string, id: string) =>\n `[${env}] Unable to update project ${Logger.highlightText(id)}`,\n },\n migrate: {\n models: {\n result: (\n status: keyof MigrateModelsResult['project']['contentTypes']\n ) => {\n switch (status) {\n case 'created':\n case 'updated':\n return Logger.successText;\n case 'errors':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n },\n status: (status: MigrateStatus) => {\n switch (status) {\n case 'no change':\n return Logger.successText;\n case 'create':\n case 'two-pass':\n case 'update':\n case 'delete':\n return Logger.warningText;\n case 'error':\n case 'not found':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n },\n models: {\n list: (projectId: string) =>\n `Content models in ${Logger.highlightText(projectId)}:`,\n noList: (projectId: string) =>\n `[${projectId}] Cannot retrieve content models`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Content models ${Logger.infoText(`[ ${id} ]`)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get content models ${Logger.highlightText(id)}`,\n },\n nodes: {\n imported: (env: string, commit: boolean, count: number) =>\n `[${env}] ${commit ? `Imported` : `Will import`} ${count} nodes`,\n failedImport: (env: string) => `[${env}] Unable to import nodes`,\n removed: (env: string, commit: boolean, root: string) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} nodes at ${root}`,\n failedRemove: (env: string) => `[${env}] Unable to delete nodes`,\n notFound: (env: string) => `[${env}] Nodes were not found `,\n commitTip: () => `Add --commit flag to commit the previewed changes`,\n failedGet: (projectId: string) =>\n `[${projectId}] Cannot retrieve nodes from Site view`,\n get: (projectId: string, root: string, depth: number) =>\n `[${projectId}] Site view nodes at: ${Logger.highlightText(root)}${\n depth ? ` to a depth of ${depth}` : ``\n }\\n`,\n noChange: (env: string) => `[${env}] No changes to be made`,\n },\n contenttypes: {\n list: (projectId: string) =>\n `Content types in ${Logger.highlightText(projectId)}:`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Content type ${Logger.highlightText(id)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get content type ${Logger.highlightText(id)}`,\n created: (projectId: string, id: string, status?: string) =>\n `[${projectId}] Content type ${status}d ${Logger.highlightText(id)}`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${\n commit ? `Deleted` : `Will delete`\n } content type ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete content type ${Logger.highlightText(id)}`,\n },\n components: {\n list: (projectId: string) =>\n `Components in ${Logger.highlightText(projectId)}:`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Component ${Logger.highlightText(id)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get component ${Logger.highlightText(id)}`,\n created: (projectId: string, id: string, status?: string) =>\n `[${projectId}] Component ${status}d ${Logger.highlightText(id)}`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${\n commit ? `Deleted` : `Will delete`\n } component ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete component ${Logger.highlightText(id)}`,\n },\n version: {\n set: (env: string, versionStatus: string) =>\n `[${env}] Content version status set to \"${versionStatus}\"`,\n invalid: (versionStatus: string) =>\n `Content version status \"${versionStatus}\" is not valid, allowed values are \"published\" or \"latest\".`,\n noEnv: () =>\n `No Contensis environment set, connect to your Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n entries: {\n imported: (env: string, commit: boolean, count: number) =>\n `[${env}] ${commit ? `Imported` : `Will import`} ${count} entries`,\n failedImport: (env: string) => `[${env}] Unable to import entries`,\n removed: (env: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} entries`,\n failedRemove: (env: string) => `[${env}] Unable to delete entries`,\n notFound: (env: string) => `[${env}] Entries were not found`,\n commitTip: () => `Add --commit flag to commit the previewed changes`,\n },\n keys: {\n list: (env: string) => `[${env}] API keys:`,\n noList: (env: string) => `[${env}] Cannot retrieve API keys`,\n created: (env: string, name: string) =>\n `[${env}] Created API key ${Logger.highlightText(name)}`,\n tip: () =>\n `Assign your new key to a role with \"set role assignments\", or create a new role with \"create role\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create API key ${Logger.highlightText(name)}`,\n failedUpdate: (env: string, name: string) =>\n `[${env}] Unable to update API key ${Logger.highlightText(name)}`,\n removed: (env: string, id: string) =>\n `[${env}] Deleted API key ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete API key ${Logger.highlightText(id)}`,\n },\n proxies: {\n list: (env: string, projectId: string | undefined) =>\n `[${env}] Retrieved proxies in project ${projectId}:`,\n noList: (env: string, projectId: string | undefined) =>\n `[${env}] Cannot retrieve proxies in project ${projectId}`,\n // noneExist: () => `Create a role with \"create renderer\"`,\n failedGet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to find proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n created: (env: string, name: string, projectId: string) =>\n `[${env}] Created proxy ${Logger.highlightText(\n name\n )} in project ${projectId}\\n`,\n failedCreate: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to create proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n setPayload: () => `Updating proxy with details\\n`,\n set: () => `Succesfully updated proxy\\n`,\n failedSet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to update proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n removed: (env: string, id: string, projectId: string) =>\n `[${env}] Deleted proxy ${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n failedRemove: (env: string, id: string, projectId: string) =>\n `[${env}] Unable to delete proxy ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n },\n renderers: {\n list: (env: string, projectId: string | undefined) =>\n `[${env}] Retrieved renderers in project ${projectId}:`,\n noList: (env: string, projectId: string | undefined) =>\n `[${env}] Cannot retrieve renderers in project ${projectId}`,\n // noneExist: () => `Create a role with \"create renderer\"`,\n failedGet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to find renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n created: (env: string, name: string, projectId: string) =>\n `[${env}] Created renderer ${Logger.highlightText(\n name\n )} in project ${projectId}\\n`,\n failedCreate: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to create renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n setPayload: () => `Updating renderer with details\\n`,\n set: () => `Succesfully updated renderer\\n`,\n failedSet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to update renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n removed: (env: string, id: string, projectId: string) =>\n `[${env}] Deleted renderer ${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n failedRemove: (env: string, id: string, projectId: string) =>\n `[${env}] Unable to delete renderer ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n },\n roles: {\n list: (env: string) => `[${env}] Retrieved roles`,\n noList: (env: string) => `[${env}] Cannot retrieve roles`,\n noneExist: () => `Create a role with \"create role\"`,\n failedGet: (env: string, name: string) =>\n `[${env}] Unable to find role ${Logger.highlightText(name)}`,\n created: (env: string, name: string) =>\n `[${env}] Created role ${Logger.highlightText(name)}\\n`,\n tip: () =>\n `Give access to your role with \"set role assignments\", allow your role to do things with \"set role permissions\"`,\n failedCreate: (env: string, name?: string) =>\n `[${env}] Unable to create role ${Logger.highlightText(name)}`,\n setPayload: () => `Updating role with details\\n`,\n set: () => `Succesfully updated role\\n`,\n failedSet: (env: string, name?: string) =>\n `[${env}] Unable to update role ${Logger.highlightText(name)}`,\n removed: (env: string, id: string) =>\n `[${env}] Deleted role ${Logger.highlightText(id)}\\n`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete role ${Logger.highlightText(id)}`,\n },\n blocks: {\n runningStatus: (status: BlockRunningStatus | 'broken') => {\n switch (status) {\n case 'available':\n return Logger.successText(status);\n case 'pending':\n case 'starting':\n case 'stopped':\n return Logger.warningText(status);\n case 'degraded':\n case 'faulted':\n case 'broken':\n return Logger.errorText(status);\n default:\n return Logger.infoText(status);\n }\n },\n get: (\n id: string,\n branch: string,\n version: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] ${\n version && version !== 'latest'\n ? `Found v${version}`\n : 'Latest block versions'\n } for ${Logger.infoText(`${branch}/`)}${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n noGet: (\n id: string,\n branch: string,\n version: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Did not find ${\n version ? `v${version}` : 'any block versions'\n } for ${Logger.highlightText(id)} in branch ${Logger.infoText(\n branch\n )} in ${Logger.infoText(projectId)} project`,\n noGetTip: () =>\n `Check the available blocks and branches in this project by running \"list blocks\"`,\n list: (env: string, projectId?: string) =>\n `[${env}] Blocks in project ${projectId}\\n`,\n noList: (env: string, projectId?: string) =>\n `[${env}] Cannot retrieve blocks in project ${projectId}`,\n getLogs: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Requesting logs from block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n failedGetLogs: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to fetch block logs for ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n tryPush: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Request to push block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n pushed: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Pushed block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n failedPush: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to push block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n failedParsingVersion: () =>\n `Did not find a \"version.versionNo\" in response`,\n actionComplete: (\n action: BlockActionType,\n id: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Action ${Logger.highlightText(\n action\n )} on ${Logger.highlightText(\n id\n )} in project ${projectId} requested successfully`,\n actionFailed: (\n action: BlockActionType,\n id: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Problem executing ${action} on block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n deleted: (id: string, env: string, projectId?: string) =>\n `[${env}] Deleted block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n failedDelete: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to delete block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n stopFollow: (id: string, env: string, projectId?: string) =>\n `[${env}]\\n\\n \uD83D\uDC4C stop fetching new ${Logger.highlightText(\n id\n )} logs in project ${projectId}`,\n timeoutFollow: (id: string, env: string, projectId?: string) =>\n `[${env}]\\n\\n \uD83E\uDD0F pausing fetching new ${Logger.highlightText(\n id\n )} logs in project ${projectId} due to too many requests`,\n },\n webhooks: {\n list: (env: string) => `[${env}] Webhook subscriptions:`,\n noList: (env: string) => `[${env}] Cannot retrieve webhook subscriptions`,\n noneExist: () => `No webhook subscriptions exist`,\n created: (env: string, name: string) =>\n `[${env}] Created Webhook subscription ${Logger.highlightText(name)}`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create Webhook subscription ${Logger.highlightText(\n name\n )}`,\n deleted: (env: string, id: string) =>\n `[${env}] Deleted Webhook subscription ${Logger.highlightText(id)}`,\n failedDelete: (env: string, id: string) =>\n `[${env}] Unable to delete Webhook subscription ${Logger.highlightText(\n id\n )}`,\n },\n workflows: {\n list: (env: string) => `[${env}] Retrieved workflows`,\n noList: (env: string) => `[${env}] Cannot retrieve workflows`,\n noneExist: () => `No workflows found`,\n failedGet: (env: string, name: string) =>\n `[${env}] Unable to find workflow ${Logger.highlightText(name)}`,\n },\n devinit: {\n intro: () => `Contensis developer environment initialisation`,\n //`This will initialise your local working directory to develop with the current connected Contensis project`,\n projectDetails: (\n name: string,\n env: string,\n projectId: string,\n blockId: string,\n git: GitHelper\n ) =>\n `\n Project: ${Logger.standardText(name)}\n - Home: ${Logger.standardText(git.gitcwd())}\n - Repository: ${Logger.standardText(git.home)} \n - Block id: ${Logger.highlightText(blockId)}\n \n Connect to Contensis instance: ${Logger.standardText(env)}\n - Project id: ${Logger.standardText(projectId)}\n `,\n developmentKey: (name: string, existing: boolean) =>\n ` - ${\n !existing ? 'Create development API key' : 'Development API key found'\n }: ${Logger[!existing ? 'highlightText' : 'standardText'](name)}`,\n deploymentKey: (name: string, existing: boolean) =>\n ` - ${\n !existing ? 'Create deployment API key' : 'Deployment API key found'\n }: ${Logger[!existing ? 'highlightText' : 'standardText'](name)}`,\n ciIntro: (git: GitHelper, location: 'git' | 'env') =>\n `We will create API keys with permissions to use this project with Contensis, and add a job to your CI that will deploy a container build.\n ${\n location === 'git'\n ? `We will ask you to add secrets/variables to your git repository to give your workflow permission to push a Block to Contensis.\n ${Logger.infoText(`You could visit ${git.secretsUri} to check that you can see repository settings, \n a page not found generally indicates you need to ask the repo owner for permission to add repository secrets, \n or ask the repo owner to add these secrets for you.`)}`\n : ''\n }`,\n ciDetails: (filename: string) =>\n `Add push-block job to CI file: ${Logger.highlightText(filename)}\\n`,\n ciMultipleChoices: () =>\n `Multiple GitHub workflow files found\\n${Logger.infoText(\n `Tell us which GitHub workflow builds a container image after each push:`\n )}`,\n ciMultipleBuildJobChoices: () =>\n `Multiple build jobs found in workflow\\n${Logger.infoText(\n `Choose the build job that produces a fresh container image to push to a block:`\n )}`,\n ciMultipleJobChoices: () =>\n `Other jobs found in workflow\\n${Logger.infoText(\n `Choose the job that produces a fresh container image we can push to a block:`\n )}`,\n ciMultipleAppImageVarChoices: () =>\n `Do one of these variables point to your tagged app image?\\n${Logger.infoText(\n `we have included a default choice - ensure your build image is tagged exactly the same as this`\n )}`,\n ciEnterOwnAppImagePrompt: (git: GitHelper) =>\n `Tell us the registry uri your app image is tagged and pushed with (\u23CE accept default) \\n${Logger.infoText(\n `Tip: ${\n git.type === 'github'\n ? `GitHub context variables available\\nhttps://docs.github.com/en/actions/learn-github-actions/variables#using-contexts-to-access-variable-values`\n : `GitLab CI/CD variables available\\nhttps://docs.gitlab.com/ee/ci/variables/`\n }`\n )}\\n`,\n confirm: () =>\n `Confirm these details are correct so we can make changes to your project`,\n createDevKey: (keyName: string, existing: boolean) =>\n `${\n !existing ? 'Created' : 'Checked permissions for'\n } development API key ${Logger.standardText(keyName)}`,\n createDeployKey: (keyName: string, existing: boolean) =>\n `${\n !existing ? 'Created' : 'Checked permissions for'\n } deployment API key ${Logger.standardText(keyName)}`,\n createKeyFail: (keyName: string, existing: boolean) =>\n `Failed to ${\n !existing ? 'create' : 'update'\n } API key ${Logger.highlightText(keyName)}`,\n writeEnvFile: () => `Written .env file to project home directory`,\n useEnvFileTip: () =>\n `You should alter existing project code that connects a Contensis client to use the variables from this file`,\n writeCiFile: (ciFilePath: string) =>\n `Updated CI file ${Logger.standardText(winSlash(ciFilePath))}`,\n ciFileNoChanges: (ciFilePath: string) =>\n `No updates needed for CI file ${Logger.standardText(\n winSlash(ciFilePath)\n )}`,\n ciBlockTip: (blockId: string, env: string, projectId: string) =>\n `A job is included to deploy your built container image to ${Logger.standardText(\n projectId\n )} at ${Logger.standardText(env)} in a block called ${Logger.standardText(\n blockId\n )}`,\n addGitSecretsIntro: () =>\n `We have created an API key that allows you to deploy your app image to a Contensis Block but we need you to add these details to your GitLab repository.`,\n addGitSecretsHelp: (git: GitHelper, id?: string, secret?: string) =>\n `Add secrets or variables in your repository's settings page\\n\\nGo to ${Logger.highlightText(\n git.secretsUri\n )}\\n\\n${\n git.type === 'github'\n ? `Add a \"New repository secret\"`\n : `Expand \"Variables\" and hit \"Add variable\"`\n }\\n\\n ${\n git.type === 'github' ? `Secret name:` : `Key:`\n } ${Logger.highlightText(`CONTENSIS_CLIENT_ID`)}\\n ${\n git.type === 'github' ? `Secret:` : `Value:`\n } ${Logger.standardText(\n id\n )}\\n\\n ${`Add one more secret/variable to the repository`}\\n\\n ${\n git.type === 'github' ? `Secret name:` : `Key:`\n } ${Logger.highlightText(`CONTENSIS_SHARED_SECRET`)}\\n ${\n git.type === 'github' ? `Secret:` : `Value:`\n } ${Logger.standardText(secret)}`,\n accessTokenFetch: () =>\n `Please wait, fetching Delivery API access token \u23F3`,\n accessTokenSuccess: (token: string) =>\n `Successfully fetched Delivery API token\\n ${Logger.infoText(token)}`,\n accessTokenFailed: () =>\n `Something went wrong! If the problem persists, please contact our support team \uD83D\uDEDF`,\n accessTokenPermission: () =>\n `We need permission to fetch your Delivery API token, please try again \u26A0\uFE0F`,\n clientDetailsLocation: () =>\n `Which option would you like to use for storing your client ID and secret`,\n clientDetailsInGit: (git: GitHelper) =>\n `${\n git.type === 'github' ? 'GitHub' : 'GitLab'\n } variables (recommended for public repositories)`,\n clientDetailsInEnv: () =>\n `Env variables (recommended for private repositories)`,\n success: () => `Contensis developer environment initialisation complete`,\n partialSuccess: () =>\n `Contensis developer environment initialisation completed with errors`,\n failed: () => `Contensis developer environment initialisation failed`,\n dryRun: () =>\n `Contensis developer environment initialisation dry run completed`,\n dryRunKeyMessage: (dryRun: boolean) =>\n dryRun ? '<< not created: dry-run >>' : undefined,\n noChanges: () =>\n `No changes were made to your project, run the command again without the ${Logger.highlightText(\n '--dry-run'\n )} flag to update your project with these changes`,\n startProjectTip: () =>\n `Start up your project in the normal way for development`,\n blockIdQuestion: () =>\n `Please enter your block id, this should be unquie and in kebab case e.g ${Logger.highlightText(\n 'my-awesome-website'\n )}`,\n },\n devrequests: {\n install: {\n notFound: (repo: string) =>\n `Could not find a release in ${repo} repo - please check github`,\n download: (repo: string, version: string) =>\n `Found release ${repo} ${version}`,\n downloading: (repo: string, version: string) =>\n `Downloading ${repo} ${version}`,\n downloadFail: (repo: string, version: string) =>\n `Problem downloading release ${version} from ${repo}`,\n downloaded: (repo: string, version: string) =>\n `Downloaded ${repo} ${version}`,\n applyUpdate: (version: string, existing: string) =>\n `Use updated version ${version} ${Logger.infoText(\n `(replaces ${existing})`\n )}?`,\n },\n launch: () => `Launching request handler for local development`,\n spawn: () =>\n `If you see a firewall popup requesting network access, it is safe to approve`,\n exited: (code: number | null) =>\n `Request handler exited with code ${code}\\n`,\n errored: (error: Error) =>\n `Could not launch request handler due to error \\n${error}`,\n },\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n BlockActionType,\n BlockRunningStatus,\n MigrateModelsResult,\n MigrateStatus,\n} from 'migratortron';\nimport { GitHelper } from '~/util/git';\nimport { Logger } from '~/util/logger';\nimport { winSlash } from '~/util/os';\n\nexport const LogMessages = {\n app: {\n contensis: () => 'Contensis',\n quit: () => `Goodbye \uD83D\uDC4B\\n`,\n startup: (version: string) =>\n `v${version} \u00A9 2001-${new Date().getFullYear()} Zengenti \uD83C\uDDEC\uD83C\uDDE7. \\n - Creators of Contensis and purveyors of other fine software\\n\\n\uD83D\uDC4B Welcome to the contensis-cli\\n`,\n help: () =>\n 'Press [CTRL]+[C] or type \"quit\" to return to your system shell\\nPress [TAB] for suggestions\\n',\n suggestions: () =>\n `\\n${Logger.errorText('>>')} Press [TAB] for suggestions\\n`,\n autocomplete: () => `\\n${Logger.errorText('>>')} Available commands:`,\n unknownError: () => `Something went wrong...`,\n fileOutput: (format = 'json', path?: string) =>\n `Output ${format} file: ${Logger.infoText(path)}\\n`,\n noFileOutput: () => `No output written\\n`,\n },\n command: {\n notKnown: (command: string) => `${command} is not known`,\n },\n envs: {\n found: (num: number) =>\n `environments store found containing ${num} environment${\n num === 1 ? '' : 's'\n }`,\n tip: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n connect: {\n command: {\n name: () => 'connect',\n example: () => `Example call:\\n > connect example-dev`,\n },\n args: {\n alias: {\n name: () => '<alias>',\n description: () => 'the Contensis Cloud alias to connect with',\n },\n },\n noEnv: () => `Cannot connect - no environment alias specified`,\n unreachable: (url: string, status: number) =>\n `Cannot reach ${url}${status ? ` - status ${status}` : ''}`,\n connected: (env: string) => `Current environment set to \"${env}\"`,\n help: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n projects: () => `Available projects:`,\n noProjects: () => `Cannot retrieve projects list`,\n tip: () =>\n `Introduce yourself with \"login {username}\" or \"login {clientId} -s {secret}\" or by passing credentials as options with your command`,\n },\n login: {\n command: {\n name: () => 'login',\n usage: () => `<user/clientId> [password] [-s <sharedSecret>]`,\n example: () =>\n `Example call:\\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}`,\n },\n args: {\n user: {\n name: () => '<user/clientId>',\n description: () => 'the username to login with',\n },\n password: {\n name: () => '[password]',\n description: () =>\n 'the password to use to login with (optional/insecure)',\n },\n secret: {\n name: () => '-s --sharedSecret <sharedSecret>',\n description: () =>\n 'the shared secret to use when logging in with a client id',\n },\n },\n passwordPrompt: (env?: string, userId?: string) =>\n userId\n ? `Enter password for ${userId}@${env}:`\n : `Please enter a password`,\n failed: (env: string, userId: string) =>\n `Unable to login to ${env} as ${userId}`,\n success: (env: string, userId: string) =>\n `User ${userId} connected to ${env} successfully\\n`,\n insecurePassword: () =>\n `Could not connect to local keystore - your password could be stored unencrypted!`,\n noEnv: () => `No environment set, use \"contensis connect {alias}\" first`,\n noUserId: () => `No user id specified`,\n },\n projects: {\n list: () => `Available projects:`,\n noList: () => `Cannot retrieve projects list`,\n set: (projectId: string) =>\n `Current project is set to ${Logger.highlightText(projectId)}`,\n failedSet: (projectId: string) =>\n `Project ${Logger.highlightText(projectId)} not found`,\n tip: () =>\n `You need to set your current working project with \"set project {projectId}\"`,\n created: (env: string, id: string) =>\n `[${env}] Created project ${Logger.highlightText(id)}`,\n failedCreate: (env: string, id: string) =>\n `[${env}] Unable to create project ${Logger.highlightText(id)}`,\n updated: (env: string, id: string) =>\n `[${env}] Updated project ${Logger.highlightText(id)}`,\n failedUpdate: (env: string, id: string) =>\n `[${env}] Unable to update project ${Logger.highlightText(id)}`,\n },\n migrate: {\n models: {\n result: (\n status: keyof MigrateModelsResult['project']['contentTypes']\n ) => {\n switch (status) {\n case 'created':\n case 'updated':\n return Logger.successText;\n case 'errors':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n },\n status: (status: MigrateStatus) => {\n switch (status) {\n case 'no change':\n return Logger.successText;\n case 'create':\n case 'two-pass':\n case 'update':\n case 'delete':\n return Logger.warningText;\n case 'error':\n case 'not found':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n },\n models: {\n list: (projectId: string) =>\n `Content models in ${Logger.highlightText(projectId)}:`,\n noList: (projectId: string) =>\n `[${projectId}] Cannot retrieve content models`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Content models ${Logger.infoText(`[ ${id} ]`)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get content models ${Logger.highlightText(id)}`,\n },\n nodes: {\n imported: (env: string, commit: boolean, count: number) =>\n `[${env}] ${commit ? `Imported` : `Will import`} ${count} nodes`,\n failedImport: (env: string) => `[${env}] Unable to import nodes`,\n removed: (env: string, commit: boolean, root: string) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} nodes at ${root}`,\n failedRemove: (env: string) => `[${env}] Unable to delete nodes`,\n notFound: (env: string) => `[${env}] Nodes were not found `,\n commitTip: () => `Add --commit flag to commit the previewed changes`,\n failedGet: (projectId: string) =>\n `[${projectId}] Cannot retrieve nodes from Site view`,\n get: (projectId: string, root: string, depth: number) =>\n `[${projectId}] Site view nodes at: ${Logger.highlightText(root)}${\n depth ? ` to a depth of ${depth}` : ``\n }\\n`,\n noChange: (env: string) => `[${env}] No changes to be made`,\n },\n contenttypes: {\n list: (projectId: string) =>\n `Content types in ${Logger.highlightText(projectId)}:`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Content type ${Logger.highlightText(id)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get content type ${Logger.highlightText(id)}`,\n created: (projectId: string, id: string, status?: string) =>\n `[${projectId}] Content type ${status}d ${Logger.highlightText(id)}`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${\n commit ? `Deleted` : `Will delete`\n } content type ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete content type ${Logger.highlightText(id)}`,\n },\n components: {\n list: (projectId: string) =>\n `Components in ${Logger.highlightText(projectId)}:`,\n get: (projectId: string, id: string) =>\n `[${projectId}] Component ${Logger.highlightText(id)}`,\n failedGet: (projectId: string, id: string) =>\n `[${projectId}] Unable to get component ${Logger.highlightText(id)}`,\n created: (projectId: string, id: string, status?: string) =>\n `[${projectId}] Component ${status}d ${Logger.highlightText(id)}`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${\n commit ? `Deleted` : `Will delete`\n } component ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete component ${Logger.highlightText(id)}`,\n },\n version: {\n set: (env: string, versionStatus: string) =>\n `[${env}] Content version status set to \"${versionStatus}\"`,\n invalid: (versionStatus: string) =>\n `Content version status \"${versionStatus}\" is not valid, allowed values are \"published\" or \"latest\".`,\n noEnv: () =>\n `No Contensis environment set, connect to your Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n entries: {\n imported: (env: string, commit: boolean, count: number) =>\n `[${env}] ${commit ? `Imported` : `Will import`} ${count} entries`,\n failedImport: (env: string) => `[${env}] Unable to import entries`,\n removed: (env: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} entries`,\n failedRemove: (env: string) => `[${env}] Unable to delete entries`,\n notFound: (env: string) => `[${env}] Entries were not found`,\n commitTip: () => `Add --commit flag to commit the previewed changes`,\n },\n keys: {\n list: (env: string) => `[${env}] API keys:`,\n noList: (env: string) => `[${env}] Cannot retrieve API keys`,\n created: (env: string, name: string) =>\n `[${env}] Created API key ${Logger.highlightText(name)}`,\n tip: () =>\n `Assign your new key to a role with \"set role assignments\", or create a new role with \"create role\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create API key ${Logger.highlightText(name)}`,\n failedUpdate: (env: string, name: string) =>\n `[${env}] Unable to update API key ${Logger.highlightText(name)}`,\n removed: (env: string, id: string) =>\n `[${env}] Deleted API key ${Logger.highlightText(id)}`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete API key ${Logger.highlightText(id)}`,\n },\n proxies: {\n list: (env: string, projectId: string | undefined) =>\n `[${env}] Retrieved proxies in project ${projectId}:`,\n noList: (env: string, projectId: string | undefined) =>\n `[${env}] Cannot retrieve proxies in project ${projectId}`,\n // noneExist: () => `Create a role with \"create renderer\"`,\n failedGet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to find proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n created: (env: string, name: string, projectId: string) =>\n `[${env}] Created proxy ${Logger.highlightText(\n name\n )} in project ${projectId}\\n`,\n failedCreate: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to create proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n setPayload: () => `Updating proxy with details\\n`,\n set: () => `Succesfully updated proxy\\n`,\n failedSet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to update proxy ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n removed: (env: string, id: string, projectId: string) =>\n `[${env}] Deleted proxy ${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n failedRemove: (env: string, id: string, projectId: string) =>\n `[${env}] Unable to delete proxy ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n },\n renderers: {\n list: (env: string, projectId: string | undefined) =>\n `[${env}] Retrieved renderers in project ${projectId}:`,\n noList: (env: string, projectId: string | undefined) =>\n `[${env}] Cannot retrieve renderers in project ${projectId}`,\n // noneExist: () => `Create a role with \"create renderer\"`,\n failedGet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to find renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n created: (env: string, name: string, projectId: string) =>\n `[${env}] Created renderer ${Logger.highlightText(\n name\n )} in project ${projectId}\\n`,\n failedCreate: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to create renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n setPayload: () => `Updating renderer with details\\n`,\n set: () => `Succesfully updated renderer\\n`,\n failedSet: (env: string, name: string, projectId: string) =>\n `[${env}] Unable to update renderer ${Logger.highlightText(\n name\n )} in project ${projectId}`,\n removed: (env: string, id: string, projectId: string) =>\n `[${env}] Deleted renderer ${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n failedRemove: (env: string, id: string, projectId: string) =>\n `[${env}] Unable to delete renderer ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n },\n roles: {\n list: (env: string) => `[${env}] Retrieved roles`,\n noList: (env: string) => `[${env}] Cannot retrieve roles`,\n noneExist: () => `Create a role with \"create role\"`,\n failedGet: (env: string, name: string) =>\n `[${env}] Unable to find role ${Logger.highlightText(name)}`,\n created: (env: string, name: string) =>\n `[${env}] Created role ${Logger.highlightText(name)}\\n`,\n tip: () =>\n `Give access to your role with \"set role assignments\", allow your role to do things with \"set role permissions\"`,\n failedCreate: (env: string, name?: string) =>\n `[${env}] Unable to create role ${Logger.highlightText(name)}`,\n setPayload: () => `Updating role with details\\n`,\n set: () => `Succesfully updated role\\n`,\n failedSet: (env: string, name?: string) =>\n `[${env}] Unable to update role ${Logger.highlightText(name)}`,\n removed: (env: string, id: string) =>\n `[${env}] Deleted role ${Logger.highlightText(id)}\\n`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete role ${Logger.highlightText(id)}`,\n },\n blocks: {\n runningStatus: (status: BlockRunningStatus | 'broken') => {\n switch (status) {\n case 'available':\n return Logger.successText(status);\n case 'pending':\n case 'starting':\n case 'stopped':\n return Logger.warningText(status);\n case 'degraded':\n case 'faulted':\n case 'broken':\n return Logger.errorText(status);\n default:\n return Logger.infoText(status);\n }\n },\n get: (\n id: string,\n branch: string,\n version: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] ${\n version && version !== 'latest'\n ? `Found v${version}`\n : 'Latest block versions'\n } for ${Logger.infoText(`${branch}/`)}${Logger.highlightText(\n id\n )} in project ${projectId}\\n`,\n noGet: (\n id: string,\n branch: string,\n version: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Did not find ${\n version ? `v${version}` : 'any block versions'\n } for ${Logger.highlightText(id)} in branch ${Logger.infoText(\n branch\n )} in ${Logger.infoText(projectId)} project`,\n noGetTip: () =>\n `Check the available blocks and branches in this project by running \"list blocks\"`,\n list: (env: string, projectId?: string) =>\n `[${env}] Blocks in project ${projectId}\\n`,\n noList: (env: string, projectId?: string) =>\n `[${env}] Cannot retrieve blocks in project ${projectId}`,\n getLogs: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Requesting logs from block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n failedGetLogs: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to fetch block logs for ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n tryPush: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Request to push block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n pushed: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Pushed block ${Logger.highlightText(\n id\n )} in branch ${branch} in project ${projectId}`,\n failedPush: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to push block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n failedParsingVersion: () =>\n `Did not find a \"version.versionNo\" in response`,\n actionComplete: (\n action: BlockActionType,\n id: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Action ${Logger.highlightText(\n action\n )} on ${Logger.highlightText(\n id\n )} in project ${projectId} requested successfully`,\n actionFailed: (\n action: BlockActionType,\n id: string,\n env: string,\n projectId?: string\n ) =>\n `[${env}] Problem executing ${action} on block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n deleted: (id: string, env: string, projectId?: string) =>\n `[${env}] Deleted block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n failedDelete: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to delete block ${Logger.highlightText(\n id\n )} in project ${projectId}`,\n stopFollow: (id: string, env: string, projectId?: string) =>\n `[${env}]\\n\\n \uD83D\uDC4C stop fetching new ${Logger.highlightText(\n id\n )} logs in project ${projectId}`,\n timeoutFollow: (id: string, env: string, projectId?: string) =>\n `[${env}]\\n\\n \uD83E\uDD0F pausing fetching new ${Logger.highlightText(\n id\n )} logs in project ${projectId} due to too many requests`,\n },\n webhooks: {\n list: (env: string) => `[${env}] Webhook subscriptions:`,\n noList: (env: string) => `[${env}] Cannot retrieve webhook subscriptions`,\n noneExist: () => `No webhook subscriptions exist`,\n created: (env: string, name: string) =>\n `[${env}] Created Webhook subscription ${Logger.highlightText(name)}`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create Webhook subscription ${Logger.highlightText(\n name\n )}`,\n deleted: (env: string, id: string) =>\n `[${env}] Deleted Webhook subscription ${Logger.highlightText(id)}`,\n failedDelete: (env: string, id: string) =>\n `[${env}] Unable to delete Webhook subscription ${Logger.highlightText(\n id\n )}`,\n },\n workflows: {\n list: (env: string) => `[${env}] Retrieved workflows`,\n noList: (env: string) => `[${env}] Cannot retrieve workflows`,\n noneExist: () => `No workflows found`,\n failedGet: (env: string, name: string) =>\n `[${env}] Unable to find workflow ${Logger.highlightText(name)}`,\n },\n devinit: {\n intro: () => `Contensis developer environment initialisation`,\n //`This will initialise your local working directory to develop with the current connected Contensis project`,\n projectDetails: (\n name: string,\n env: string,\n projectId: string,\n blockId: string,\n git: GitHelper\n ) =>\n `\n Project: ${Logger.standardText(name)}\n - Home: ${Logger.standardText(git.gitcwd())}\n - Repository: ${Logger.standardText(git.home)} \n - Block id: ${Logger.highlightText(blockId)}\n \n Connect to Contensis instance: ${Logger.standardText(env)}\n - Project id: ${Logger.standardText(projectId)}\n `,\n developmentKey: (name: string, existing: boolean) =>\n ` - ${\n !existing ? 'Create development API key' : 'Development API key found'\n }: ${Logger[!existing ? 'highlightText' : 'standardText'](name)}`,\n deploymentKey: (name: string, existing: boolean) =>\n ` - ${\n !existing ? 'Create deployment API key' : 'Deployment API key found'\n }: ${Logger[!existing ? 'highlightText' : 'standardText'](name)}`,\n ciIntro: (git: GitHelper, location: 'git' | 'env') =>\n `We will create API keys with permissions to use this project with Contensis, and add a job to your CI that will deploy a container build.\n ${\n location === 'git'\n ? `We will ask you to add secrets/variables to your git repository to give your workflow permission to push a Block to Contensis.\n ${Logger.infoText(`You could visit ${git.secretsUri} to check that you can see repository settings, \n a page not found generally indicates you need to ask the repo owner for permission to add repository secrets, \n or ask the repo owner to add these secrets for you.`)}`\n : ''\n }`,\n ciDetails: (filename: string) =>\n `Add push-block job to CI file: ${Logger.highlightText(filename)}\\n`,\n ciMultipleChoices: () =>\n `Multiple GitHub workflow files found\\n${Logger.infoText(\n `Tell us which GitHub workflow builds a container image after each push:`\n )}`,\n ciMultipleBuildJobChoices: () =>\n `Multiple build jobs found in workflow\\n${Logger.infoText(\n `Choose the build job that produces a fresh container image to push to a block:`\n )}`,\n ciMultipleJobChoices: () =>\n `Other jobs found in workflow\\n${Logger.infoText(\n `Choose the job that produces a fresh container image we can push to a block:`\n )}`,\n ciMultipleAppImageVarChoices: () =>\n `Do one of these variables point to your tagged app image?\\n${Logger.infoText(\n `we have included a default choice - ensure your build image is tagged exactly the same as this`\n )}`,\n ciEnterOwnAppImagePrompt: (git: GitHelper) =>\n `Tell us the registry uri your app image is tagged and pushed with (\u23CE accept default) \\n${Logger.infoText(\n `Tip: ${\n git.type === 'github'\n ? `GitHub context variables available\\nhttps://docs.github.com/en/actions/learn-github-actions/variables#using-contexts-to-access-variable-values`\n : `GitLab CI/CD variables available\\nhttps://docs.gitlab.com/ee/ci/variables/`\n }`\n )}\\n`,\n confirm: () =>\n `Confirm these details are correct so we can make changes to your project`,\n createDevKey: (keyName: string, existing: boolean) =>\n `${\n !existing ? 'Created' : 'Checked permissions for'\n } development API key ${Logger.standardText(keyName)}`,\n createDeployKey: (keyName: string, existing: boolean) =>\n `${\n !existing ? 'Created' : 'Checked permissions for'\n } deployment API key ${Logger.standardText(keyName)}`,\n createKeyFail: (keyName: string, existing: boolean) =>\n `Failed to ${\n !existing ? 'create' : 'update'\n } API key ${Logger.highlightText(keyName)}`,\n writeEnvFile: () => `Written .env file to project home directory`,\n useEnvFileTip: () =>\n `You should alter existing project code that connects a Contensis client to use the variables from this file`,\n writeCiFile: (ciFilePath: string) =>\n `Updated CI file ${Logger.standardText(winSlash(ciFilePath))}`,\n ciFileNoChanges: (ciFilePath: string) =>\n `No updates needed for CI file ${Logger.standardText(\n winSlash(ciFilePath)\n )}`,\n ciBlockTip: (blockId: string, env: string, projectId: string) =>\n `A job is included to deploy your built container image to ${Logger.standardText(\n projectId\n )} at ${Logger.standardText(env)} in a block called ${Logger.standardText(\n blockId\n )}`,\n addGitSecretsIntro: () =>\n `We have created an API key that allows you to deploy your app image to a Contensis Block but we need you to add these details to your GitLab repository.`,\n addGitSecretsHelp: (git: GitHelper, id?: string, secret?: string) =>\n `Add secrets or variables in your repository's settings page\\n\\nGo to ${Logger.highlightText(\n git.secretsUri\n )}\\n\\n${\n git.type === 'github'\n ? `Add a \"New repository secret\"`\n : `Expand \"Variables\" and hit \"Add variable\"`\n }\\n\\n ${\n git.type === 'github' ? `Secret name:` : `Key:`\n } ${Logger.highlightText(`CONTENSIS_CLIENT_ID`)}\\n ${\n git.type === 'github' ? `Secret:` : `Value:`\n } ${Logger.standardText(\n id\n )}\\n\\n ${`Add one more secret/variable to the repository`}\\n\\n ${\n git.type === 'github' ? `Secret name:` : `Key:`\n } ${Logger.highlightText(`CONTENSIS_SHARED_SECRET`)}\\n ${\n git.type === 'github' ? `Secret:` : `Value:`\n } ${Logger.standardText(secret)}`,\n accessTokenFetch: () =>\n `Please wait, fetching Delivery API access token \u23F3`,\n accessTokenSuccess: (token: string) =>\n `Successfully fetched Delivery API token\\n ${Logger.infoText(token)}`,\n accessTokenFailed: () =>\n `Something went wrong! If the problem persists, please contact our support team \uD83D\uDEDF`,\n accessTokenPermission: () =>\n `We need permission to fetch your Delivery API token, please try again \u26A0\uFE0F`,\n clientDetailsLocation: () =>\n `Which option would you like to use for storing your client ID and secret`,\n clientDetailsInGit: (git: GitHelper) =>\n `${\n git.type === 'github' ? 'GitHub' : 'GitLab'\n } variables (recommended for public repositories)`,\n clientDetailsInEnv: () =>\n `Env variables (recommended for private repositories)`,\n success: () => `Contensis developer environment initialisation complete`,\n partialSuccess: () =>\n `Contensis developer environment initialisation completed with errors`,\n failed: () => `Contensis developer environment initialisation failed`,\n dryRun: () =>\n `Contensis developer environment initialisation dry run completed`,\n dryRunKeyMessage: (dryRun: boolean) =>\n dryRun ? '<< not created: dry-run >>' : undefined,\n noChanges: () =>\n `No changes were made to your project, run the command again without the ${Logger.highlightText(\n '--dry-run'\n )} flag to update your project with these changes`,\n startProjectTip: () =>\n `Start up your project in the normal way for development`,\n blockIdQuestion: () =>\n `Please enter your block id, this should be unquie and in kebab case e.g ${Logger.highlightText(\n 'my-awesome-website'\n )}`,\n },\n devrequests: {\n install: {\n notFound: (repo: string) =>\n `Could not find a release in ${repo} repo - please check github`,\n download: (repo: string, version: string) => `Found release ${version}`,\n downloading: (repo: string, version: string) =>\n `Downloading ${repo} ${version}`,\n downloadFail: (repo: string, version: string) =>\n `Problem downloading release ${version} from ${repo}`,\n downloaded: (repo: string, version: string) =>\n `Downloaded ${repo} ${version}`,\n applyUpdate: (version: string, existing: string) =>\n `Use updated version ${version} ${Logger.infoText(\n `(replaces ${existing})`\n )}?`,\n },\n launch: () => `Launching request handler for local development`,\n spawn: () =>\n `If you see a firewall popup requesting network access, it is safe to approve`,\n exited: (code: number | null) =>\n `Request handler exited with code ${code}\\n`,\n errored: (error: Error) =>\n `Could not launch request handler due to error \\n${error}`,\n },\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -73,6 +73,7 @@ class GitHubCliModuleProvider {
73
73
  }
74
74
  }
75
75
  async DownloadRelease(release, {
76
+ cmd,
76
77
  path,
77
78
  platforms,
78
79
  unzip = true
@@ -94,6 +95,7 @@ class GitHubCliModuleProvider {
94
95
  zipFile.extractAllTo(path);
95
96
  (0, import_file_provider.removeFile)(filePath);
96
97
  }
98
+ (0, import_file_provider.addExecutePermission)((0, import_file_provider.joinPath)(path, cmd));
97
99
  } else
98
100
  throw new Error(
99
101
  `no asset found in release ${release.tag_name} for platform ${import_os.default.platform()}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/GitHubCliModuleProvider.ts"],
4
- "sourcesContent": ["import os from 'os';\nimport Zip from 'adm-zip';\nimport type { Endpoints } from '@octokit/types';\nimport HttpProvider from '~/providers/HttpProvider';\nimport {\n checkDir,\n joinPath,\n removeDirectory,\n removeFile,\n} from './file-provider';\nimport { doRetry } from '~/util/fetch';\n\ntype GitHubApiRelease =\n Endpoints['GET /repos/{owner}/{repo}/releases/latest']['response']['data'];\n\nclass GitHubCliModuleProvider {\n http: HttpProvider;\n repo: string;\n baseUrl = 'https://api.github.com/repos';\n\n get releases_url() {\n return `${this.baseUrl}/${this.repo}/releases`;\n }\n get latest_release_url() {\n return `${this.baseUrl}/${this.repo}/releases/latest`;\n }\n\n download?: {\n tag: string;\n name: string;\n url: string;\n browser_url: string;\n };\n\n constructor(repo: string) {\n this.http = new HttpProvider();\n this.repo = repo;\n }\n\n async FindLatestRelease() {\n const { http, latest_release_url, releases_url } = this;\n // return latest tag version is:\n\n const responses = await Promise.all([\n http.get<GitHubApiRelease>(latest_release_url, {\n doRetry: doRetry({ silent: true }),\n }),\n http.get<GitHubApiRelease[]>(releases_url),\n ]);\n\n const [latestErr, latest, latestResponse] = responses[0];\n const [releasesErr, releases] = responses[1];\n\n if (releasesErr) {\n throw new Error(`Unable to get releases`, { cause: releasesErr });\n } else if (!releases || releases.length === 0)\n throw new Error(`No releases available`);\n else if (latestErr && !latest) {\n if (latestResponse?.status === 404 && releases?.length) {\n // No latest release, check releases for prerelease version, fallback to last release\n const release = releases.find(r => r.prerelease) || releases[0];\n\n if (release) {\n return release;\n }\n }\n } else {\n return latest;\n }\n }\n\n async DownloadRelease(\n release: GitHubApiRelease,\n {\n path,\n platforms,\n unzip = true,\n }: { path: string; unzip?: boolean; platforms: [NodeJS.Platform, string][] }\n ) {\n // find os-specific asset\n const platform = platforms.find(p => p[0] === os.platform()) || [\n os.platform(),\n os.platform(),\n ];\n\n const asset = release.assets.find(r =>\n r.name.toLowerCase().includes(platform[1])\n );\n\n // download asset\n if (asset) {\n const filePath = joinPath(path, asset.name);\n removeDirectory(path);\n checkDir(filePath);\n await this.http.downloadFile(asset.browser_download_url, filePath);\n\n if (unzip && asset.name.endsWith('.zip')) {\n // unzip the downloaded file\n const zipFile = new Zip(filePath);\n zipFile.extractAllTo(path);\n\n // delete the downloaded zip file\n removeFile(filePath);\n }\n } else\n throw new Error(\n `no asset found in release ${\n release.tag_name\n } for platform ${os.platform()}\\n${release.html_url}`\n );\n }\n}\n\nexport default GitHubCliModuleProvider;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,qBAAgB;AAEhB,0BAAyB;AACzB,2BAKO;AACP,mBAAwB;AAKxB,MAAM,wBAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EAEV,IAAI,eAAe;AACjB,WAAO,GAAG,KAAK,WAAW,KAAK;AAAA,EACjC;AAAA,EACA,IAAI,qBAAqB;AACvB,WAAO,GAAG,KAAK,WAAW,KAAK;AAAA,EACjC;AAAA,EAEA;AAAA,EAOA,YAAY,MAAc;AACxB,SAAK,OAAO,IAAI,oBAAAA,QAAa;AAC7B,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,MAAM,oBAAoB;AACxB,UAAM,EAAE,MAAM,oBAAoB,aAAa,IAAI;AAGnD,UAAM,YAAY,MAAM,QAAQ,IAAI;AAAA,MAClC,KAAK,IAAsB,oBAAoB;AAAA,QAC7C,aAAS,sBAAQ,EAAE,QAAQ,KAAK,CAAC;AAAA,MACnC,CAAC;AAAA,MACD,KAAK,IAAwB,YAAY;AAAA,IAC3C,CAAC;AAED,UAAM,CAAC,WAAW,QAAQ,cAAc,IAAI,UAAU;AACtD,UAAM,CAAC,aAAa,QAAQ,IAAI,UAAU;AAE1C,QAAI,aAAa;AACf,YAAM,IAAI,MAAM,0BAA0B,EAAE,OAAO,YAAY,CAAC;AAAA,IAClE,WAAW,CAAC,YAAY,SAAS,WAAW;AAC1C,YAAM,IAAI,MAAM,uBAAuB;AAAA,aAChC,aAAa,CAAC,QAAQ;AAC7B,WAAI,iDAAgB,YAAW,QAAO,qCAAU,SAAQ;AAEtD,cAAM,UAAU,SAAS,KAAK,OAAK,EAAE,UAAU,KAAK,SAAS;AAE7D,YAAI,SAAS;AACX,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,gBACJ,SACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV,GACA;AAEA,UAAM,WAAW,UAAU,KAAK,OAAK,EAAE,OAAO,UAAAC,QAAG,SAAS,CAAC,KAAK;AAAA,MAC9D,UAAAA,QAAG,SAAS;AAAA,MACZ,UAAAA,QAAG,SAAS;AAAA,IACd;AAEA,UAAM,QAAQ,QAAQ,OAAO;AAAA,MAAK,OAChC,EAAE,KAAK,YAAY,EAAE,SAAS,SAAS,EAAE;AAAA,IAC3C;AAGA,QAAI,OAAO;AACT,YAAM,eAAW,+BAAS,MAAM,MAAM,IAAI;AAC1C,gDAAgB,IAAI;AACpB,yCAAS,QAAQ;AACjB,YAAM,KAAK,KAAK,aAAa,MAAM,sBAAsB,QAAQ;AAEjE,UAAI,SAAS,MAAM,KAAK,SAAS,MAAM,GAAG;AAExC,cAAM,UAAU,IAAI,eAAAC,QAAI,QAAQ;AAChC,gBAAQ,aAAa,IAAI;AAGzB,6CAAW,QAAQ;AAAA,MACrB;AAAA,IACF;AACE,YAAM,IAAI;AAAA,QACR,6BACE,QAAQ,yBACO,UAAAD,QAAG,SAAS;AAAA,EAAM,QAAQ;AAAA,MAC7C;AAAA,EACJ;AACF;AAEA,IAAO,kCAAQ;",
4
+ "sourcesContent": ["import os from 'os';\nimport Zip from 'adm-zip';\nimport type { Endpoints } from '@octokit/types';\nimport HttpProvider from '~/providers/HttpProvider';\nimport {\n addExecutePermission,\n checkDir,\n joinPath,\n removeDirectory,\n removeFile,\n} from './file-provider';\nimport { doRetry } from '~/util/fetch';\n\ntype GitHubApiRelease =\n Endpoints['GET /repos/{owner}/{repo}/releases/latest']['response']['data'];\n\nclass GitHubCliModuleProvider {\n http: HttpProvider;\n repo: string;\n baseUrl = 'https://api.github.com/repos';\n\n get releases_url() {\n return `${this.baseUrl}/${this.repo}/releases`;\n }\n get latest_release_url() {\n return `${this.baseUrl}/${this.repo}/releases/latest`;\n }\n\n download?: {\n tag: string;\n name: string;\n url: string;\n browser_url: string;\n };\n\n constructor(repo: string) {\n this.http = new HttpProvider();\n this.repo = repo;\n }\n\n async FindLatestRelease() {\n const { http, latest_release_url, releases_url } = this;\n // return latest tag version is:\n\n const responses = await Promise.all([\n http.get<GitHubApiRelease>(latest_release_url, {\n doRetry: doRetry({ silent: true }),\n }),\n http.get<GitHubApiRelease[]>(releases_url),\n ]);\n\n const [latestErr, latest, latestResponse] = responses[0];\n const [releasesErr, releases] = responses[1];\n\n if (releasesErr) {\n throw new Error(`Unable to get releases`, { cause: releasesErr });\n } else if (!releases || releases.length === 0)\n throw new Error(`No releases available`);\n else if (latestErr && !latest) {\n if (latestResponse?.status === 404 && releases?.length) {\n // No latest release, check releases for prerelease version, fallback to last release\n const release = releases.find(r => r.prerelease) || releases[0];\n\n if (release) {\n return release;\n }\n }\n } else {\n return latest;\n }\n }\n\n async DownloadRelease(\n release: GitHubApiRelease,\n {\n cmd,\n path,\n platforms,\n unzip = true,\n }: {\n cmd: string;\n path: string;\n unzip?: boolean;\n platforms: [NodeJS.Platform, string][];\n }\n ) {\n // find os-specific asset\n const platform = platforms.find(p => p[0] === os.platform()) || [\n os.platform(),\n os.platform(),\n ];\n\n const asset = release.assets.find(r =>\n r.name.toLowerCase().includes(platform[1])\n );\n\n // download asset\n if (asset) {\n const filePath = joinPath(path, asset.name);\n removeDirectory(path);\n checkDir(filePath);\n await this.http.downloadFile(asset.browser_download_url, filePath);\n\n if (unzip && asset.name.endsWith('.zip')) {\n // unzip the downloaded file\n const zipFile = new Zip(filePath);\n zipFile.extractAllTo(path);\n\n // delete the downloaded zip file\n removeFile(filePath);\n }\n\n addExecutePermission(joinPath(path, cmd));\n } else\n throw new Error(\n `no asset found in release ${\n release.tag_name\n } for platform ${os.platform()}\\n${release.html_url}`\n );\n }\n}\n\nexport default GitHubCliModuleProvider;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,qBAAgB;AAEhB,0BAAyB;AACzB,2BAMO;AACP,mBAAwB;AAKxB,MAAM,wBAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EAEV,IAAI,eAAe;AACjB,WAAO,GAAG,KAAK,WAAW,KAAK;AAAA,EACjC;AAAA,EACA,IAAI,qBAAqB;AACvB,WAAO,GAAG,KAAK,WAAW,KAAK;AAAA,EACjC;AAAA,EAEA;AAAA,EAOA,YAAY,MAAc;AACxB,SAAK,OAAO,IAAI,oBAAAA,QAAa;AAC7B,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,MAAM,oBAAoB;AACxB,UAAM,EAAE,MAAM,oBAAoB,aAAa,IAAI;AAGnD,UAAM,YAAY,MAAM,QAAQ,IAAI;AAAA,MAClC,KAAK,IAAsB,oBAAoB;AAAA,QAC7C,aAAS,sBAAQ,EAAE,QAAQ,KAAK,CAAC;AAAA,MACnC,CAAC;AAAA,MACD,KAAK,IAAwB,YAAY;AAAA,IAC3C,CAAC;AAED,UAAM,CAAC,WAAW,QAAQ,cAAc,IAAI,UAAU;AACtD,UAAM,CAAC,aAAa,QAAQ,IAAI,UAAU;AAE1C,QAAI,aAAa;AACf,YAAM,IAAI,MAAM,0BAA0B,EAAE,OAAO,YAAY,CAAC;AAAA,IAClE,WAAW,CAAC,YAAY,SAAS,WAAW;AAC1C,YAAM,IAAI,MAAM,uBAAuB;AAAA,aAChC,aAAa,CAAC,QAAQ;AAC7B,WAAI,iDAAgB,YAAW,QAAO,qCAAU,SAAQ;AAEtD,cAAM,UAAU,SAAS,KAAK,OAAK,EAAE,UAAU,KAAK,SAAS;AAE7D,YAAI,SAAS;AACX,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,MAAM,gBACJ,SACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV,GAMA;AAEA,UAAM,WAAW,UAAU,KAAK,OAAK,EAAE,OAAO,UAAAC,QAAG,SAAS,CAAC,KAAK;AAAA,MAC9D,UAAAA,QAAG,SAAS;AAAA,MACZ,UAAAA,QAAG,SAAS;AAAA,IACd;AAEA,UAAM,QAAQ,QAAQ,OAAO;AAAA,MAAK,OAChC,EAAE,KAAK,YAAY,EAAE,SAAS,SAAS,EAAE;AAAA,IAC3C;AAGA,QAAI,OAAO;AACT,YAAM,eAAW,+BAAS,MAAM,MAAM,IAAI;AAC1C,gDAAgB,IAAI;AACpB,yCAAS,QAAQ;AACjB,YAAM,KAAK,KAAK,aAAa,MAAM,sBAAsB,QAAQ;AAEjE,UAAI,SAAS,MAAM,KAAK,SAAS,MAAM,GAAG;AAExC,cAAM,UAAU,IAAI,eAAAC,QAAI,QAAQ;AAChC,gBAAQ,aAAa,IAAI;AAGzB,6CAAW,QAAQ;AAAA,MACrB;AAEA,yDAAqB,+BAAS,MAAM,GAAG,CAAC;AAAA,IAC1C;AACE,YAAM,IAAI;AAAA,QACR,6BACE,QAAQ,yBACO,UAAAD,QAAG,SAAS;AAAA,EAAM,QAAQ;AAAA,MAC7C;AAAA,EACJ;AACF;AAEA,IAAO,kCAAQ;",
6
6
  "names": ["HttpProvider", "os", "Zip"]
7
7
  }
@@ -24,6 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
25
25
  var file_provider_exports = {};
26
26
  __export(file_provider_exports, {
27
+ addExecutePermission: () => addExecutePermission,
27
28
  appPath: () => appPath,
28
29
  appRootDir: () => appRootDir,
29
30
  checkDir: () => checkDir,
@@ -113,6 +114,7 @@ const checkDir = (filePath) => {
113
114
  const appPath = (filePath) => import_path.default.isAbsolute(filePath) ? filePath : import_path.default.join(appRootDir, filePath);
114
115
  const cwdPath = (filePath) => import_path.default.isAbsolute(filePath) ? filePath : import_path.default.join(process.cwd(), filePath);
115
116
  const joinPath = import_path.default.join;
117
+ const addExecutePermission = (filePath) => import_fs.default.chmodSync(filePath, import_fs.default.constants.S_IRWXU);
116
118
  const detectFileType = (fromFile) => {
117
119
  const fileData = readFile(fromFile);
118
120
  if (!fileData)
@@ -153,6 +155,7 @@ const readFileAsJSON = async (fromFile) => {
153
155
  };
154
156
  // Annotate the CommonJS export names for ESM import in node:
155
157
  0 && (module.exports = {
158
+ addExecutePermission,
156
159
  appPath,
157
160
  appRootDir,
158
161
  checkDir,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/providers/file-provider.ts"],
4
- "sourcesContent": ["import fs from 'fs';\nimport { homedir } from 'os';\nimport path from 'path';\nimport { tryParse } from '~/util';\nimport { csvToJson, detectCsv } from '~/util/csv.formatter';\nimport { unflattenObject } from '~/util/json.formatter';\nimport { Logger } from '~/util/logger';\nimport { xmlToJson } from '~/util/xml.formatter';\n\nconst userHomeDir = homedir();\n\nexport const appRootDir =\n process.env.CONTAINER_CONTEXT === 'true'\n ? process.cwd()\n : path.join(userHomeDir, '.contensis/');\n\nexport const readFile = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n const file = fs.readFileSync(directoryPath, 'utf8');\n return file;\n } else {\n return undefined;\n }\n};\n\nexport const readFiles = (directory: string, createDirectory = true) => {\n const directoryPath = appPath(directory);\n if (fs.existsSync(directoryPath)) {\n const files = fs.readdirSync(directoryPath);\n return files;\n } else if (createDirectory) {\n fs.mkdirSync(directoryPath, { recursive: true });\n return [];\n } else {\n throw new Error(`ENOENT: Directory does not exist ${directoryPath}`);\n // return undefined;\n }\n};\n\nexport const writeFile = (filePath: string, content: string) => {\n const directoryPath = appPath(filePath);\n fs.writeFileSync(directoryPath, content, { encoding: 'utf-8' });\n};\n\nexport const removeFile = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n fs.rmSync(directoryPath);\n }\n};\n\nexport const removeDirectory = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n fs.rmSync(directoryPath, { force: true, recursive: true });\n }\n};\n\nexport const moveFile = (file: string, fromPath: string, toPath: string) => {\n const from = path.join(appRootDir, `${fromPath}${file}`);\n const to = path.join(appRootDir, `${toPath}${file}`);\n if (fs.existsSync(from)) {\n checkDir(toPath);\n // if (!fs.existsSync(toPath)) fs.mkdirSync(toPath, { recursive: true });\n\n fs.rename(from, to, err => {\n if (err)\n console.error(\n `Could not rename file \"${file}\" from: ${fromPath} to: ${toPath}`,\n err\n );\n console.info(`Renamed file \"${file}\" from: ${fromPath} to: ${toPath}`);\n });\n } else {\n console.error(\n `Could not rename file \"${file}\" from: ${fromPath} to: ${toPath}\\nFile does not exist!`\n );\n }\n};\n\nexport const checkDir = (filePath: string) => {\n const directoryPath = path.dirname(appPath(filePath));\n if (!fs.existsSync(directoryPath))\n fs.mkdirSync(directoryPath, { recursive: true });\n};\n\nexport const appPath = (filePath: string) =>\n path.isAbsolute(filePath) ? filePath : path.join(appRootDir, filePath);\n\nexport const cwdPath = (filePath: string) =>\n path.isAbsolute(filePath) ? filePath : path.join(process.cwd(), filePath);\n\nexport const joinPath = path.join;\n\ntype DetectedFileType =\n | { type: 'json'; contents: any }\n | { type: 'xml' | 'csv'; contents: string };\n\nconst detectFileType = (fromFile: string): DetectedFileType | undefined => {\n const fileData = readFile(fromFile);\n if (!fileData) throw new Error(`Unable to read file at ${fromFile}`);\n try {\n // if XML\n if (fileData.startsWith('<')) return { contents: fileData, type: 'xml' };\n\n // if JSON\n const jsonData = tryParse(fileData);\n if (jsonData) return { contents: jsonData, type: 'json' };\n\n // if CSV\n const csv = detectCsv(fileData);\n if (csv) return { contents: fileData, type: 'csv' };\n } catch (ex) {\n Logger.error(`Problem detecting file type ${fromFile}`, ex);\n }\n};\n\nexport const readFileAsJSON = async <T = any>(\n fromFile: string\n): Promise<T | undefined> => {\n const detectedFile = detectFileType(cwdPath(fromFile));\n if (!detectedFile) return undefined;\n try {\n switch (detectedFile.type) {\n case 'csv': {\n const flatJson = await csvToJson(detectedFile.contents);\n const unflattenedJson = flatJson.map(record => unflattenObject(record));\n return unflattenedJson as T;\n }\n case 'xml':\n return (await xmlToJson(detectedFile.contents)) as T;\n\n case 'json':\n default:\n return detectedFile.contents;\n }\n } catch (ex) {\n Logger.error(`Problem converting file from ${detectedFile.type}`, ex);\n }\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import fs from 'fs';\nimport { homedir } from 'os';\nimport path from 'path';\nimport { tryParse } from '~/util';\nimport { csvToJson, detectCsv } from '~/util/csv.formatter';\nimport { unflattenObject } from '~/util/json.formatter';\nimport { Logger } from '~/util/logger';\nimport { xmlToJson } from '~/util/xml.formatter';\n\nconst userHomeDir = homedir();\n\nexport const appRootDir =\n process.env.CONTAINER_CONTEXT === 'true'\n ? process.cwd()\n : path.join(userHomeDir, '.contensis/');\n\nexport const readFile = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n const file = fs.readFileSync(directoryPath, 'utf8');\n return file;\n } else {\n return undefined;\n }\n};\n\nexport const readFiles = (directory: string, createDirectory = true) => {\n const directoryPath = appPath(directory);\n if (fs.existsSync(directoryPath)) {\n const files = fs.readdirSync(directoryPath);\n return files;\n } else if (createDirectory) {\n fs.mkdirSync(directoryPath, { recursive: true });\n return [];\n } else {\n throw new Error(`ENOENT: Directory does not exist ${directoryPath}`);\n // return undefined;\n }\n};\n\nexport const writeFile = (filePath: string, content: string) => {\n const directoryPath = appPath(filePath);\n fs.writeFileSync(directoryPath, content, { encoding: 'utf-8' });\n};\n\nexport const removeFile = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n fs.rmSync(directoryPath);\n }\n};\n\nexport const removeDirectory = (filePath: string) => {\n const directoryPath = appPath(filePath);\n if (fs.existsSync(directoryPath)) {\n fs.rmSync(directoryPath, { force: true, recursive: true });\n }\n};\n\nexport const moveFile = (file: string, fromPath: string, toPath: string) => {\n const from = path.join(appRootDir, `${fromPath}${file}`);\n const to = path.join(appRootDir, `${toPath}${file}`);\n if (fs.existsSync(from)) {\n checkDir(toPath);\n // if (!fs.existsSync(toPath)) fs.mkdirSync(toPath, { recursive: true });\n\n fs.rename(from, to, err => {\n if (err)\n console.error(\n `Could not rename file \"${file}\" from: ${fromPath} to: ${toPath}`,\n err\n );\n console.info(`Renamed file \"${file}\" from: ${fromPath} to: ${toPath}`);\n });\n } else {\n console.error(\n `Could not rename file \"${file}\" from: ${fromPath} to: ${toPath}\\nFile does not exist!`\n );\n }\n};\n\nexport const checkDir = (filePath: string) => {\n const directoryPath = path.dirname(appPath(filePath));\n if (!fs.existsSync(directoryPath))\n fs.mkdirSync(directoryPath, { recursive: true });\n};\n\nexport const appPath = (filePath: string) =>\n path.isAbsolute(filePath) ? filePath : path.join(appRootDir, filePath);\n\nexport const cwdPath = (filePath: string) =>\n path.isAbsolute(filePath) ? filePath : path.join(process.cwd(), filePath);\n\nexport const joinPath = path.join;\n\nexport const addExecutePermission = (filePath: string) =>\n fs.chmodSync(filePath, fs.constants.S_IRWXU);\n\ntype DetectedFileType =\n | { type: 'json'; contents: any }\n | { type: 'xml' | 'csv'; contents: string };\n\nconst detectFileType = (fromFile: string): DetectedFileType | undefined => {\n const fileData = readFile(fromFile);\n if (!fileData) throw new Error(`Unable to read file at ${fromFile}`);\n try {\n // if XML\n if (fileData.startsWith('<')) return { contents: fileData, type: 'xml' };\n\n // if JSON\n const jsonData = tryParse(fileData);\n if (jsonData) return { contents: jsonData, type: 'json' };\n\n // if CSV\n const csv = detectCsv(fileData);\n if (csv) return { contents: fileData, type: 'csv' };\n } catch (ex) {\n Logger.error(`Problem detecting file type ${fromFile}`, ex);\n }\n};\n\nexport const readFileAsJSON = async <T = any>(\n fromFile: string\n): Promise<T | undefined> => {\n const detectedFile = detectFileType(cwdPath(fromFile));\n if (!detectedFile) return undefined;\n try {\n switch (detectedFile.type) {\n case 'csv': {\n const flatJson = await csvToJson(detectedFile.contents);\n const unflattenedJson = flatJson.map(record => unflattenObject(record));\n return unflattenedJson as T;\n }\n case 'xml':\n return (await xmlToJson(detectedFile.contents)) as T;\n\n case 'json':\n default:\n return detectedFile.contents;\n }\n } catch (ex) {\n Logger.error(`Problem converting file from ${detectedFile.type}`, ex);\n }\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["path", "fs"]
7
7
  }
package/dist/version.js CHANGED
@@ -21,7 +21,7 @@ __export(version_exports, {
21
21
  LIB_VERSION: () => LIB_VERSION
22
22
  });
23
23
  module.exports = __toCommonJS(version_exports);
24
- const LIB_VERSION = "1.1.2-beta.1";
24
+ const LIB_VERSION = "1.1.2-beta.2";
25
25
  // Annotate the CommonJS export names for ESM import in node:
26
26
  0 && (module.exports = {
27
27
  LIB_VERSION
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/version.ts"],
4
- "sourcesContent": ["export const LIB_VERSION = \"1.1.2-beta.1\";\n"],
4
+ "sourcesContent": ["export const LIB_VERSION = \"1.1.2-beta.2\";\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,cAAc;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contensis-cli",
3
- "version": "1.1.2-beta.1",
3
+ "version": "1.1.2-beta.2",
4
4
  "description": "A fully featured Contensis command line interface with a shell UI provides simple and intuitive ways to manage or profile your content in any NodeJS terminal.",
5
5
  "repository": "https://github.com/contensis/cli",
6
6
  "homepage": "https://github.com/contensis/cli/tree/main/packages/contensis-cli#readme",
@@ -122,10 +122,13 @@ export class RequestHandlerFactory {
122
122
  }
123
123
 
124
124
  async CheckUpdate({ verbose = false }: { verbose?: boolean } = {}) {
125
- const { debug, log, manifest, messages, moduleInfo } = this;
125
+ const { cmd, debug, log, manifest, messages, moduleInfo } = this;
126
+
126
127
  const github = new GitHubCliModuleProvider(moduleInfo.github);
128
+
127
129
  // Find latest version
128
130
  const release = await github.FindLatestRelease();
131
+
129
132
  if (verbose || debug)
130
133
  if (release)
131
134
  log.info(
@@ -160,6 +163,7 @@ export class RequestHandlerFactory {
160
163
  }
161
164
  try {
162
165
  await github.DownloadRelease(release, {
166
+ cmd,
163
167
  path: downloadPath,
164
168
  // Map NodeJS os platform to release asset name
165
169
  platforms: [
@@ -607,8 +607,7 @@ export const LogMessages = {
607
607
  install: {
608
608
  notFound: (repo: string) =>
609
609
  `Could not find a release in ${repo} repo - please check github`,
610
- download: (repo: string, version: string) =>
611
- `Found release ${repo} ${version}`,
610
+ download: (repo: string, version: string) => `Found release ${version}`,
612
611
  downloading: (repo: string, version: string) =>
613
612
  `Downloading ${repo} ${version}`,
614
613
  downloadFail: (repo: string, version: string) =>
@@ -3,6 +3,7 @@ import Zip from 'adm-zip';
3
3
  import type { Endpoints } from '@octokit/types';
4
4
  import HttpProvider from '~/providers/HttpProvider';
5
5
  import {
6
+ addExecutePermission,
6
7
  checkDir,
7
8
  joinPath,
8
9
  removeDirectory,
@@ -72,10 +73,16 @@ class GitHubCliModuleProvider {
72
73
  async DownloadRelease(
73
74
  release: GitHubApiRelease,
74
75
  {
76
+ cmd,
75
77
  path,
76
78
  platforms,
77
79
  unzip = true,
78
- }: { path: string; unzip?: boolean; platforms: [NodeJS.Platform, string][] }
80
+ }: {
81
+ cmd: string;
82
+ path: string;
83
+ unzip?: boolean;
84
+ platforms: [NodeJS.Platform, string][];
85
+ }
79
86
  ) {
80
87
  // find os-specific asset
81
88
  const platform = platforms.find(p => p[0] === os.platform()) || [
@@ -102,6 +109,8 @@ class GitHubCliModuleProvider {
102
109
  // delete the downloaded zip file
103
110
  removeFile(filePath);
104
111
  }
112
+
113
+ addExecutePermission(joinPath(path, cmd));
105
114
  } else
106
115
  throw new Error(
107
116
  `no asset found in release ${
@@ -93,6 +93,9 @@ export const cwdPath = (filePath: string) =>
93
93
 
94
94
  export const joinPath = path.join;
95
95
 
96
+ export const addExecutePermission = (filePath: string) =>
97
+ fs.chmodSync(filePath, fs.constants.S_IRWXU);
98
+
96
99
  type DetectedFileType =
97
100
  | { type: 'json'; contents: any }
98
101
  | { type: 'xml' | 'csv'; contents: string };
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const LIB_VERSION = "1.1.2-beta.1";
1
+ export const LIB_VERSION = "1.1.2-beta.2";