kawaijs 0.1.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/bin/kawa.js +4 -0
- package/dist/commands/create.d.ts +2 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +102 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/validate.d.ts +2 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +50 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -0
- package/package.json +49 -0
package/bin/kawa.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA2G1D"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
export function createProject(projectName) {
|
|
4
|
+
const targetDir = path.resolve(process.cwd(), projectName);
|
|
5
|
+
if (fs.existsSync(targetDir)) {
|
|
6
|
+
console.error(`❌ Error: Directory '${projectName}' already exists.`);
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
console.log(`\n✨ Creating a new Kawaijs visual novel in: ${targetDir}\n`);
|
|
10
|
+
fs.mkdirSync(targetDir, { recursive: true });
|
|
11
|
+
fs.mkdirSync(path.join(targetDir, 'game', 'assets', 'backgrounds'), { recursive: true });
|
|
12
|
+
fs.mkdirSync(path.join(targetDir, 'game', 'assets', 'characters'), { recursive: true });
|
|
13
|
+
fs.mkdirSync(path.join(targetDir, 'game', 'assets', 'audio'), { recursive: true });
|
|
14
|
+
// 1. game/script.kawa
|
|
15
|
+
const starterScript = `# Kawaijs Visual Novel Script
|
|
16
|
+
character yumia "Yumia" #f43f5e
|
|
17
|
+
|
|
18
|
+
label start:
|
|
19
|
+
scene bg classroom
|
|
20
|
+
show yumia happy at center
|
|
21
|
+
|
|
22
|
+
yumia "Hello! Welcome to Kawaijs."
|
|
23
|
+
yumia "This is a web-native visual novel engine inspired by Ren'Py."
|
|
24
|
+
|
|
25
|
+
menu:
|
|
26
|
+
"Tell me more!":
|
|
27
|
+
jump tell_more
|
|
28
|
+
|
|
29
|
+
"Let's make a game!":
|
|
30
|
+
jump make_game
|
|
31
|
+
|
|
32
|
+
label tell_more:
|
|
33
|
+
show yumia excited at center
|
|
34
|
+
yumia "Kawaijs scripts compile to pure static web apps that run anywhere!"
|
|
35
|
+
yumia "You can customize every pixel using standard CSS."
|
|
36
|
+
jump conclusion
|
|
37
|
+
|
|
38
|
+
label make_game:
|
|
39
|
+
yumia "Awesome! Open game/script.kawa and start writing your story."
|
|
40
|
+
jump conclusion
|
|
41
|
+
|
|
42
|
+
label conclusion:
|
|
43
|
+
"Thank you for trying Kawaijs!"
|
|
44
|
+
return
|
|
45
|
+
`;
|
|
46
|
+
fs.writeFileSync(path.join(targetDir, 'game', 'script.kawa'), starterScript, 'utf-8');
|
|
47
|
+
// 2. game/style.css
|
|
48
|
+
const starterStyle = `/* Custom Visual Novel Styles */
|
|
49
|
+
:root {
|
|
50
|
+
--kawa-primary-accent: #f43f5e;
|
|
51
|
+
--kawa-dialogue-bg: rgba(15, 23, 42, 0.88);
|
|
52
|
+
--kawa-dialogue-border: rgba(244, 63, 94, 0.4);
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
55
|
+
fs.writeFileSync(path.join(targetDir, 'game', 'style.css'), starterStyle, 'utf-8');
|
|
56
|
+
// 3. package.json
|
|
57
|
+
const starterPkg = {
|
|
58
|
+
name: projectName,
|
|
59
|
+
version: '0.1.0',
|
|
60
|
+
private: true,
|
|
61
|
+
type: 'module',
|
|
62
|
+
scripts: {
|
|
63
|
+
dev: 'kawa dev',
|
|
64
|
+
build: 'kawa build',
|
|
65
|
+
validate: 'kawa validate'
|
|
66
|
+
},
|
|
67
|
+
dependencies: {
|
|
68
|
+
kawaijs: '^0.1.0'
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
fs.writeFileSync(path.join(targetDir, 'package.json'), JSON.stringify(starterPkg, null, 2), 'utf-8');
|
|
72
|
+
// 4. README.md
|
|
73
|
+
const starterReadme = `# ${projectName}
|
|
74
|
+
|
|
75
|
+
A visual novel created with **Kawaijs**.
|
|
76
|
+
|
|
77
|
+
## Getting Started
|
|
78
|
+
|
|
79
|
+
1. Validate script:
|
|
80
|
+
\`\`\`bash
|
|
81
|
+
npx kawa validate
|
|
82
|
+
\`\`\`
|
|
83
|
+
|
|
84
|
+
2. Run development server:
|
|
85
|
+
\`\`\`bash
|
|
86
|
+
npx kawa dev
|
|
87
|
+
\`\`\`
|
|
88
|
+
|
|
89
|
+
3. Build static web game:
|
|
90
|
+
\`\`\`bash
|
|
91
|
+
npx kawa build
|
|
92
|
+
\`\`\`
|
|
93
|
+
`;
|
|
94
|
+
fs.writeFileSync(path.join(targetDir, 'README.md'), starterReadme, 'utf-8');
|
|
95
|
+
console.log(`✅ Successfully initialized ${projectName}!`);
|
|
96
|
+
console.log(`\nNext steps:`);
|
|
97
|
+
console.log(` cd ${projectName}`);
|
|
98
|
+
console.log(` npx kawa validate`);
|
|
99
|
+
console.log(` npx kawa dev\n`);
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAE3D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,uBAAuB,WAAW,mBAAmB,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,+CAA+C,SAAS,IAAI,CAAC,CAAC;IAE1E,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnF,sBAAsB;IACtB,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BvB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAEtF,oBAAoB;IACpB,MAAM,YAAY,GAAG;;;;;;CAMtB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAEnF,kBAAkB;IAClB,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,eAAe;SAC1B;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,QAAQ;SAClB;KACF,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAErG,eAAe;IACf,MAAM,aAAa,GAAG,KAAK,WAAW;;;;;;;;;;;;;;;;;;;;CAoBvC,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO,CAAC,GAAG,CAAC,8BAA8B,WAAW,GAAG,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,UAAU,SAAM,GAAG,OAAO,CA8CzD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { compileScript, formatDiagnostic, KawaError } from '@kawaijs/parser';
|
|
4
|
+
export function validateProject(targetPath = '.') {
|
|
5
|
+
const resolvedPath = path.resolve(targetPath);
|
|
6
|
+
console.log(`\n🔍 Validating Kawaijs script at: ${resolvedPath}\n`);
|
|
7
|
+
let scriptFile = resolvedPath;
|
|
8
|
+
if (fs.existsSync(resolvedPath) && fs.statSync(resolvedPath).isDirectory()) {
|
|
9
|
+
const candidate = path.join(resolvedPath, 'game', 'script.kawa');
|
|
10
|
+
if (fs.existsSync(candidate)) {
|
|
11
|
+
scriptFile = candidate;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
const rootCandidate = path.join(resolvedPath, 'script.kawa');
|
|
15
|
+
if (fs.existsSync(rootCandidate)) {
|
|
16
|
+
scriptFile = rootCandidate;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (!fs.existsSync(scriptFile)) {
|
|
21
|
+
console.error(`❌ Error: No .kawa script file found at '${scriptFile}'`);
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const source = fs.readFileSync(scriptFile, 'utf-8');
|
|
26
|
+
const story = compileScript(source, path.basename(scriptFile));
|
|
27
|
+
const charCount = Object.keys(story.characters).length;
|
|
28
|
+
const labelCount = Object.keys(story.labels).filter(l => !l.startsWith('__')).length;
|
|
29
|
+
console.log(`✅ Script validation successful!`);
|
|
30
|
+
console.log(` - File: ${path.basename(scriptFile)}`);
|
|
31
|
+
console.log(` - Characters declared: ${charCount}`);
|
|
32
|
+
console.log(` - Story labels: ${labelCount}`);
|
|
33
|
+
console.log(` - Start label: '${story.meta.startLabel}'`);
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
if (err instanceof KawaError) {
|
|
38
|
+
const source = fs.existsSync(scriptFile) ? fs.readFileSync(scriptFile, 'utf-8') : undefined;
|
|
39
|
+
console.error(formatDiagnostic(err.diagnostic, source));
|
|
40
|
+
}
|
|
41
|
+
else if (err instanceof Error) {
|
|
42
|
+
console.error(`❌ Error: ${err.message}`);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.error('❌ Unknown validation error:', err);
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from '@kawaijs/ast';
|
|
2
|
+
export * from '@kawaijs/parser';
|
|
3
|
+
export * from '@kawaijs/runtime';
|
|
4
|
+
export * from '@kawaijs/renderer-dom';
|
|
5
|
+
import { createProject } from './commands/create.js';
|
|
6
|
+
import { validateProject } from './commands/validate.js';
|
|
7
|
+
export { createProject, validateProject };
|
|
8
|
+
export declare function runCLI(args: string[]): void;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAE1C,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAqD3C"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export * from '@kawaijs/ast';
|
|
2
|
+
export * from '@kawaijs/parser';
|
|
3
|
+
export * from '@kawaijs/runtime';
|
|
4
|
+
export * from '@kawaijs/renderer-dom';
|
|
5
|
+
import { createProject } from './commands/create.js';
|
|
6
|
+
import { validateProject } from './commands/validate.js';
|
|
7
|
+
export { createProject, validateProject };
|
|
8
|
+
export function runCLI(args) {
|
|
9
|
+
const command = args[0];
|
|
10
|
+
switch (command) {
|
|
11
|
+
case 'create': {
|
|
12
|
+
const projectName = args[1] ?? 'my-novel';
|
|
13
|
+
createProject(projectName);
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
case 'validate': {
|
|
17
|
+
const targetPath = args[1] ?? '.';
|
|
18
|
+
const ok = validateProject(targetPath);
|
|
19
|
+
if (!ok) {
|
|
20
|
+
process.exitCode = 1;
|
|
21
|
+
}
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
case 'version':
|
|
25
|
+
case '-v':
|
|
26
|
+
case '--version': {
|
|
27
|
+
console.log('Kawaijs v0.1.0');
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
case 'help':
|
|
31
|
+
case '-h':
|
|
32
|
+
case '--help':
|
|
33
|
+
default: {
|
|
34
|
+
console.log(`
|
|
35
|
+
🌸 Kawaijs — Web-Native Visual Novel Engine & Toolchain
|
|
36
|
+
|
|
37
|
+
Usage:
|
|
38
|
+
kawa <command> [arguments]
|
|
39
|
+
kawaijs <command> [arguments]
|
|
40
|
+
|
|
41
|
+
Commands:
|
|
42
|
+
create <name> Scaffold a new visual novel project
|
|
43
|
+
validate [path] Validate Kawa Script syntax, labels, and links
|
|
44
|
+
dev Start the local development server (with HMR)
|
|
45
|
+
build Build a static production web bundle
|
|
46
|
+
help Show this help message
|
|
47
|
+
version Show version information
|
|
48
|
+
|
|
49
|
+
Example:
|
|
50
|
+
kawa create my-novel
|
|
51
|
+
cd my-novel
|
|
52
|
+
kawa validate
|
|
53
|
+
`);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAE1C,MAAM,UAAU,MAAM,CAAC,IAAc;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;YAC1C,aAAa,CAAC,WAAW,CAAC,CAAC;YAC3B,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YAClC,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,MAAM;QACR,CAAC;QAED,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ,CAAC;QACd,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;CAmBjB,CAAC,CAAC;YACG,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "kawaijs",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Web-native visual novel engine and toolchain inspired by Ren'Py",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"bin": {
|
|
9
|
+
"kawa": "bin/kawa.js",
|
|
10
|
+
"kawaijs": "bin/kawa.js"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"bin"
|
|
15
|
+
],
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/biagio-scaglia/KawaiJS.git",
|
|
22
|
+
"directory": "packages/cli"
|
|
23
|
+
},
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/biagio-scaglia/KawaiJS/issues"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://github.com/biagio-scaglia/KawaiJS#readme",
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"typecheck": "tsc --noEmit"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@kawaijs/ast": "^0.1.0",
|
|
34
|
+
"@kawaijs/parser": "^0.1.0",
|
|
35
|
+
"@kawaijs/runtime": "^0.1.0",
|
|
36
|
+
"@kawaijs/renderer-dom": "^0.1.0"
|
|
37
|
+
},
|
|
38
|
+
"keywords": [
|
|
39
|
+
"kawaijs",
|
|
40
|
+
"visual-novel",
|
|
41
|
+
"renpy",
|
|
42
|
+
"game-engine",
|
|
43
|
+
"web-native",
|
|
44
|
+
"cli",
|
|
45
|
+
"typescript"
|
|
46
|
+
],
|
|
47
|
+
"author": "Biagio Scaglia",
|
|
48
|
+
"license": "MIT"
|
|
49
|
+
}
|