🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@ismartify/cli

Package Overview
Dependencies
Maintainers
2
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ismartify/cli - npm Package Compare versions

Comparing version
1.0.15
to
1.0.16
+21
-4
dist/index.js

@@ -43,3 +43,3 @@ #!/usr/bin/env node

try {
const script = await jiti.import(`./scripts/${scriptName}.ts`, { default: true });
const script = await jiti.import(`../src/scripts/${scriptName}.ts`, { default: true });
if (script instanceof Map) {

@@ -62,3 +62,3 @@ console.log(`

name: "ismartify",
version: "1.0.14",
version: "1.0.15",
config

@@ -68,3 +68,5 @@ };

if (args.length > 0) {
await runScript(args[0], context);
const scriptName = args[0];
console.log(`\u5C1D\u8BD5\u8FD0\u884C\u5185\u5D4C\u811A\u672C: ${scriptName}`);
await runScript(scriptName, context);
return;

@@ -80,3 +82,4 @@ }

{ name: "\u663E\u793A\u73AF\u5883\u8BBE\u7F6E", value: "setup" },
{ name: "\u8FD0\u884C\u811A\u672C", value: "run" },
{ name: "\u8FD0\u884C\u672C\u5730\u811A\u672C", value: "run" },
{ name: "\u8FD0\u884C\u5185\u5D4C\u811A\u672C", value: "builtin" },
{ name: "\u9000\u51FA", value: "exit" }

@@ -118,2 +121,16 @@ ]

break;
case "builtin":
const { builtinScript } = await inquirer.prompt([
{
type: "list",
name: "builtinScript",
message: "\u8BF7\u9009\u62E9\u8981\u8FD0\u884C\u7684\u5185\u5D4C\u811A\u672C\uFF1A",
choices: [
{ name: "Version - \u663E\u793A\u7248\u672C\u4FE1\u606F", value: "version" },
{ name: "Server - \u542F\u52A8 HTTP \u670D\u52A1\u5668", value: "server" }
]
}
]);
await runScript(builtinScript, context);
break;
case "exit":

@@ -120,0 +137,0 @@ console.log("\u611F\u8C22\u4F7F\u7528\uFF0C\u518D\u89C1\uFF01");

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport inquirer from 'inquirer';\nimport { createJiti } from 'jiti';\nimport { glob } from 'glob';\nimport { join } from 'path';\nimport { cwd } from 'process';\n\ninterface Config {\n [key: string]: any;\n}\n\ninterface ScriptContext {\n name: string;\n version: string;\n config: Config;\n}\n\ninterface ScriptModule {\n title: string;\n description: string;\n setup?: (context: ScriptContext) => Promise<void>;\n main: (context: ScriptContext) => Promise<void>;\n}\n\nasync function loadConfig(): Promise<Config> {\n const jiti = createJiti(cwd());\n try {\n const config = await jiti.import('./ismartify.config.js', { default: true }) as Config;\n return config;\n } catch (error) {\n console.log('未找到配置文件,使用空配置');\n return {};\n }\n}\n\nasync function loadScripts(scriptsDir: string): Promise<ScriptModule[]> {\n const jiti = createJiti(cwd());\n const files = await glob('**/*.ts', { cwd: scriptsDir });\n \n const scripts: ScriptModule[] = [];\n for (const file of files) {\n try {\n const script = await jiti.import(join(scriptsDir, file), { default: true });\n if (script instanceof Map) {\n scripts.push({\n title: script.get('title') || file.replace('.ts', ''),\n description: script.get('description') || '',\n setup: script.get('setup'),\n main: script.get('main')\n });\n }\n } catch (error) {\n console.error(`无法加载脚本 ${file}:`, error);\n }\n }\n return scripts;\n}\n\nasync function runScript(scriptName: string, context: ScriptContext) {\n const jiti = createJiti(import.meta.url);\n try {\n const script = await jiti.import(`./scripts/${scriptName}.ts`, { default: true });\n if (script instanceof Map) {\n console.log(`\\n正在运行内嵌脚本: ${scriptName}`);\n if (script.get('setup')) {\n await script.get('setup')(context);\n }\n await script.get('main')(context);\n }\n } catch (error) {\n console.error(`无法运行内嵌脚本 ${scriptName}:`, error);\n process.exit(1);\n }\n}\n\nasync function main() {\n const config = await loadConfig();\n const context: ScriptContext = {\n name: 'ismartify',\n version: '1.0.14',\n config\n };\n\n // 检查是否有命令行参数\n const args = process.argv.slice(2);\n if (args.length > 0) {\n // 如果有参数,尝试运行内嵌脚本\n await runScript(args[0], context);\n return;\n }\n\n const scripts = await loadScripts(join(cwd(), 'scripts'));\n\n const { action } = await inquirer.prompt([\n {\n type: 'list',\n name: 'action',\n message: '请选择操作:',\n choices: [\n { name: '显示环境设置', value: 'setup' },\n { name: '运行脚本', value: 'run' },\n { name: '退出', value: 'exit' }\n ]\n }\n ]);\n\n switch (action) {\n case 'setup':\n console.log('\\n当前环境设置:');\n console.log(JSON.stringify(config, null, 2));\n break;\n case 'run':\n if (scripts.length === 0) {\n console.log('没有找到可用的脚本');\n break;\n }\n const { script } = await inquirer.prompt([\n {\n type: 'list',\n name: 'script',\n message: '请选择要运行的脚本:',\n choices: scripts.map(s => ({ \n name: `${s.title} - ${s.description}`, \n value: s \n }))\n }\n ]);\n\n console.log(`\\n正在运行: ${script.title}`);\n console.log(`描述: ${script.description}\\n`);\n\n // 先运行 setup(如果有)\n if (script.setup) {\n await script.setup(context);\n }\n // 再运行 main\n if (script.main) {\n await script.main(context);\n }\n break;\n case 'exit':\n console.log('感谢使用,再见!');\n process.exit(0);\n break;\n }\n}\n\nmain().catch((err) => {\n console.error('发生错误:', err);\n process.exit(1);\n});\n"],"mappings":"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","names":[]}
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport inquirer from 'inquirer';\nimport { createJiti } from 'jiti';\nimport { glob } from 'glob';\nimport { join } from 'path';\nimport { cwd } from 'process';\n\ninterface Config {\n [key: string]: any;\n}\n\ninterface ScriptContext {\n name: string;\n version: string;\n config: Config;\n}\n\ninterface ScriptModule {\n title: string;\n description: string;\n setup?: (context: ScriptContext) => Promise<void>;\n main: (context: ScriptContext) => Promise<void>;\n}\n\nasync function loadConfig(): Promise<Config> {\n const jiti = createJiti(cwd());\n try {\n const config = await jiti.import('./ismartify.config.js', { default: true }) as Config;\n return config;\n } catch (error) {\n console.log('未找到配置文件,使用空配置');\n return {};\n }\n}\n\nasync function loadScripts(scriptsDir: string): Promise<ScriptModule[]> {\n const jiti = createJiti(cwd());\n const files = await glob('**/*.ts', { cwd: scriptsDir });\n \n const scripts: ScriptModule[] = [];\n for (const file of files) {\n try {\n const script = await jiti.import(join(scriptsDir, file), { default: true });\n if (script instanceof Map) {\n scripts.push({\n title: script.get('title') || file.replace('.ts', ''),\n description: script.get('description') || '',\n setup: script.get('setup'),\n main: script.get('main')\n });\n }\n } catch (error) {\n console.error(`无法加载脚本 ${file}:`, error);\n }\n }\n return scripts;\n}\n\nasync function runScript(scriptName: string, context: ScriptContext) {\n const jiti = createJiti(import.meta.url);\n try {\n const script = await jiti.import(`../src/scripts/${scriptName}.ts`, { default: true });\n if (script instanceof Map) {\n console.log(`\\n正在运行内嵌脚本: ${scriptName}`);\n if (script.get('setup')) {\n await script.get('setup')(context);\n }\n await script.get('main')(context);\n }\n } catch (error) {\n console.error(`无法运行内嵌脚本 ${scriptName}:`, error);\n process.exit(1);\n }\n}\n\nasync function main() {\n const config = await loadConfig();\n const context: ScriptContext = {\n name: 'ismartify',\n version: '1.0.15',\n config\n };\n\n // 检查是否有命令行参数\n const args = process.argv.slice(2);\n if (args.length > 0) {\n // 如果有参数,尝试运行内嵌脚本\n const scriptName = args[0];\n console.log(`尝试运行内嵌脚本: ${scriptName}`);\n await runScript(scriptName, context);\n return;\n }\n\n const scripts = await loadScripts(join(cwd(), 'scripts'));\n\n const { action } = await inquirer.prompt([\n {\n type: 'list',\n name: 'action',\n message: '请选择操作:',\n choices: [\n { name: '显示环境设置', value: 'setup' },\n { name: '运行本地脚本', value: 'run' },\n { name: '运行内嵌脚本', value: 'builtin' },\n { name: '退出', value: 'exit' }\n ]\n }\n ]);\n\n switch (action) {\n case 'setup':\n console.log('\\n当前环境设置:');\n console.log(JSON.stringify(config, null, 2));\n break;\n case 'run':\n if (scripts.length === 0) {\n console.log('没有找到可用的脚本');\n break;\n }\n const { script } = await inquirer.prompt([\n {\n type: 'list',\n name: 'script',\n message: '请选择要运行的脚本:',\n choices: scripts.map(s => ({ \n name: `${s.title} - ${s.description}`, \n value: s \n }))\n }\n ]);\n\n console.log(`\\n正在运行: ${script.title}`);\n console.log(`描述: ${script.description}\\n`);\n\n // 先运行 setup(如果有)\n if (script.setup) {\n await script.setup(context);\n }\n // 再运行 main\n if (script.main) {\n await script.main(context);\n }\n break;\n case 'builtin':\n const { builtinScript } = await inquirer.prompt([\n {\n type: 'list',\n name: 'builtinScript',\n message: '请选择要运行的内嵌脚本:',\n choices: [\n { name: 'Version - 显示版本信息', value: 'version' },\n { name: 'Server - 启动 HTTP 服务器', value: 'server' }\n ]\n }\n ]);\n await runScript(builtinScript, context);\n break;\n case 'exit':\n console.log('感谢使用,再见!');\n process.exit(0);\n break;\n }\n}\n\nmain().catch((err) => {\n console.error('发生错误:', err);\n process.exit(1);\n});\n"],"mappings":"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","names":[]}
{
"name": "@ismartify/cli",
"version": "1.0.15",
"version": "1.0.16",
"description": "iSmartify CLI 工具",

@@ -5,0 +5,0 @@ "type": "module",