assistant-ui 0.0.13 → 0.0.14
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 +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -175,7 +175,7 @@ import { Command as Command3 } from "commander";
|
|
|
175
175
|
// package.json
|
|
176
176
|
var package_default = {
|
|
177
177
|
name: "assistant-ui",
|
|
178
|
-
version: "0.0.
|
|
178
|
+
version: "0.0.14",
|
|
179
179
|
license: "MIT",
|
|
180
180
|
type: "module",
|
|
181
181
|
dependencies: {
|
|
@@ -190,7 +190,7 @@ var package_default = {
|
|
|
190
190
|
},
|
|
191
191
|
devDependencies: {
|
|
192
192
|
"@assistant-ui/tsconfig": "workspace:*",
|
|
193
|
-
"@types/node": "^22.7.
|
|
193
|
+
"@types/node": "^22.7.5",
|
|
194
194
|
tsup: "8.3.0"
|
|
195
195
|
},
|
|
196
196
|
files: [
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/add.ts","../src/utils/get-component-target-path.ts","../src/utils/get-config.ts","../src/utils/resolve-import.ts","../src/index.ts","../package.json","../src/commands/create.ts"],"sourcesContent":["import { existsSync, mkdirSync } from \"node:fs\";\nimport path from \"node:path\";\nimport chalk from \"chalk\";\nimport { Command } from \"commander\";\nimport { spawn } from \"cross-spawn\";\nimport { getComponentTargetPath } from \"../utils/get-component-target-path\";\nimport { type Config, getConfig } from \"../utils/get-config\";\n\nconst SHADCN_CLI_VERSION = \"0.8.0\";\n\nconst getTargetPath = (config: Config, pathOverride: string) => {\n const baseConfig = pathOverride ?? getComponentTargetPath(config);\n if (!baseConfig) {\n console.warn(\n `Unable to determine the base path. Please run ${chalk.green(\n \"npx shadcn-ui init\",\n )} to create a components.json file.`,\n );\n process.exit(1);\n }\n\n return [baseConfig, path.join(baseConfig, \"assistant-ui\")] as const;\n};\n\nexport const add = new Command()\n .name(\"add\")\n .description(\"add a component to your project\")\n .argument(\"[components...]\", \"the components to add\")\n .option(\"-y, --yes\", \"skip confirmation prompt.\", true)\n .option(\"-o, --overwrite\", \"overwrite existing files.\", false)\n .option(\n \"-c, --cwd <cwd>\",\n \"the working directory. defaults to the current directory.\",\n process.cwd(),\n )\n .option(\"-a, --all\", \"add all available components\", false)\n .option(\"-p, --path <path>\", \"the path to add the component to.\")\n .action(async (_, opts) => {\n const cwd = path.resolve(opts.cwd);\n const config = await getConfig(cwd);\n\n if (!config) {\n console.warn(\n `Configuration is missing. Please run ${chalk.green(\n \"npx shadcn-ui init\",\n )} to create a components.json file.`,\n );\n process.exit(1);\n }\n\n const [basePath, targetPath] = getTargetPath(config, opts.path);\n\n // create target path directory if it doesnt exist\n if (targetPath && !existsSync(targetPath)) {\n mkdirSync(targetPath, { recursive: true });\n }\n\n const child = spawn(\n \"npx\",\n [\n `shadcn-ui@${SHADCN_CLI_VERSION}`,\n ...process.argv.slice(2),\n \"--path\",\n basePath,\n ],\n {\n stdio: \"inherit\",\n env: {\n COMPONENTS_REGISTRY_URL: \"https://www.assistant-ui.com\",\n ...process.env,\n },\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n","import path from \"node:path\";\nimport type { Config } from \"./get-config\";\n\nexport function getComponentTargetPath(config: Config) {\n if (config.aliases.ui) {\n return config.resolvedPaths.ui;\n }\n\n const [parent, type] = [\"components\", \"ui\"];\n if (!(parent in config.resolvedPaths)) {\n return null;\n }\n\n return path.join(\n config.resolvedPaths[parent as keyof typeof config.resolvedPaths],\n type,\n );\n}\n","import path from \"node:path\";\nimport { cosmiconfig } from \"cosmiconfig\";\nimport { loadConfig } from \"tsconfig-paths\";\nimport { z } from \"zod\";\nimport { resolveImport } from \"./resolve-import\";\n\nconst explorer = cosmiconfig(\"components\", {\n searchPlaces: [\"components.json\"],\n});\n\nexport const rawConfigSchema = z.object({\n $schema: z.string().optional(),\n style: z.string(),\n rsc: z.coerce.boolean().default(false),\n tsx: z.coerce.boolean().default(true),\n tailwind: z.object({\n config: z.string(),\n css: z.string(),\n baseColor: z.string(),\n cssVariables: z.boolean().default(true),\n prefix: z.string().default(\"\").optional(),\n }),\n aliases: z.object({\n components: z.string(),\n utils: z.string(),\n ui: z.string().optional(),\n }),\n});\n\nexport type RawConfig = z.infer<typeof rawConfigSchema>;\n\nexport const configSchema = rawConfigSchema.extend({\n resolvedPaths: z.object({\n tailwindConfig: z.string(),\n tailwindCss: z.string(),\n utils: z.string(),\n components: z.string(),\n ui: z.string(),\n }),\n});\n\nexport type Config = z.infer<typeof configSchema>;\n\nexport async function getConfig(cwd: string) {\n const config = await getRawConfig(cwd);\n\n if (!config) {\n return null;\n }\n\n return resolveConfigPaths(cwd, config);\n}\n\nexport function resolveConfigPaths(cwd: string, config: RawConfig) {\n // Read tsconfig.json.\n const tsConfig = loadConfig(cwd);\n\n if (tsConfig.resultType === \"failed\") {\n throw new Error(\n `Failed to load ${config.tsx ? \"tsconfig\" : \"jsconfig\"}.json. ${\n tsConfig.message ?? \"\"\n }`.trim(),\n );\n }\n\n return configSchema.parse({\n ...config,\n resolvedPaths: {\n tailwindConfig: path.resolve(cwd, config.tailwind.config),\n tailwindCss: path.resolve(cwd, config.tailwind.css),\n utils: resolveImport(config.aliases[\"utils\"], tsConfig),\n components: resolveImport(config.aliases[\"components\"], tsConfig),\n ui: config.aliases[\"ui\"]\n ? resolveImport(config.aliases[\"ui\"], tsConfig)\n : resolveImport(config.aliases[\"components\"], tsConfig),\n },\n });\n}\n\nexport async function getRawConfig(cwd: string): Promise<RawConfig | null> {\n try {\n const configResult = await explorer.search(cwd);\n\n if (!configResult) {\n return null;\n }\n\n return rawConfigSchema.parse(configResult.config);\n } catch (error) {\n throw new Error(`Invalid configuration found in ${cwd}/components.json.`);\n }\n}\n","import {\n type ConfigLoaderSuccessResult,\n createMatchPath,\n} from \"tsconfig-paths\";\n\nexport function resolveImport(\n importPath: string,\n config: Pick<ConfigLoaderSuccessResult, \"absoluteBaseUrl\" | \"paths\">,\n) {\n return createMatchPath(config.absoluteBaseUrl, config.paths)(\n importPath,\n undefined,\n () => true,\n [\".ts\", \".tsx\"],\n );\n}\n","#!/usr/bin/env node\n\nimport { add } from \"@/src/commands/add\";\nimport { Command } from \"commander\";\n\nimport packageJson from \"../package.json\";\nimport { create } from \"./commands/create\";\n\nprocess.on(\"SIGINT\", () => process.exit(0));\nprocess.on(\"SIGTERM\", () => process.exit(0));\n\nasync function main() {\n const program = new Command()\n .name(\"assistant-ui\")\n .description(\"add components and dependencies to your project\")\n .version(\n packageJson.version || \"1.0.0\",\n \"-v, --version\",\n \"display the version number\",\n );\n\n program.addCommand(add);\n program.addCommand(create);\n\n program.parse();\n}\n\nmain();\n","{\n \"name\": \"assistant-ui\",\n \"version\": \"0.0.13\",\n \"license\": \"MIT\",\n \"type\": \"module\",\n \"dependencies\": {\n \"@types/cross-spawn\": \"^6.0.6\",\n \"chalk\": \"^5.3.0\",\n \"commander\": \"^12.1.0\",\n \"cosmiconfig\": \"^9.0.0\",\n \"cross-spawn\": \"^7.0.3\",\n \"shadcn-ui\": \"0.8.0\",\n \"tsconfig-paths\": \"^4.2.0\",\n \"zod\": \"^3.23.8\"\n },\n \"devDependencies\": {\n \"@assistant-ui/tsconfig\": \"workspace:*\",\n \"@types/node\": \"^22.7.4\",\n \"tsup\": \"8.3.0\"\n },\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"bin\": \"./dist/index.js\",\n \"scripts\": {\n \"build\": \"tsup src/index.ts --format esm --sourcemap --clean\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"provenance\": true\n },\n \"homepage\": \"https://assistant-ui.com/\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Yonom/assistant-ui.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/Yonom/assistant-ui/issues\"\n }\n}\n","import { Command } from \"commander\";\nimport chalk from \"chalk\";\nimport { spawn } from \"cross-spawn\";\n\nexport const create = new Command()\n .name(\"create\")\n .description(\"create a new project\")\n .argument(\"[project-directory]\")\n .usage(`${chalk.green(\"[project-directory]\")} [options]`)\n .option(\n \"-t, --template <template>\",\n `\n\n The template to use for the project, e.g. default, langgraph\n`,\n )\n .option(\n \"--use-npm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using npm\n`,\n )\n .option(\n \"--use-pnpm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using pnpm\n`,\n )\n .option(\n \"--use-yarn\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Yarn\n`,\n )\n .option(\n \"--use-bun\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Bun\n`,\n )\n .option(\n \"--skip-install\",\n `\n\n Explicitly tell the CLI to skip installing packages\n`,\n )\n .action((_, opts) => {\n const templates = {\n default: \"https://github.com/Yonom/assistant-ui-starter\",\n langgraph: \"https://github.com/Yonom/assistant-ui-starter-langgraph\",\n };\n\n const templateUrl =\n templates[(opts.template as keyof typeof templates) ?? \"default\"];\n if (!templateUrl) {\n console.error(`Unknown template: ${opts.template}`);\n process.exit(1);\n }\n\n const child = spawn(\n \"npx\",\n [`create-next-app@latest`, ...process.argv.slice(3), \"-e\", templateUrl],\n {\n stdio: \"inherit\",\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n"],"mappings":"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","names":["path","path","path","path","Command","Command","chalk","spawn","Command"]}
|
|
1
|
+
{"version":3,"sources":["../src/commands/add.ts","../src/utils/get-component-target-path.ts","../src/utils/get-config.ts","../src/utils/resolve-import.ts","../src/index.ts","../package.json","../src/commands/create.ts"],"sourcesContent":["import { existsSync, mkdirSync } from \"node:fs\";\nimport path from \"node:path\";\nimport chalk from \"chalk\";\nimport { Command } from \"commander\";\nimport { spawn } from \"cross-spawn\";\nimport { getComponentTargetPath } from \"../utils/get-component-target-path\";\nimport { type Config, getConfig } from \"../utils/get-config\";\n\nconst SHADCN_CLI_VERSION = \"0.8.0\";\n\nconst getTargetPath = (config: Config, pathOverride: string) => {\n const baseConfig = pathOverride ?? getComponentTargetPath(config);\n if (!baseConfig) {\n console.warn(\n `Unable to determine the base path. Please run ${chalk.green(\n \"npx shadcn-ui init\",\n )} to create a components.json file.`,\n );\n process.exit(1);\n }\n\n return [baseConfig, path.join(baseConfig, \"assistant-ui\")] as const;\n};\n\nexport const add = new Command()\n .name(\"add\")\n .description(\"add a component to your project\")\n .argument(\"[components...]\", \"the components to add\")\n .option(\"-y, --yes\", \"skip confirmation prompt.\", true)\n .option(\"-o, --overwrite\", \"overwrite existing files.\", false)\n .option(\n \"-c, --cwd <cwd>\",\n \"the working directory. defaults to the current directory.\",\n process.cwd(),\n )\n .option(\"-a, --all\", \"add all available components\", false)\n .option(\"-p, --path <path>\", \"the path to add the component to.\")\n .action(async (_, opts) => {\n const cwd = path.resolve(opts.cwd);\n const config = await getConfig(cwd);\n\n if (!config) {\n console.warn(\n `Configuration is missing. Please run ${chalk.green(\n \"npx shadcn-ui init\",\n )} to create a components.json file.`,\n );\n process.exit(1);\n }\n\n const [basePath, targetPath] = getTargetPath(config, opts.path);\n\n // create target path directory if it doesnt exist\n if (targetPath && !existsSync(targetPath)) {\n mkdirSync(targetPath, { recursive: true });\n }\n\n const child = spawn(\n \"npx\",\n [\n `shadcn-ui@${SHADCN_CLI_VERSION}`,\n ...process.argv.slice(2),\n \"--path\",\n basePath,\n ],\n {\n stdio: \"inherit\",\n env: {\n COMPONENTS_REGISTRY_URL: \"https://www.assistant-ui.com\",\n ...process.env,\n },\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n","import path from \"node:path\";\nimport type { Config } from \"./get-config\";\n\nexport function getComponentTargetPath(config: Config) {\n if (config.aliases.ui) {\n return config.resolvedPaths.ui;\n }\n\n const [parent, type] = [\"components\", \"ui\"];\n if (!(parent in config.resolvedPaths)) {\n return null;\n }\n\n return path.join(\n config.resolvedPaths[parent as keyof typeof config.resolvedPaths],\n type,\n );\n}\n","import path from \"node:path\";\nimport { cosmiconfig } from \"cosmiconfig\";\nimport { loadConfig } from \"tsconfig-paths\";\nimport { z } from \"zod\";\nimport { resolveImport } from \"./resolve-import\";\n\nconst explorer = cosmiconfig(\"components\", {\n searchPlaces: [\"components.json\"],\n});\n\nexport const rawConfigSchema = z.object({\n $schema: z.string().optional(),\n style: z.string(),\n rsc: z.coerce.boolean().default(false),\n tsx: z.coerce.boolean().default(true),\n tailwind: z.object({\n config: z.string(),\n css: z.string(),\n baseColor: z.string(),\n cssVariables: z.boolean().default(true),\n prefix: z.string().default(\"\").optional(),\n }),\n aliases: z.object({\n components: z.string(),\n utils: z.string(),\n ui: z.string().optional(),\n }),\n});\n\nexport type RawConfig = z.infer<typeof rawConfigSchema>;\n\nexport const configSchema = rawConfigSchema.extend({\n resolvedPaths: z.object({\n tailwindConfig: z.string(),\n tailwindCss: z.string(),\n utils: z.string(),\n components: z.string(),\n ui: z.string(),\n }),\n});\n\nexport type Config = z.infer<typeof configSchema>;\n\nexport async function getConfig(cwd: string) {\n const config = await getRawConfig(cwd);\n\n if (!config) {\n return null;\n }\n\n return resolveConfigPaths(cwd, config);\n}\n\nexport function resolveConfigPaths(cwd: string, config: RawConfig) {\n // Read tsconfig.json.\n const tsConfig = loadConfig(cwd);\n\n if (tsConfig.resultType === \"failed\") {\n throw new Error(\n `Failed to load ${config.tsx ? \"tsconfig\" : \"jsconfig\"}.json. ${\n tsConfig.message ?? \"\"\n }`.trim(),\n );\n }\n\n return configSchema.parse({\n ...config,\n resolvedPaths: {\n tailwindConfig: path.resolve(cwd, config.tailwind.config),\n tailwindCss: path.resolve(cwd, config.tailwind.css),\n utils: resolveImport(config.aliases[\"utils\"], tsConfig),\n components: resolveImport(config.aliases[\"components\"], tsConfig),\n ui: config.aliases[\"ui\"]\n ? resolveImport(config.aliases[\"ui\"], tsConfig)\n : resolveImport(config.aliases[\"components\"], tsConfig),\n },\n });\n}\n\nexport async function getRawConfig(cwd: string): Promise<RawConfig | null> {\n try {\n const configResult = await explorer.search(cwd);\n\n if (!configResult) {\n return null;\n }\n\n return rawConfigSchema.parse(configResult.config);\n } catch (error) {\n throw new Error(`Invalid configuration found in ${cwd}/components.json.`);\n }\n}\n","import {\n type ConfigLoaderSuccessResult,\n createMatchPath,\n} from \"tsconfig-paths\";\n\nexport function resolveImport(\n importPath: string,\n config: Pick<ConfigLoaderSuccessResult, \"absoluteBaseUrl\" | \"paths\">,\n) {\n return createMatchPath(config.absoluteBaseUrl, config.paths)(\n importPath,\n undefined,\n () => true,\n [\".ts\", \".tsx\"],\n );\n}\n","#!/usr/bin/env node\n\nimport { add } from \"@/src/commands/add\";\nimport { Command } from \"commander\";\n\nimport packageJson from \"../package.json\";\nimport { create } from \"./commands/create\";\n\nprocess.on(\"SIGINT\", () => process.exit(0));\nprocess.on(\"SIGTERM\", () => process.exit(0));\n\nasync function main() {\n const program = new Command()\n .name(\"assistant-ui\")\n .description(\"add components and dependencies to your project\")\n .version(\n packageJson.version || \"1.0.0\",\n \"-v, --version\",\n \"display the version number\",\n );\n\n program.addCommand(add);\n program.addCommand(create);\n\n program.parse();\n}\n\nmain();\n","{\n \"name\": \"assistant-ui\",\n \"version\": \"0.0.14\",\n \"license\": \"MIT\",\n \"type\": \"module\",\n \"dependencies\": {\n \"@types/cross-spawn\": \"^6.0.6\",\n \"chalk\": \"^5.3.0\",\n \"commander\": \"^12.1.0\",\n \"cosmiconfig\": \"^9.0.0\",\n \"cross-spawn\": \"^7.0.3\",\n \"shadcn-ui\": \"0.8.0\",\n \"tsconfig-paths\": \"^4.2.0\",\n \"zod\": \"^3.23.8\"\n },\n \"devDependencies\": {\n \"@assistant-ui/tsconfig\": \"workspace:*\",\n \"@types/node\": \"^22.7.5\",\n \"tsup\": \"8.3.0\"\n },\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"bin\": \"./dist/index.js\",\n \"scripts\": {\n \"build\": \"tsup src/index.ts --format esm --sourcemap --clean\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"provenance\": true\n },\n \"homepage\": \"https://assistant-ui.com/\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Yonom/assistant-ui.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/Yonom/assistant-ui/issues\"\n }\n}\n","import { Command } from \"commander\";\nimport chalk from \"chalk\";\nimport { spawn } from \"cross-spawn\";\n\nexport const create = new Command()\n .name(\"create\")\n .description(\"create a new project\")\n .argument(\"[project-directory]\")\n .usage(`${chalk.green(\"[project-directory]\")} [options]`)\n .option(\n \"-t, --template <template>\",\n `\n\n The template to use for the project, e.g. default, langgraph\n`,\n )\n .option(\n \"--use-npm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using npm\n`,\n )\n .option(\n \"--use-pnpm\",\n `\n\n Explicitly tell the CLI to bootstrap the application using pnpm\n`,\n )\n .option(\n \"--use-yarn\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Yarn\n`,\n )\n .option(\n \"--use-bun\",\n `\n\n Explicitly tell the CLI to bootstrap the application using Bun\n`,\n )\n .option(\n \"--skip-install\",\n `\n\n Explicitly tell the CLI to skip installing packages\n`,\n )\n .action((_, opts) => {\n const templates = {\n default: \"https://github.com/Yonom/assistant-ui-starter\",\n langgraph: \"https://github.com/Yonom/assistant-ui-starter-langgraph\",\n };\n\n const templateUrl =\n templates[(opts.template as keyof typeof templates) ?? \"default\"];\n if (!templateUrl) {\n console.error(`Unknown template: ${opts.template}`);\n process.exit(1);\n }\n\n const child = spawn(\n \"npx\",\n [`create-next-app@latest`, ...process.argv.slice(3), \"-e\", templateUrl],\n {\n stdio: \"inherit\",\n },\n );\n\n child.on(\"error\", (error) => {\n console.error(`Error: ${error.message}`);\n });\n\n child.on(\"close\", (code) => {\n if (code !== 0) {\n console.log(`other-package-script process exited with code ${code}`);\n }\n });\n });\n"],"mappings":"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","names":["path","path","path","path","Command","Command","chalk","spawn","Command"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "assistant-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"zod": "^3.23.8"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@types/node": "^22.7.
|
|
17
|
+
"@types/node": "^22.7.5",
|
|
18
18
|
"tsup": "8.3.0",
|
|
19
19
|
"@assistant-ui/tsconfig": "0.0.0"
|
|
20
20
|
},
|