create-asciitorium 0.1.10 → 0.1.12
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 +32 -7
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/scaffold.js +4 -4
- package/dist/scaffold.js.map +1 -1
- package/dist/templates/base/public/art/asciitorium.txt +106 -1
- package/dist/templates/base/src/main.tsx +16 -41
- package/package.json +9 -8
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# create-asciitorium
|
|
2
2
|
|
|
3
|
-
`create-asciitorium` is a command-line tool that helps you quickly scaffold a new [asciitorium](
|
|
3
|
+
`create-asciitorium` is a command-line tool that helps you quickly scaffold a new [asciitorium](../asciitorium) project. It sets up all the necessary files, folders, and dependencies so you can start building ASCII art-based web applications with minimal setup.
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
@@ -23,18 +23,39 @@ npm create asciitorium@latest my-app
|
|
|
23
23
|
|
|
24
24
|
This will create a new directory with the specified project name, scaffold the project, and install dependencies.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
### Next Steps
|
|
27
|
+
|
|
28
|
+
After creating your project:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
cd my-app
|
|
32
|
+
|
|
33
|
+
# Start development server (web mode)
|
|
34
|
+
npm run web
|
|
35
|
+
|
|
36
|
+
# Run in terminal mode
|
|
37
|
+
npm run cli
|
|
38
|
+
|
|
39
|
+
# Build for production
|
|
40
|
+
npm run build
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Generated Project Structure
|
|
27
44
|
|
|
28
45
|
A typical generated project will look like:
|
|
29
46
|
|
|
30
47
|
```
|
|
31
48
|
my-asciitorium-app/
|
|
32
49
|
├── public/
|
|
50
|
+
│ ├── art/ # ASCII art assets
|
|
51
|
+
│ └── fonts/ # Custom fonts
|
|
33
52
|
├── src/
|
|
34
|
-
├──
|
|
35
|
-
|
|
36
|
-
├──
|
|
37
|
-
|
|
53
|
+
│ ├── main.tsx # Main application entry
|
|
54
|
+
│ └── vite-env.d.ts # TypeScript definitions
|
|
55
|
+
├── index.html # HTML template
|
|
56
|
+
├── package.json # Dependencies and scripts
|
|
57
|
+
├── tsconfig.json # TypeScript configuration
|
|
58
|
+
└── vite.config.ts # Vite build configuration
|
|
38
59
|
```
|
|
39
60
|
|
|
40
61
|
## Requirements
|
|
@@ -44,7 +65,11 @@ my-asciitorium-app/
|
|
|
44
65
|
|
|
45
66
|
## Learn More
|
|
46
67
|
|
|
47
|
-
- [Asciitorium Documentation](
|
|
68
|
+
- [Asciitorium Documentation](../asciitorium)
|
|
69
|
+
|
|
70
|
+
## 📝 Changelog
|
|
71
|
+
|
|
72
|
+
See [CHANGELOG.md](../../CHANGELOG.md) for detailed release notes and migration guides.
|
|
48
73
|
|
|
49
74
|
## License
|
|
50
75
|
|
package/dist/index.js
CHANGED
|
@@ -34,7 +34,7 @@ async function main() {
|
|
|
34
34
|
console.log(red(`✖ Directory "${target}" already exists.`));
|
|
35
35
|
process.exit(1);
|
|
36
36
|
}
|
|
37
|
-
const pm = argv.pm ?? process.env.npm_config_user_agent?.split('/')[0] ?? '
|
|
37
|
+
const pm = argv.pm ?? process.env.npm_config_user_agent?.split('/')[0] ?? 'npm';
|
|
38
38
|
const template = argv.template ?? 'base';
|
|
39
39
|
const useGit = Boolean(argv.git);
|
|
40
40
|
const doInstall = Boolean(argv.install);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,aAAa;AACb,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC3C,MAAM,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;QAC3B,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAuB,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,sCAAsC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,MAAM,mBAAmB,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GACN,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,aAAa;AACb,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC3C,MAAM,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC;QAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;QAC3B,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;KACtC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAuB,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,oBAAoB;SAC9B,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,sCAAsC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,MAAM,mBAAmB,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GACN,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,kBAAkB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC5E,CAAC;IAEF,MAAM,QAAQ,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEzC,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,6BAA6B,CAAC,EAAE;gBAClE,GAAG,EAAE,UAAU;aAChB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;YACnD,MAAM,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CACT,GAAG,CACD,kFAAkF,CACnF,CACF,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/scaffold.js
CHANGED
|
@@ -13,7 +13,7 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
13
13
|
* 5) Optionally init git
|
|
14
14
|
*/
|
|
15
15
|
export async function scaffold(opts) {
|
|
16
|
-
const { projectDir, template, install = true, initGit = true, packageManager = '
|
|
16
|
+
const { projectDir, template, install = true, initGit = true, packageManager = 'npm', } = opts;
|
|
17
17
|
const templateDir = path.join(__dirname, 'templates', template);
|
|
18
18
|
// 1) Copy all template files
|
|
19
19
|
await copyDir(templateDir, projectDir);
|
|
@@ -21,7 +21,7 @@ export async function scaffold(opts) {
|
|
|
21
21
|
await renameGitignore(projectDir);
|
|
22
22
|
// 3) Pin latest asciitorium into the generated package.json
|
|
23
23
|
await pinLatestAsciitorium(projectDir);
|
|
24
|
-
// 4) Install dependencies (default:
|
|
24
|
+
// 4) Install dependencies (default: npm)
|
|
25
25
|
if (install) {
|
|
26
26
|
await runInstall(projectDir, packageManager);
|
|
27
27
|
}
|
|
@@ -56,9 +56,9 @@ async function renameGitignore(projectDir) {
|
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
async function getLatestVersion(pkg) {
|
|
59
|
-
// Try
|
|
59
|
+
// Try npm first
|
|
60
60
|
try {
|
|
61
|
-
const { stdout } = await execa('
|
|
61
|
+
const { stdout } = await execa('npm', ['view', pkg, 'version']);
|
|
62
62
|
return stdout.trim();
|
|
63
63
|
}
|
|
64
64
|
catch {
|
package/dist/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAU/D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,OAAO,GAAG,IAAI,EACd,OAAO,GAAG,IAAI,EACd,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,111 @@
|
|
|
1
|
+
§ {"loop":true,"duration":120}
|
|
1
2
|
_ _ _ _
|
|
2
3
|
__ _ ___ ___(_|_) |_ ___ _ __(_)_ _ _ __ ___
|
|
3
4
|
╱ _` ╱ __|╱ __| | | __╱ _ ╲| '__| | | | | '_ ` _ ╲
|
|
4
5
|
⎹ (_| ╲__ ╲ (__| | | || (_) | | | | |_| | | | | | ⎸
|
|
5
6
|
╲__,_|___╱╲___|_|_|╲__╲___╱|_| |_|╲__,_|_| |_| |_⎸
|
|
6
|
-
|
|
7
|
+
¶ {"duration":8000}
|
|
8
|
+
_ _ _
|
|
9
|
+
__ _ ___ ___(_| )/|_ ___ _ __(_)_ _ _ __ .
|
|
10
|
+
╱y_` ╱ __|╱\__| |\| __╱ _/╲| '__|/| |. \| '_ ` _/╲.
|
|
11
|
+
⎹ (_| ╲__ ╲ (__|/| | || (_) |/| | | |_| | | | | | ⎸
|
|
12
|
+
╲__,_|__\╱╲___|_|_|╲__╲_y_╱|_| |_|╲__,_|_| |y| |_⎸
|
|
13
|
+
¶ {"duration":1000}
|
|
14
|
+
. _ * _ * .
|
|
15
|
+
__ _ ___ ___(_|_).|_ * _ __(_)_ _ * __
|
|
16
|
+
╱ _` ╱ __|╱ _ . | __╱ . ╲ '__| | | | ' ` ╲ .
|
|
17
|
+
⎹ (_| ╲__ (__| *|.| || (_) | * | | |_| *| | | ⎸ .
|
|
18
|
+
╲__,_|___╱╲__ ._|_|╲__╲ * ╱|_| .|╲__ |_| |_⎸
|
|
19
|
+
¶ {"duration":140}
|
|
20
|
+
* _ * . * . *
|
|
21
|
+
__ * (_|_) . * _ __ . . __
|
|
22
|
+
╱ ` __| | __╱ * ╲ '__| * ` ╲
|
|
23
|
+
⎹ * * ╲__ | | || (_) | . | * * | | ⎸
|
|
24
|
+
. .|___╱ |_| ╲__╲___╱|_| . . |_| . |_⎸
|
|
25
|
+
¶ {"duration":140}
|
|
26
|
+
. * . _ * . . .
|
|
27
|
+
__ * * (_|_). . * _ * . __
|
|
28
|
+
╱ _` * __| | __╱ * * ╲ '__| . * _ ╲
|
|
29
|
+
⎹ (_| * ╲__ | || (_) . | * . * | | ⎸
|
|
30
|
+
. ._|___╱ |_| ╲__╲ * |_| . * |_| |_⎸
|
|
31
|
+
¶ {"duration":160}
|
|
32
|
+
. * . _ * . * . .
|
|
33
|
+
* . (_|_) . . * . * .
|
|
34
|
+
╱ ` * __| __╱ * . * . * . ╲
|
|
35
|
+
⎹ * * ╲__ | (_)* . * . * . | ⎸
|
|
36
|
+
. .|___╱ |_| * . * . . |_|
|
|
37
|
+
¶ {"duration":140}
|
|
38
|
+
. * . . * . .
|
|
39
|
+
. . . * . * .
|
|
40
|
+
* . . . * .
|
|
41
|
+
. * . . . *
|
|
42
|
+
. . * . .
|
|
43
|
+
¶ {"duration":240}
|
|
44
|
+
. * . . * .
|
|
45
|
+
. . . * . *
|
|
46
|
+
. * . . . *
|
|
47
|
+
. . * . . .
|
|
48
|
+
* . . * .
|
|
49
|
+
¶ {"duration":240}
|
|
50
|
+
. * . . *
|
|
51
|
+
. . . * .
|
|
52
|
+
. * . . .
|
|
53
|
+
. . * . .
|
|
54
|
+
* . . . *
|
|
55
|
+
¶ {"duration":240}
|
|
56
|
+
|
|
57
|
+
. . * . .
|
|
58
|
+
. * . .
|
|
59
|
+
. . * .
|
|
60
|
+
* . . .
|
|
61
|
+
¶ {"duration":240}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
. . * .
|
|
65
|
+
. * . .
|
|
66
|
+
* . . .
|
|
67
|
+
¶ {"duration":240}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
. * .
|
|
72
|
+
* . .
|
|
73
|
+
¶ {"duration":260}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
. .
|
|
79
|
+
¶ {"duration":280}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
¶ {"duration":1000}
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
_ _ _ _
|
|
91
|
+
¶ {"duration":140}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
_ _ _ _
|
|
97
|
+
__ _ ___ ___(_|_) |_ ___ _ __(_)_ _ _ __ ___
|
|
98
|
+
¶ {"duration":140}
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
_ _ _ _
|
|
103
|
+
__ _ ___ ___(_|_) |_ ___ _ __(_)_ _ _ __ ___
|
|
104
|
+
╱ _` ╱ __|╱ __| | | __╱ _ ╲| '__| | | | | '_ ` _ ╲
|
|
105
|
+
¶ {"duration":140}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
_ _ _ _
|
|
109
|
+
__ _ ___ ___(_|_) |_ ___ _ __(_)_ _ _ __ ___
|
|
110
|
+
╱ _` ╱ __|╱ __| | | __╱ _ ╲| '__| | | | | '_ ` _ ╲
|
|
111
|
+
⎹ (_| ╲__ ╲ (__| | | || (_) | | | | |_| | | | | | ⎸
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
/** Single entry that runs on Web (DOM) and CLI (Terminal) */
|
|
2
2
|
import {
|
|
3
|
+
App,
|
|
4
|
+
Box,
|
|
3
5
|
Text,
|
|
4
6
|
State,
|
|
5
7
|
AsciiArt,
|
|
6
8
|
TextInput,
|
|
7
|
-
|
|
8
|
-
ProgressBar,
|
|
9
|
-
CelticBorder,
|
|
9
|
+
PerfMonitor,
|
|
10
10
|
HorizontalLine,
|
|
11
|
-
|
|
12
|
-
loadAsciiAsset,
|
|
13
|
-
bootstrap,
|
|
11
|
+
loadAsciiAsset
|
|
14
12
|
} from 'asciitorium';
|
|
15
13
|
|
|
14
|
+
|
|
16
15
|
const appWidth = 64;
|
|
17
|
-
const appHeight =
|
|
16
|
+
const appHeight = 30;
|
|
18
17
|
|
|
19
|
-
const loading = new State(0);
|
|
20
18
|
const helloWorld = new State('Hello, World!');
|
|
21
19
|
|
|
22
20
|
// Load the title ASCII art
|
|
@@ -24,44 +22,21 @@ const titleArt = await loadAsciiAsset('./art/asciitorium.txt');
|
|
|
24
22
|
|
|
25
23
|
// Construct the app
|
|
26
24
|
const app = (
|
|
27
|
-
<
|
|
28
|
-
<CelticBorder corner="topLeft" fixed x={0} y={0} />
|
|
29
|
-
<CelticBorder corner="topRight" fixed x={appWidth - 8} y={0} />
|
|
30
|
-
<CelticBorder corner="bottomLeft" fixed x={0} y={appHeight - 8} />
|
|
31
|
-
<CelticBorder
|
|
32
|
-
corner="bottomRight"
|
|
33
|
-
fixed
|
|
34
|
-
x={appWidth - 8}
|
|
35
|
-
y={appHeight - 8}
|
|
36
|
-
/>
|
|
25
|
+
<App width={appWidth} height={appHeight} border>
|
|
37
26
|
|
|
38
|
-
<
|
|
39
|
-
<
|
|
40
|
-
<
|
|
41
|
-
<Text value="a ui framework for cli and web" align="top" height={5} />
|
|
27
|
+
<AsciiArt content={titleArt} align="center" label="Asciitorium" />
|
|
28
|
+
<HorizontalLine length={48} align="center" />
|
|
29
|
+
<Text value="a ui framework for cli and web" align="top" gap={3} />
|
|
42
30
|
|
|
43
|
-
<
|
|
31
|
+
<Box align="center" layout="horizontal" gap={3} >
|
|
44
32
|
<Text value="Text Input:" align="center" />
|
|
45
33
|
<TextInput width={30} value={helloWorld} />
|
|
46
|
-
</
|
|
34
|
+
</Box>
|
|
47
35
|
|
|
48
|
-
<Text value={helloWorld} width={appWidth - 24} align="center"
|
|
36
|
+
<Text value={helloWorld} width={appWidth - 24} align="center" gap={3} />
|
|
49
37
|
|
|
50
|
-
<
|
|
51
|
-
|
|
52
|
-
<ProgressBar width={30} percent={loading} align="center" showPercentage />
|
|
53
|
-
</HorizontalLayout>
|
|
54
|
-
</Asciitorium>
|
|
38
|
+
<PerfMonitor align="center" time memory fps cpu />
|
|
39
|
+
</App>
|
|
55
40
|
);
|
|
56
41
|
|
|
57
|
-
await
|
|
58
|
-
|
|
59
|
-
// --- Demo: Set progress to a random value every 10s ---
|
|
60
|
-
const randInt = (min: number, max: number) =>
|
|
61
|
-
Math.floor(Math.random() * (max - min + 1)) + min;
|
|
62
|
-
|
|
63
|
-
setInterval(() => {
|
|
64
|
-
const newLoadingvalue = randInt(0, 100);
|
|
65
|
-
console.log(`Loading... ${newLoadingvalue}%`);
|
|
66
|
-
loading.value = newLoadingvalue;
|
|
67
|
-
}, 5_000);
|
|
42
|
+
await app.start();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-asciitorium",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Scaffold a Vite + TypeScript project prewired for asciitorium (web + cli).",
|
|
6
6
|
"bin": {
|
|
@@ -13,8 +13,14 @@
|
|
|
13
13
|
"README.md",
|
|
14
14
|
"LICENSE"
|
|
15
15
|
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.json",
|
|
18
|
+
"postbuild": "cp -r templates dist/",
|
|
19
|
+
"dev": "tsx watch src/index.ts",
|
|
20
|
+
"prepublishOnly": "npm run build"
|
|
21
|
+
},
|
|
16
22
|
"dependencies": {
|
|
17
|
-
"asciitorium": "",
|
|
23
|
+
"asciitorium": "^0.1.11",
|
|
18
24
|
"execa": "^9.3.0",
|
|
19
25
|
"kolorist": "^1.8.0",
|
|
20
26
|
"minimist": "^1.2.8",
|
|
@@ -32,10 +38,5 @@
|
|
|
32
38
|
},
|
|
33
39
|
"publishConfig": {
|
|
34
40
|
"access": "public"
|
|
35
|
-
},
|
|
36
|
-
"scripts": {
|
|
37
|
-
"build": "tsc -p tsconfig.json",
|
|
38
|
-
"postbuild": "cp -r templates dist/",
|
|
39
|
-
"dev": "tsx watch src/index.ts"
|
|
40
41
|
}
|
|
41
|
-
}
|
|
42
|
+
}
|