@litlab/audx 0.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/README.md +86 -0
- package/dist/codegen/theme-codegen.d.ts +12 -0
- package/dist/codegen/theme-codegen.d.ts.map +1 -0
- package/dist/codegen/theme-codegen.js +153 -0
- package/dist/codegen/theme-codegen.js.map +1 -0
- package/dist/commands/add.d.ts +2 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +120 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/diff.d.ts +2 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +103 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/generate.d.ts +12 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +96 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +79 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +14 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +93 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/remove.d.ts +2 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +71 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/theme.d.ts +31 -0
- package/dist/commands/theme.d.ts.map +1 -0
- package/dist/commands/theme.js +142 -0
- package/dist/commands/theme.js.map +1 -0
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +123 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/core/alias-resolver.d.ts +24 -0
- package/dist/core/alias-resolver.d.ts.map +1 -0
- package/dist/core/alias-resolver.js +87 -0
- package/dist/core/alias-resolver.js.map +1 -0
- package/dist/core/config.d.ts +21 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +43 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/file-writer.d.ts +14 -0
- package/dist/core/file-writer.d.ts.map +1 -0
- package/dist/core/file-writer.js +90 -0
- package/dist/core/file-writer.js.map +1 -0
- package/dist/core/package-manager.d.ts +3 -0
- package/dist/core/package-manager.d.ts.map +1 -0
- package/dist/core/package-manager.js +17 -0
- package/dist/core/package-manager.js.map +1 -0
- package/dist/core/registry.d.ts +18 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +69 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/theme-manager.d.ts +35 -0
- package/dist/core/theme-manager.d.ts.map +1 -0
- package/dist/core/theme-manager.js +94 -0
- package/dist/core/theme-manager.js.map +1 -0
- package/dist/core/utils.d.ts +22 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +44 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +126 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +116 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +43 -0
- package/dist/types.js.map +1 -0
- package/package.json +54 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { Command } from "commander";
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const pkg = require("../package.json");
|
|
6
|
+
const program = new Command();
|
|
7
|
+
program.name("audx").version(pkg.version).description(pkg.description);
|
|
8
|
+
// ── init ────────────────────────────────────────────────────────────────────
|
|
9
|
+
program
|
|
10
|
+
.command("init")
|
|
11
|
+
.description("Initialize audx in the current project")
|
|
12
|
+
.action(async () => {
|
|
13
|
+
const { initCommand } = await import("./commands/init.js");
|
|
14
|
+
await initCommand(process.cwd());
|
|
15
|
+
});
|
|
16
|
+
// ── add ─────────────────────────────────────────────────────────────────────
|
|
17
|
+
program
|
|
18
|
+
.command("add")
|
|
19
|
+
.description("Add sounds from the audx registry")
|
|
20
|
+
.argument("<sounds...>", "Sound names to add")
|
|
21
|
+
.action(async (sounds) => {
|
|
22
|
+
const { addCommand } = await import("./commands/add.js");
|
|
23
|
+
await addCommand(sounds, process.cwd());
|
|
24
|
+
});
|
|
25
|
+
// ── list ────────────────────────────────────────────────────────────────────
|
|
26
|
+
program
|
|
27
|
+
.command("list")
|
|
28
|
+
.description("List available sounds in the registry")
|
|
29
|
+
.option("--tag <tag>", "Filter by tag")
|
|
30
|
+
.option("--search <query>", "Search by name, description, or tags")
|
|
31
|
+
.action(async (options) => {
|
|
32
|
+
const { listCommand } = await import("./commands/list.js");
|
|
33
|
+
await listCommand(process.cwd(), options);
|
|
34
|
+
});
|
|
35
|
+
// ── remove ──────────────────────────────────────────────────────────────────
|
|
36
|
+
program
|
|
37
|
+
.command("remove")
|
|
38
|
+
.description("Remove installed sounds")
|
|
39
|
+
.argument("<sounds...>", "Sound names to remove")
|
|
40
|
+
.action(async (sounds) => {
|
|
41
|
+
const { removeCommand } = await import("./commands/remove.js");
|
|
42
|
+
await removeCommand(sounds, process.cwd());
|
|
43
|
+
});
|
|
44
|
+
// ── diff ────────────────────────────────────────────────────────────────────
|
|
45
|
+
program
|
|
46
|
+
.command("diff")
|
|
47
|
+
.description("Check for updates to installed sounds")
|
|
48
|
+
.action(async () => {
|
|
49
|
+
const { diffCommand } = await import("./commands/diff.js");
|
|
50
|
+
await diffCommand(process.cwd());
|
|
51
|
+
});
|
|
52
|
+
// ── update ──────────────────────────────────────────────────────────────────
|
|
53
|
+
program
|
|
54
|
+
.command("update")
|
|
55
|
+
.description("Update installed sounds from the registry")
|
|
56
|
+
.argument("[sound-name]", "Specific sound to update")
|
|
57
|
+
.action(async (soundName) => {
|
|
58
|
+
const { updateCommand } = await import("./commands/update.js");
|
|
59
|
+
await updateCommand(soundName, process.cwd());
|
|
60
|
+
});
|
|
61
|
+
// ── generate ────────────────────────────────────────────────────────────────
|
|
62
|
+
program
|
|
63
|
+
.command("generate")
|
|
64
|
+
.description("Generate a sound from a text prompt")
|
|
65
|
+
.argument("<prompt>", "Text prompt describing the sound")
|
|
66
|
+
.option("--name <name>", "Custom name for the generated sound")
|
|
67
|
+
.option("--duration <seconds>", "Duration in seconds (0.5–22)")
|
|
68
|
+
.action(async (prompt, options) => {
|
|
69
|
+
const { generateCommand } = await import("./commands/generate.js");
|
|
70
|
+
await generateCommand(prompt, options, process.cwd());
|
|
71
|
+
});
|
|
72
|
+
// ── theme (parent with subcommands) ────────────────────────────────────────
|
|
73
|
+
const theme = program.command("theme").description("Manage sound themes");
|
|
74
|
+
theme
|
|
75
|
+
.command("init")
|
|
76
|
+
.description("Initialize theme configuration")
|
|
77
|
+
.action(async () => {
|
|
78
|
+
const { themeInitCommand } = await import("./commands/theme.js");
|
|
79
|
+
await themeInitCommand(process.cwd());
|
|
80
|
+
});
|
|
81
|
+
theme
|
|
82
|
+
.command("set")
|
|
83
|
+
.description("Set the active theme")
|
|
84
|
+
.argument("<theme-name>", "Theme name to activate")
|
|
85
|
+
.action(async (themeName) => {
|
|
86
|
+
const { themeSetCommand } = await import("./commands/theme.js");
|
|
87
|
+
themeSetCommand(themeName, process.cwd());
|
|
88
|
+
});
|
|
89
|
+
theme
|
|
90
|
+
.command("map")
|
|
91
|
+
.description("Map a semantic name to an installed sound")
|
|
92
|
+
.argument("<semantic-name>", "Semantic sound name (e.g., success, error)")
|
|
93
|
+
.argument("<sound-name>", "Installed sound name")
|
|
94
|
+
.action(async (semanticName, soundName) => {
|
|
95
|
+
const { themeMapCommand } = await import("./commands/theme.js");
|
|
96
|
+
themeMapCommand(semanticName, soundName, process.cwd());
|
|
97
|
+
});
|
|
98
|
+
theme
|
|
99
|
+
.command("create")
|
|
100
|
+
.description("Create a new theme")
|
|
101
|
+
.argument("<theme-name>", "Name for the new theme")
|
|
102
|
+
.action(async (themeName) => {
|
|
103
|
+
const { themeCreateCommand } = await import("./commands/theme.js");
|
|
104
|
+
themeCreateCommand(themeName, process.cwd());
|
|
105
|
+
});
|
|
106
|
+
theme
|
|
107
|
+
.command("list")
|
|
108
|
+
.description("List all themes")
|
|
109
|
+
.action(async () => {
|
|
110
|
+
const { themeListCommand } = await import("./commands/theme.js");
|
|
111
|
+
themeListCommand(process.cwd());
|
|
112
|
+
});
|
|
113
|
+
theme
|
|
114
|
+
.command("generate")
|
|
115
|
+
.description("Generate sound-theme.ts from theme configuration")
|
|
116
|
+
.action(async () => {
|
|
117
|
+
const { themeGenerateCommand } = await import("./commands/theme.js");
|
|
118
|
+
themeGenerateCommand(process.cwd());
|
|
119
|
+
});
|
|
120
|
+
// ── Parse and run ───────────────────────────────────────────────────────────
|
|
121
|
+
// Requirement 1.6 — display help when invoked without subcommand
|
|
122
|
+
if (process.argv.length <= 2) {
|
|
123
|
+
program.help();
|
|
124
|
+
}
|
|
125
|
+
program.parse();
|
|
126
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const SEMANTIC_SOUND_NAMES: readonly ["success", "error", "warning", "info", "click", "back", "enter", "delete", "copy", "paste", "scroll", "hover", "toggle", "notify", "complete", "loading"];
|
|
3
|
+
export type SemanticSoundName = (typeof SEMANTIC_SOUND_NAMES)[number];
|
|
4
|
+
export type PackageManager = "bun" | "pnpm" | "yarn" | "npm";
|
|
5
|
+
export declare const audxConfigSchema: z.ZodObject<{
|
|
6
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
7
|
+
soundDir: z.ZodString;
|
|
8
|
+
libDir: z.ZodString;
|
|
9
|
+
registryUrl: z.ZodString;
|
|
10
|
+
packageManager: z.ZodEnum<["npm", "pnpm", "yarn", "bun"]>;
|
|
11
|
+
aliases: z.ZodObject<{
|
|
12
|
+
lib: z.ZodString;
|
|
13
|
+
hooks: z.ZodString;
|
|
14
|
+
sounds: z.ZodString;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
lib: string;
|
|
17
|
+
hooks: string;
|
|
18
|
+
sounds: string;
|
|
19
|
+
}, {
|
|
20
|
+
lib: string;
|
|
21
|
+
hooks: string;
|
|
22
|
+
sounds: string;
|
|
23
|
+
}>;
|
|
24
|
+
installedSounds: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
25
|
+
files: z.ZodArray<z.ZodString, "many">;
|
|
26
|
+
installedAt: z.ZodString;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
files: string[];
|
|
29
|
+
installedAt: string;
|
|
30
|
+
}, {
|
|
31
|
+
files: string[];
|
|
32
|
+
installedAt: string;
|
|
33
|
+
}>>;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
soundDir: string;
|
|
36
|
+
libDir: string;
|
|
37
|
+
registryUrl: string;
|
|
38
|
+
packageManager: "bun" | "pnpm" | "yarn" | "npm";
|
|
39
|
+
aliases: {
|
|
40
|
+
lib: string;
|
|
41
|
+
hooks: string;
|
|
42
|
+
sounds: string;
|
|
43
|
+
};
|
|
44
|
+
installedSounds: Record<string, {
|
|
45
|
+
files: string[];
|
|
46
|
+
installedAt: string;
|
|
47
|
+
}>;
|
|
48
|
+
$schema?: string | undefined;
|
|
49
|
+
}, {
|
|
50
|
+
soundDir: string;
|
|
51
|
+
libDir: string;
|
|
52
|
+
registryUrl: string;
|
|
53
|
+
packageManager: "bun" | "pnpm" | "yarn" | "npm";
|
|
54
|
+
aliases: {
|
|
55
|
+
lib: string;
|
|
56
|
+
hooks: string;
|
|
57
|
+
sounds: string;
|
|
58
|
+
};
|
|
59
|
+
installedSounds: Record<string, {
|
|
60
|
+
files: string[];
|
|
61
|
+
installedAt: string;
|
|
62
|
+
}>;
|
|
63
|
+
$schema?: string | undefined;
|
|
64
|
+
}>;
|
|
65
|
+
export type AudxConfig = z.infer<typeof audxConfigSchema>;
|
|
66
|
+
export declare const themeConfigSchema: z.ZodObject<{
|
|
67
|
+
activeTheme: z.ZodString;
|
|
68
|
+
themes: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodEnum<["success", "error", "warning", "info", "click", "back", "enter", "delete", "copy", "paste", "scroll", "hover", "toggle", "notify", "complete", "loading"]>, z.ZodNullable<z.ZodString>>>;
|
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
|
70
|
+
activeTheme: string;
|
|
71
|
+
themes: Record<string, Partial<Record<"success" | "error" | "warning" | "info" | "click" | "back" | "enter" | "delete" | "copy" | "paste" | "scroll" | "hover" | "toggle" | "notify" | "complete" | "loading", string | null>>>;
|
|
72
|
+
}, {
|
|
73
|
+
activeTheme: string;
|
|
74
|
+
themes: Record<string, Partial<Record<"success" | "error" | "warning" | "info" | "click" | "back" | "enter" | "delete" | "copy" | "paste" | "scroll" | "hover" | "toggle" | "notify" | "complete" | "loading", string | null>>>;
|
|
75
|
+
}>;
|
|
76
|
+
export type ThemeConfig = z.infer<typeof themeConfigSchema>;
|
|
77
|
+
export interface RegistryFile {
|
|
78
|
+
path: string;
|
|
79
|
+
content: string;
|
|
80
|
+
type: string;
|
|
81
|
+
}
|
|
82
|
+
export interface RegistryItem {
|
|
83
|
+
$schema: string;
|
|
84
|
+
name: string;
|
|
85
|
+
type: string;
|
|
86
|
+
title: string;
|
|
87
|
+
author?: string;
|
|
88
|
+
description: string;
|
|
89
|
+
files: RegistryFile[];
|
|
90
|
+
meta?: {
|
|
91
|
+
duration: number;
|
|
92
|
+
format: string;
|
|
93
|
+
sizeKb: number;
|
|
94
|
+
license: string;
|
|
95
|
+
tags: string[];
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export interface RegistryCatalog {
|
|
99
|
+
$schema: string;
|
|
100
|
+
name: string;
|
|
101
|
+
homepage: string;
|
|
102
|
+
items: RegistryItem[];
|
|
103
|
+
}
|
|
104
|
+
export interface AliasMap {
|
|
105
|
+
hasAliases: boolean;
|
|
106
|
+
patterns: Array<{
|
|
107
|
+
alias: string;
|
|
108
|
+
paths: string[];
|
|
109
|
+
}>;
|
|
110
|
+
}
|
|
111
|
+
export interface GenerateSoundParams {
|
|
112
|
+
text: string;
|
|
113
|
+
duration_seconds?: number;
|
|
114
|
+
prompt_influence?: number;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB,qKAiBvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAItE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAI7D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAI1D,eAAO,MAAM,iBAAiB;;;;;;;;;EAM5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;CACF;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;CACtB;AAID,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC,CAAC;CACH;AAID,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// ── Semantic Sound Names ────────────────────────────────────────────────────
|
|
3
|
+
export const SEMANTIC_SOUND_NAMES = [
|
|
4
|
+
"success",
|
|
5
|
+
"error",
|
|
6
|
+
"warning",
|
|
7
|
+
"info",
|
|
8
|
+
"click",
|
|
9
|
+
"back",
|
|
10
|
+
"enter",
|
|
11
|
+
"delete",
|
|
12
|
+
"copy",
|
|
13
|
+
"paste",
|
|
14
|
+
"scroll",
|
|
15
|
+
"hover",
|
|
16
|
+
"toggle",
|
|
17
|
+
"notify",
|
|
18
|
+
"complete",
|
|
19
|
+
"loading",
|
|
20
|
+
];
|
|
21
|
+
// ── AudxConfig (audx.config.json) ───────────────────────────────────────────
|
|
22
|
+
export const audxConfigSchema = z.object({
|
|
23
|
+
$schema: z.string().optional(),
|
|
24
|
+
soundDir: z.string(),
|
|
25
|
+
libDir: z.string(),
|
|
26
|
+
registryUrl: z.string().url(),
|
|
27
|
+
packageManager: z.enum(["npm", "pnpm", "yarn", "bun"]),
|
|
28
|
+
aliases: z.object({
|
|
29
|
+
lib: z.string(),
|
|
30
|
+
hooks: z.string(),
|
|
31
|
+
sounds: z.string(),
|
|
32
|
+
}),
|
|
33
|
+
installedSounds: z.record(z.string(), z.object({
|
|
34
|
+
files: z.array(z.string()),
|
|
35
|
+
installedAt: z.string().datetime(),
|
|
36
|
+
})),
|
|
37
|
+
});
|
|
38
|
+
// ── ThemeConfig (audx.themes.json) ──────────────────────────────────────────
|
|
39
|
+
export const themeConfigSchema = z.object({
|
|
40
|
+
activeTheme: z.string(),
|
|
41
|
+
themes: z.record(z.string(), z.record(z.enum(SEMANTIC_SOUND_NAMES), z.string().nullable())),
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,SAAS;IACT,OAAO;IACP,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;CACA,CAAC;AAQX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC7B,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;IACF,eAAe,EAAE,CAAC,CAAC,MAAM,CACxB,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC;QACR,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CACF;CACD,CAAC,CAAC;AAIH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,CACf,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAC7D;CACD,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@litlab/audx",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "CLI tool for distributing and managing UI sounds from the audx registry",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"audx": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "dist/index.js",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"dev": "tsc --watch",
|
|
16
|
+
"test": "vitest --run",
|
|
17
|
+
"test:watch": "vitest",
|
|
18
|
+
"prepublishOnly": "npm run build"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"audx",
|
|
22
|
+
"audio",
|
|
23
|
+
"sounds",
|
|
24
|
+
"ui-sounds",
|
|
25
|
+
"cli",
|
|
26
|
+
"sound-effects",
|
|
27
|
+
"theme",
|
|
28
|
+
"registry"
|
|
29
|
+
],
|
|
30
|
+
"author": "audx",
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "https://github.com/ommgh/audx.git",
|
|
35
|
+
"directory": "package"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://audx.dev",
|
|
38
|
+
"bugs": {
|
|
39
|
+
"url": "https://github.com/ommgh/audx/issues"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"commander": "^13.1.0",
|
|
43
|
+
"zod": "^3.25.67"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"typescript": "^5.8.3",
|
|
47
|
+
"vitest": "^3.2.3",
|
|
48
|
+
"fast-check": "^4.1.1",
|
|
49
|
+
"@types/node": "^22.15.0"
|
|
50
|
+
},
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=18.0.0"
|
|
53
|
+
}
|
|
54
|
+
}
|