mochitako 0.2.0
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 +118 -0
- package/data/words.json +6640 -0
- package/dist/cli.mjs +6811 -0
- package/dist/index.d.mts +56 -0
- package/dist/index.mjs +6785 -0
- package/package.json +58 -0
- package/schema/words.schema.json +89 -0
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mochitako",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "A curated vocabulary of cute Japanese-inspired words \u2014 with a slug generator as its reference implementation.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"mochitako": "./dist/cli.mjs"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.mts",
|
|
12
|
+
"import": "./dist/index.mjs"
|
|
13
|
+
},
|
|
14
|
+
"./words.json": "./data/words.json"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"data",
|
|
19
|
+
"schema"
|
|
20
|
+
],
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=22"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "tsdown",
|
|
26
|
+
"cli": "node src/cli.ts",
|
|
27
|
+
"test": "vitest run",
|
|
28
|
+
"typecheck": "tsc --noEmit",
|
|
29
|
+
"lint": "biome check .",
|
|
30
|
+
"fmt": "biome check --write .",
|
|
31
|
+
"prepublishOnly": "pnpm build",
|
|
32
|
+
"eval:pairs": "node src/evaluation-cli.ts prepare",
|
|
33
|
+
"eval:report": "node src/evaluation-cli.ts report",
|
|
34
|
+
"eval:serve": "node src/evaluation-serve.ts",
|
|
35
|
+
"eval:candidates": "node src/evaluation-candidates-serve.ts"
|
|
36
|
+
},
|
|
37
|
+
"keywords": [
|
|
38
|
+
"vocabulary",
|
|
39
|
+
"dictionary",
|
|
40
|
+
"word-list",
|
|
41
|
+
"japanese",
|
|
42
|
+
"slug",
|
|
43
|
+
"name-generator",
|
|
44
|
+
"random",
|
|
45
|
+
"cli"
|
|
46
|
+
],
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"citty": "^0.2.2"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@biomejs/biome": "^2.5.12",
|
|
53
|
+
"@types/node": "^22.20.2",
|
|
54
|
+
"tsdown": "^0.23.0",
|
|
55
|
+
"typescript": "^7.0.2",
|
|
56
|
+
"vitest": "^5.0.0"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/annenpolka/mochitako/schema/words.schema.json",
|
|
4
|
+
"title": "mochitako vocabulary",
|
|
5
|
+
"description": "A curated machine-readable vocabulary of cute, slightly strange Japanese-inspired words for composing names.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["version", "words"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"$schema": { "type": "string" },
|
|
11
|
+
"version": { "type": "integer", "minimum": 1 },
|
|
12
|
+
"words": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"items": { "$ref": "#/$defs/word" },
|
|
15
|
+
"uniqueItems": true
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"$defs": {
|
|
19
|
+
"word": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"required": ["value", "reading", "kind", "vibes", "roles"],
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"properties": {
|
|
24
|
+
"value": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"pattern": "^[a-z]+$",
|
|
27
|
+
"description": "Lowercase ASCII romaji form, safe for slugs and identifiers."
|
|
28
|
+
},
|
|
29
|
+
"reading": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"minLength": 1,
|
|
32
|
+
"description": "Japanese orthography (hiragana for native words, katakana for loanwords)."
|
|
33
|
+
},
|
|
34
|
+
"kind": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"enum": [
|
|
37
|
+
"texture",
|
|
38
|
+
"mood",
|
|
39
|
+
"motion",
|
|
40
|
+
"sound",
|
|
41
|
+
"nature",
|
|
42
|
+
"food",
|
|
43
|
+
"creature",
|
|
44
|
+
"object",
|
|
45
|
+
"concept",
|
|
46
|
+
"trait"
|
|
47
|
+
],
|
|
48
|
+
"description": "Lexical category — what the word denotes."
|
|
49
|
+
},
|
|
50
|
+
"vibes": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"minItems": 1,
|
|
53
|
+
"items": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"enum": [
|
|
56
|
+
"sleepy",
|
|
57
|
+
"fluffy",
|
|
58
|
+
"happy",
|
|
59
|
+
"nature",
|
|
60
|
+
"weather",
|
|
61
|
+
"motion",
|
|
62
|
+
"sweet",
|
|
63
|
+
"mysterious",
|
|
64
|
+
"tiny",
|
|
65
|
+
"weird"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"description": "Mood tags used for filtering."
|
|
69
|
+
},
|
|
70
|
+
"weirdness": {
|
|
71
|
+
"type": "number",
|
|
72
|
+
"minimum": 0,
|
|
73
|
+
"maximum": 1,
|
|
74
|
+
"description": "How out-of-place the word feels (0 = ordinary, 1 = absurd)."
|
|
75
|
+
},
|
|
76
|
+
"roles": {
|
|
77
|
+
"type": "array",
|
|
78
|
+
"minItems": 1,
|
|
79
|
+
"uniqueItems": true,
|
|
80
|
+
"items": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"enum": ["prefix", "suffix"]
|
|
83
|
+
},
|
|
84
|
+
"description": "Which slug slots the word can occupy."
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|