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 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](https://github.com/iroknee/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.
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
- ## Project Structure
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
- ├── index.html
35
- ├── package.json
36
- ├── tsconfig.json
37
- └── vite.config.ts
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](https://github.com/iroknee/asciitorium)
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] ?? 'pnpm';
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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 = 'pnpm', } = opts;
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: pnpm)
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 pnpm first
59
+ // Try npm first
60
60
  try {
61
- const { stdout } = await execa('pnpm', ['view', pkg, 'version']);
61
+ const { stdout } = await execa('npm', ['view', pkg, 'version']);
62
62
  return stdout.trim();
63
63
  }
64
64
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
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
- Asciitorium,
8
- ProgressBar,
9
- CelticBorder,
9
+ PerfMonitor,
10
10
  HorizontalLine,
11
- HorizontalLayout,
12
- loadAsciiAsset,
13
- bootstrap,
11
+ loadAsciiAsset
14
12
  } from 'asciitorium';
15
13
 
14
+
16
15
  const appWidth = 64;
17
- const appHeight = 26;
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
- <Asciitorium width={appWidth} height={appHeight}>
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
- <Text value="" align="center" height={2} comment="vertical spacing" />
39
- <AsciiArt content={titleArt} align="center" />
40
- <HorizontalLine length={36} align="center" />
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
- <HorizontalLayout width={appWidth - 22} height={3} align="center">
31
+ <Box align="center" layout="horizontal" gap={3} >
44
32
  <Text value="Text Input:" align="center" />
45
33
  <TextInput width={30} value={helloWorld} />
46
- </HorizontalLayout>
34
+ </Box>
47
35
 
48
- <Text value={helloWorld} width={appWidth - 24} align="center" height={4} />
36
+ <Text value={helloWorld} width={appWidth - 24} align="center" gap={3} />
49
37
 
50
- <HorizontalLayout width={appWidth - 24} height={4} align="center">
51
- <Text value="loading:" align="center" />
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 bootstrap(app);
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.10",
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
+ }