@ethereal-nexus/cli 0.2.1 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +12 -7
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -95,10 +95,8 @@ var ignoreCommonFiles = [
|
|
|
95
95
|
];
|
|
96
96
|
function getTarExcludeList(excludedPaths = []) {
|
|
97
97
|
const gitignore = fs.existsSync(".gitignore") ? fs.readFileSync(".gitignore", "utf-8") : "";
|
|
98
|
-
const gitignoreFiles = gitignore?.split("\n")?.filter(
|
|
99
|
-
|
|
100
|
-
);
|
|
101
|
-
const ignoreFiles = [
|
|
98
|
+
const gitignoreFiles = gitignore?.split("\n")?.filter((file) => !file?.includes("#") && file?.trim() !== "");
|
|
99
|
+
return [
|
|
102
100
|
...gitignoreFiles,
|
|
103
101
|
...excludedPaths,
|
|
104
102
|
...ignoreCommonFiles,
|
|
@@ -106,18 +104,25 @@ function getTarExcludeList(excludedPaths = []) {
|
|
|
106
104
|
"*.tar.gz",
|
|
107
105
|
"*.tar.xz"
|
|
108
106
|
];
|
|
109
|
-
return `{${ignoreFiles?.map((ignoreFile) => `"${ignoreFile}"`).join(",")}}`;
|
|
110
107
|
}
|
|
111
108
|
|
|
112
109
|
// src/utils/create-tar.ts
|
|
113
110
|
import { create } from "tar";
|
|
111
|
+
import { minimatch } from "minimatch";
|
|
114
112
|
function createTar(folder, excludeList) {
|
|
115
113
|
console.log(folder);
|
|
116
114
|
return create(
|
|
117
115
|
{
|
|
118
116
|
gzip: true,
|
|
119
117
|
file: `${folder}/ethereal_nexus.tar.gz`,
|
|
120
|
-
|
|
118
|
+
filter: (path5) => {
|
|
119
|
+
for (const exclude of excludeList) {
|
|
120
|
+
if (minimatch(path5, exclude)) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
},
|
|
121
126
|
cwd: `${folder}/`,
|
|
122
127
|
sync: true
|
|
123
128
|
},
|
|
@@ -171,7 +176,7 @@ var publish2 = new Command().name("publish").description("publish a component to
|
|
|
171
176
|
logger.warn(
|
|
172
177
|
`Configuration is missing. Please run ${chalk2.green(
|
|
173
178
|
`'init'`
|
|
174
|
-
)} to create an .
|
|
179
|
+
)} to create an .etherealrc file.`
|
|
175
180
|
);
|
|
176
181
|
process.exit(1);
|
|
177
182
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../bin/index.ts","../src/commands/publish.ts","../src/utils/logger.ts","../src/utils/handle-error.ts","../src/utils/get-config.ts","../src/utils/get-tar-exclude-list.ts","../src/utils/create-tar.ts","../src/lib/services/nexus.ts","../src/commands/init.ts","../src/utils/get-package-info.ts","../src/utils/dirname.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from \"commander\"\nimport { publish } from '../src/commands/publish';\nimport { init } from '../src/commands/init';\nimport { getPackageInfo } from \"../src/utils/get-package-info\"\n\nprocess.on(\"SIGINT\", () => process.exit(0))\nprocess.on(\"SIGTERM\", () => process.exit(0))\n\nfunction main() {\n const packageInfo = getPackageInfo();\n\n const program = new Command()\n .name(\"ethereal\")\n .description(\"Add components and dependencies to your Nexus projects.\")\n .version(\n packageInfo.version || \"1.0.0\",\n \"-v, --version\",\n \"display the version number\"\n )\n\n program\n .addCommand(init)\n .addCommand(publish)\n .parse()\n}\n\nmain()","import path from 'path';\nimport chalk from 'chalk';\nimport { existsSync, readdirSync } from 'node:fs';\nimport { Command } from 'commander';\nimport { z } from 'zod';\nimport { handleError } from '../utils/handle-error';\nimport { logger } from '../utils/logger';\nimport { getConfig } from '../utils/get-config';\nimport { getTarExcludeList, ignoreCommonFiles } from '../utils/get-tar-exclude-list';\nimport { createTar } from '../utils/create-tar';\nimport ora from 'ora';\nimport { nexus } from '../lib/services/nexus';\n\nconst publishOptionsSchema = z.object({\n components: z.array(z.string()).optional(),\n yes: z.boolean(),\n overwrite: z.boolean(),\n all: z.boolean(),\n path: z.string().optional()\n});\n\nexport const publish = new Command()\n .name('publish')\n .description('publish a component to your project')\n .argument('[components...]', 'the components to add')\n .option('-y, --yes', 'skip confirmation prompt.', false)\n .option('-o, --overwrite', 'overwrite existing versions.', false)\n .option('-a, --all', 'add all available components', false)\n .option('-p, --path <path>', 'the path to .ethereal folder where the component are.')\n .action(async (components, opts) => {\n try {\n const options = publishOptionsSchema.parse({\n components,\n ...opts\n });\n if (!options.all && !options.components?.length) {\n logger.warn(\n `Either [components...] or --all need to be passed.`\n );\n process.exit(1);\n }\n\n const config = await getConfig();\n if (!config) {\n logger.warn(\n `Configuration is missing. Please run ${chalk.green(\n `'init'`\n )} to create an .ethereal file.`\n );\n process.exit(1);\n }\n\n const distPath = config?.path;\n if (!distPath || !existsSync(distPath)) {\n logger.error(`The path ${distPath} does not exist. Please try again.`);\n process.exit(1);\n }\n\n const selectedComponents = options.all\n ? readdirSync(distPath).filter(folder => !ignoreCommonFiles.includes(folder))\n : options.components!;\n\n const componentPaths = selectedComponents.map(folder => path.resolve(distPath, folder));\n const excludeList = getTarExcludeList();\n const spinner = ora({\n discardStdin: false,\n text: `${chalk.green('Taring files...\\n')}`\n }).start();\n for (const folder of componentPaths) {\n spinner.text = `Taring ${folder}...\\n`;\n createTar(folder, excludeList);\n spinner.stopAndPersist({\n text: folder,\n symbol: chalk.green('✔')\n });\n }\n\n spinner.start(`Publishing...\\n`);\n for (const folder of componentPaths) {\n spinner.text = `Publishing ${folder}...\\n`;\n const tar = `${folder}/ethereal_nexus.tar.gz`;\n try {\n const result = await nexus.publish(tar);\n spinner.stopAndPersist({\n text: folder,\n symbol: chalk.green('✔')\n });\n\n if(result === 409) {\n logger.warn('Some assets were already present.');\n }\n } catch (e) {\n logger.error(`Failed to publish ${tar}.`, e);\n process.exit(1);\n }\n }\n spinner.stop();\n\n logger.info(\"\")\n spinner.succeed(`Done.`);\n logger.info(\n `${chalk.green(\n \"Success!\"\n )} You may now start using your components.`\n )\n } catch (error) {\n handleError(error);\n }\n });\n","import chalk from \"chalk\"\n\nexport const logger = {\n error(...args: unknown[]) {\n console.log(chalk.red(...args))\n },\n warn(...args: unknown[]) {\n console.log(chalk.yellow(...args))\n },\n info(...args: unknown[]) {\n console.log(chalk.cyan(...args))\n },\n success(...args: unknown[]) {\n console.log(chalk.green(...args))\n },\n break() {\n console.log(\"\")\n },\n}","import { logger } from './logger';\n\nexport function handleError(error: unknown) {\n if (typeof error === \"string\") {\n logger.error(error)\n process.exit(1)\n }\n\n if (error instanceof Error) {\n logger.error(error.message)\n process.exit(1)\n }\n\n logger.error(\"Something went wrong. Please try again.\")\n process.exit(1)\n}","import path from \"path\"\nimport { cosmiconfig } from \"cosmiconfig\"\nimport { z } from \"zod\"\n\nexport const DEFAULT_PATH = \"./dist/.ethereal\"\n\nconst explorer = cosmiconfig(\"ethereal\");\n\nexport const configSchema = z\n .object({\n $schema: z.string().optional(),\n url: z.string(),\n auth: z.string(),\n path: z.string().optional()\n })\n .strict()\n\nexport type Config = z.infer<typeof configSchema>\n\nexport async function getRawConfig(cwd: string): Promise<Config | null> {\n try {\n const configResult = await explorer.search(cwd)\n if (!configResult) {\n return null\n }\n\n return configSchema.parse(configResult.config)\n } catch (error) {\n throw new Error(`Invalid configuration found in ${cwd}/components.json.`)\n }\n}\n\nexport async function resolveConfigPaths(cwd: string, config: Config) {\n const sourcePath = config.path ?? DEFAULT_PATH;\n return configSchema.parse({\n ...config,\n path: path.resolve(cwd, sourcePath),\n })\n}\n\nexport async function getConfig() {\n const cwd = path.resolve(process.cwd())\n const config = await getRawConfig(cwd)\n\n if (!config) {\n return null\n }\n\n return await resolveConfigPaths(cwd, config)\n}\n","import fs from 'node:fs';\n\nexport const ignoreCommonFiles = [\n 'package.json',\n 'package-lock.json',\n 'yarn.lock',\n 'pnpm-lock.yaml',\n 'node_modules',\n '.DS_Store'\n]\n\nexport function getTarExcludeList(excludedPaths: string[] = []) {\n const gitignore = fs.existsSync('.gitignore')\n ? fs.readFileSync('.gitignore', 'utf-8')\n : '';\n const gitignoreFiles = gitignore\n ?.split('\\n')\n ?.filter((file) => !file?.includes('#') && file?.trim() !== ''\n );\n\n const ignoreFiles = [\n ...gitignoreFiles,\n ...excludedPaths,\n ...ignoreCommonFiles,\n '*.tar',\n '*.tar.gz',\n '*.tar.xz',\n ]\n\n return `{${ignoreFiles?.map((ignoreFile) => `\"${ignoreFile}\"`).join(',')}}`;\n};","import { create } from 'tar'\n\nexport function createTar(folder: string, excludeList: string) {\n console.log(folder)\n return create(\n {\n gzip: true,\n file: `${folder}/ethereal_nexus.tar.gz`,\n excludeList: excludeList,\n cwd: `${folder}/`,\n sync: true,\n },\n ['.']\n )\n}","import wretch from \"wretch\"\nimport { getConfig } from '../../utils/get-config';\nimport fs from 'node:fs';\nimport path from 'path';\n\nconst config = await getConfig()\nconst nexusApi = wretch(config?.url)\n .auth(`apikey ${config?.auth}`)\n\nconst publish = async (filePath: string) => {\n const form = new FormData();\n const buffer = fs.readFileSync(filePath);\n const blob = new Blob([buffer])\n const fileName = path.basename(filePath);\n\n form.append('file', blob, fileName);\n\n return await nexusApi\n .url(\"/api/v1/publish\")\n .body(form)\n .post()\n .error(409, (error) => 409)\n .json()\n\n}\n\nexport const nexus = {\n publish\n}","import { existsSync, promises as fs } from 'fs';\nimport { Command } from 'commander';\nimport { logger } from '../utils/logger';\nimport chalk from 'chalk';\nimport { handleError } from '../utils/handle-error';\nimport ora from 'ora';\nimport inquirer from 'inquirer';\nimport { configSchema, DEFAULT_PATH } from '../utils/get-config';\nimport { z } from 'zod';\nimport { resolve } from 'node:path';\n\nconst initOptionsSchema = z.object({\n yes: z.boolean(),\n});\n\nexport const init = new Command()\n .name(\"init\")\n .description(\"initialize your project configuration\")\n .option('-y, --yes', 'skip confirmation prompt.', false)\n .action(async (opts) => {\n try {\n const options = initOptionsSchema.parse(opts)\n const cwd = resolve(process.cwd())\n\n // Ensure target directory exists.\n if (!existsSync(cwd)) {\n logger.error(`The path ${cwd} does not exist. Please try again.`)\n process.exit(1)\n }\n\n await promptForConfig(cwd, options.yes)\n\n logger.info(\"\")\n logger.info(\n `${chalk.green(\n \"Success!\"\n )} Project initialization completed. You may now create your components.`\n )\n } catch (error) {\n handleError(error)\n }\n })\n\nexport async function promptForConfig(\n cwd: string,\n skip: boolean,\n) {\n const highlight = (text: string) => chalk.cyan(text)\n\n const options = await inquirer\n .prompt([{\n type: 'input',\n name: 'url',\n message: `What is your ${highlight('Nexus')} instance url?`\n },\n {\n type: 'password',\n name: 'auth',\n message: `What is your ${highlight('Nexus')} instance Api Key?`\n },\n {\n type: 'input',\n name: 'path',\n default: DEFAULT_PATH,\n message: `What is the path for your library output?`\n }\n ])\n\n const config = configSchema.parse({\n url: options.url,\n auth: options.auth,\n path: options.path,\n })\n\n if (!skip) {\n const { proceed } = await inquirer\n .prompt({\n type: \"confirm\",\n name: \"proceed\",\n message: `Write configuration to ${highlight(\n \".etherealrc\"\n )}. Proceed?`,\n default: true,\n })\n\n if (!proceed) {\n process.exit(0)\n }\n }\n logger.info(\"\")\n const spinner = ora(`Writing .etherealrc...`).start()\n const targetPath = resolve(cwd, \".etherealrc\")\n await fs.writeFile(targetPath, JSON.stringify(config, null, 2), \"utf8\")\n spinner.succeed()\n}\n","import path from \"path\"\nimport fs from \"fs-extra\"\nimport { __dirname } from \"./dirname\"\nimport { type PackageJson } from \"type-fest\"\n\nexport function getPackageInfo() {\n const packageJsonPath = path.join(__dirname, \"../package.json\")\n\n return fs.readJSONSync(packageJsonPath) as PackageJson\n}","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nexport const __dirname = dirname(fileURLToPath(import.meta.url));"],"mappings":"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","names":["Command","path","chalk","z","config","fs","path","z","publish","config","chalk","path","existsSync","fs","Command","chalk","ora","z","Command","existsSync","chalk","config","ora","fs","path","fs","path","fs","Command","publish"]}
|
|
1
|
+
{"version":3,"sources":["../bin/index.ts","../src/commands/publish.ts","../src/utils/logger.ts","../src/utils/handle-error.ts","../src/utils/get-config.ts","../src/utils/get-tar-exclude-list.ts","../src/utils/create-tar.ts","../src/lib/services/nexus.ts","../src/commands/init.ts","../src/utils/get-package-info.ts","../src/utils/dirname.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from \"commander\"\nimport { publish } from '../src/commands/publish';\nimport { init } from '../src/commands/init';\nimport { getPackageInfo } from \"../src/utils/get-package-info\"\n\nprocess.on(\"SIGINT\", () => process.exit(0))\nprocess.on(\"SIGTERM\", () => process.exit(0))\n\nfunction main() {\n const packageInfo = getPackageInfo();\n\n const program = new Command()\n .name(\"ethereal\")\n .description(\"Add components and dependencies to your Nexus projects.\")\n .version(\n packageInfo.version || \"1.0.0\",\n \"-v, --version\",\n \"display the version number\"\n )\n\n program\n .addCommand(init)\n .addCommand(publish)\n .parse()\n}\n\nmain()","import path from 'path';\nimport chalk from 'chalk';\nimport { existsSync, readdirSync } from 'node:fs';\nimport { Command } from 'commander';\nimport { z } from 'zod';\nimport { handleError } from '../utils/handle-error';\nimport { logger } from '../utils/logger';\nimport { getConfig } from '../utils/get-config';\nimport { getTarExcludeList, ignoreCommonFiles } from '../utils/get-tar-exclude-list';\nimport { createTar } from '../utils/create-tar';\nimport ora from 'ora';\nimport { nexus } from '../lib/services/nexus';\n\nconst publishOptionsSchema = z.object({\n components: z.array(z.string()).optional(),\n yes: z.boolean(),\n overwrite: z.boolean(),\n all: z.boolean(),\n path: z.string().optional()\n});\n\nexport const publish = new Command()\n .name('publish')\n .description('publish a component to your project')\n .argument('[components...]', 'the components to add')\n .option('-y, --yes', 'skip confirmation prompt.', false)\n .option('-o, --overwrite', 'overwrite existing versions.', false)\n .option('-a, --all', 'add all available components', false)\n .option('-p, --path <path>', 'the path to .ethereal folder where the component are.')\n .action(async (components, opts) => {\n try {\n const options = publishOptionsSchema.parse({\n components,\n ...opts\n });\n if (!options.all && !options.components?.length) {\n logger.warn(\n `Either [components...] or --all need to be passed.`\n );\n process.exit(1);\n }\n\n const config = await getConfig();\n if (!config) {\n logger.warn(\n `Configuration is missing. Please run ${chalk.green(\n `'init'`\n )} to create an .etherealrc file.`\n );\n process.exit(1);\n }\n\n const distPath = config?.path;\n if (!distPath || !existsSync(distPath)) {\n logger.error(`The path ${distPath} does not exist. Please try again.`);\n process.exit(1);\n }\n\n const selectedComponents = options.all\n ? readdirSync(distPath).filter(folder => !ignoreCommonFiles.includes(folder))\n : options.components!;\n\n const componentPaths = selectedComponents.map(folder => path.resolve(distPath, folder));\n const excludeList = getTarExcludeList();\n const spinner = ora({\n discardStdin: false,\n text: `${chalk.green('Taring files...\\n')}`\n }).start();\n for (const folder of componentPaths) {\n spinner.text = `Taring ${folder}...\\n`;\n createTar(folder, excludeList);\n spinner.stopAndPersist({\n text: folder,\n symbol: chalk.green('✔')\n });\n }\n\n spinner.start(`Publishing...\\n`);\n for (const folder of componentPaths) {\n spinner.text = `Publishing ${folder}...\\n`;\n const tar = `${folder}/ethereal_nexus.tar.gz`;\n try {\n const result = await nexus.publish(tar);\n spinner.stopAndPersist({\n text: folder,\n symbol: chalk.green('✔')\n });\n\n if(result === 409) {\n logger.warn('Some assets were already present.');\n }\n } catch (e) {\n logger.error(`Failed to publish ${tar}.`, e);\n process.exit(1);\n }\n }\n spinner.stop();\n\n logger.info(\"\")\n spinner.succeed(`Done.`);\n logger.info(\n `${chalk.green(\n \"Success!\"\n )} You may now start using your components.`\n )\n } catch (error) {\n handleError(error);\n }\n });\n","import chalk from \"chalk\"\n\nexport const logger = {\n error(...args: unknown[]) {\n console.log(chalk.red(...args))\n },\n warn(...args: unknown[]) {\n console.log(chalk.yellow(...args))\n },\n info(...args: unknown[]) {\n console.log(chalk.cyan(...args))\n },\n success(...args: unknown[]) {\n console.log(chalk.green(...args))\n },\n break() {\n console.log(\"\")\n },\n}","import { logger } from './logger';\n\nexport function handleError(error: unknown) {\n if (typeof error === \"string\") {\n logger.error(error)\n process.exit(1)\n }\n\n if (error instanceof Error) {\n logger.error(error.message)\n process.exit(1)\n }\n\n logger.error(\"Something went wrong. Please try again.\")\n process.exit(1)\n}","import path from \"path\"\nimport { cosmiconfig } from \"cosmiconfig\"\nimport { z } from \"zod\"\n\nexport const DEFAULT_PATH = \"./dist/.ethereal\"\n\nconst explorer = cosmiconfig(\"ethereal\");\n\nexport const configSchema = z\n .object({\n $schema: z.string().optional(),\n url: z.string(),\n auth: z.string(),\n path: z.string().optional()\n })\n .strict()\n\nexport type Config = z.infer<typeof configSchema>\n\nexport async function getRawConfig(cwd: string): Promise<Config | null> {\n try {\n const configResult = await explorer.search(cwd)\n if (!configResult) {\n return null\n }\n\n return configSchema.parse(configResult.config)\n } catch (error) {\n throw new Error(`Invalid configuration found in ${cwd}/components.json.`)\n }\n}\n\nexport async function resolveConfigPaths(cwd: string, config: Config) {\n const sourcePath = config.path ?? DEFAULT_PATH;\n return configSchema.parse({\n ...config,\n path: path.resolve(cwd, sourcePath),\n })\n}\n\nexport async function getConfig() {\n const cwd = path.resolve(process.cwd())\n const config = await getRawConfig(cwd)\n\n if (!config) {\n return null\n }\n\n return await resolveConfigPaths(cwd, config)\n}\n","import fs from 'node:fs';\n\nexport const ignoreCommonFiles = [\n 'package.json',\n 'package-lock.json',\n 'yarn.lock',\n 'pnpm-lock.yaml',\n 'node_modules',\n '.DS_Store'\n]\n\nexport function getTarExcludeList(excludedPaths: string[] = []) {\n const gitignore = fs.existsSync('.gitignore')\n ? fs.readFileSync('.gitignore', 'utf-8')\n : '';\n const gitignoreFiles = gitignore\n ?.split('\\n')\n ?.filter((file) => !file?.includes('#') && file?.trim() !== '');\n\n return [\n ...gitignoreFiles,\n ...excludedPaths,\n ...ignoreCommonFiles,\n '*.tar',\n '*.tar.gz',\n '*.tar.xz',\n ]\n}\n","import { create } from 'tar'\nimport { minimatch } from 'minimatch'\n\nexport function createTar(folder: string, excludeList: string[]) {\n console.log(folder)\n return create(\n {\n gzip: true,\n file: `${folder}/ethereal_nexus.tar.gz`,\n filter: (path) => {\n for (const exclude of excludeList) {\n if (minimatch(path, exclude)) {\n return false\n }\n }\n return true\n },\n cwd: `${folder}/`,\n sync: true,\n },\n ['.']\n )\n}","import wretch from \"wretch\"\nimport { getConfig } from '../../utils/get-config';\nimport fs from 'node:fs';\nimport path from 'path';\n\nconst config = await getConfig()\nconst nexusApi = wretch(config?.url)\n .auth(`apikey ${config?.auth}`)\n\nconst publish = async (filePath: string) => {\n const form = new FormData();\n const buffer = fs.readFileSync(filePath);\n const blob = new Blob([buffer])\n const fileName = path.basename(filePath);\n\n form.append('file', blob, fileName);\n\n return await nexusApi\n .url(\"/api/v1/publish\")\n .body(form)\n .post()\n .error(409, (error) => 409)\n .json()\n\n}\n\nexport const nexus = {\n publish\n}","import { existsSync, promises as fs } from 'fs';\nimport { Command } from 'commander';\nimport { logger } from '../utils/logger';\nimport chalk from 'chalk';\nimport { handleError } from '../utils/handle-error';\nimport ora from 'ora';\nimport inquirer from 'inquirer';\nimport { configSchema, DEFAULT_PATH } from '../utils/get-config';\nimport { z } from 'zod';\nimport { resolve } from 'node:path';\n\nconst initOptionsSchema = z.object({\n yes: z.boolean(),\n});\n\nexport const init = new Command()\n .name(\"init\")\n .description(\"initialize your project configuration\")\n .option('-y, --yes', 'skip confirmation prompt.', false)\n .action(async (opts) => {\n try {\n const options = initOptionsSchema.parse(opts)\n const cwd = resolve(process.cwd())\n\n // Ensure target directory exists.\n if (!existsSync(cwd)) {\n logger.error(`The path ${cwd} does not exist. Please try again.`)\n process.exit(1)\n }\n\n await promptForConfig(cwd, options.yes)\n\n logger.info(\"\")\n logger.info(\n `${chalk.green(\n \"Success!\"\n )} Project initialization completed. You may now create your components.`\n )\n } catch (error) {\n handleError(error)\n }\n })\n\nexport async function promptForConfig(\n cwd: string,\n skip: boolean,\n) {\n const highlight = (text: string) => chalk.cyan(text)\n\n const options = await inquirer\n .prompt([{\n type: 'input',\n name: 'url',\n message: `What is your ${highlight('Nexus')} instance url?`\n },\n {\n type: 'password',\n name: 'auth',\n message: `What is your ${highlight('Nexus')} instance Api Key?`\n },\n {\n type: 'input',\n name: 'path',\n default: DEFAULT_PATH,\n message: `What is the path for your library output?`\n }\n ])\n\n const config = configSchema.parse({\n url: options.url,\n auth: options.auth,\n path: options.path,\n })\n\n if (!skip) {\n const { proceed } = await inquirer\n .prompt({\n type: \"confirm\",\n name: \"proceed\",\n message: `Write configuration to ${highlight(\n \".etherealrc\"\n )}. Proceed?`,\n default: true,\n })\n\n if (!proceed) {\n process.exit(0)\n }\n }\n logger.info(\"\")\n const spinner = ora(`Writing .etherealrc...`).start()\n const targetPath = resolve(cwd, \".etherealrc\")\n await fs.writeFile(targetPath, JSON.stringify(config, null, 2), \"utf8\")\n spinner.succeed()\n}\n","import path from \"path\"\nimport fs from \"fs-extra\"\nimport { __dirname } from \"./dirname\"\nimport { type PackageJson } from \"type-fest\"\n\nexport function getPackageInfo() {\n const packageJsonPath = path.join(__dirname, \"../package.json\")\n\n return fs.readJSONSync(packageJsonPath) as PackageJson\n}","import { dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nexport const __dirname = dirname(fileURLToPath(import.meta.url));"],"mappings":"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","names":["Command","path","chalk","z","config","path","fs","path","z","publish","config","chalk","path","existsSync","fs","Command","chalk","ora","z","Command","existsSync","chalk","config","ora","fs","path","fs","path","fs","Command","publish"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ethereal-nexus/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"cosmiconfig": "^9.0.0",
|
|
16
16
|
"fs-extra": "^11.2.0",
|
|
17
17
|
"inquirer": "^9.2.22",
|
|
18
|
+
"minimatch": "^10.0.1",
|
|
18
19
|
"ora": "^8.0.1",
|
|
19
20
|
"tar": "^7.4.0",
|
|
20
21
|
"wretch": "^2.8.1",
|