joplo 0.1.0 → 0.1.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.
Files changed (3) hide show
  1. package/README.md +18 -0
  2. package/lib/main.cjs +15 -15
  3. package/package.json +6 -6
package/README.md ADDED
@@ -0,0 +1,18 @@
1
+ <p align="center"><img src="https://raw.githubusercontent.com/Joplo-app/Joplo/main/assets/brand/joplo-logo.svg" alt="Joplo" width="300"></p>
2
+
3
+ # joplo
4
+
5
+ 先把功能做成低保真、可点击、可演示的原型,再让编码 Agent 去写代码。
6
+
7
+ ```sh
8
+ npx joplo@latest init my-demo
9
+ cd my-demo && npm install
10
+ npx joplo dev # 本地看板:http://127.0.0.1:4790/
11
+ npx joplo skill install # 让 Claude Code / Codex 按需读取 Joplo 的用法
12
+ ```
13
+
14
+ - 用 TSX 描述页面、方案、情况、规则和演示步骤;看板里按情况比较方案,⌥+单击元素拿到 `文件:行`。
15
+ - 层级、导演镜头、架构图(`Diagram` + `trace()`)、终端和手机外框、自定义主题。
16
+ - `npx joplo build` 生成可直接部署的静态演示站。
17
+
18
+ 文档与示例:<https://github.com/Joplo-app/Joplo>。许可证:Apache-2.0。
package/lib/main.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
- * 选择并运行 @tokenroll/joplo-cli(只在 Node ≥ 22 上载入):
3
- * 1. 当前目录(向上)所在项目的 node_modules 里有 @tokenroll/joplo-cli → 用项目内的版本(项目内版本优先)。
4
- * pnpm 布局下项目只直接依赖 joplo,就从 node_modules/joplo 的真实位置再找它的 @tokenroll/joplo-cli。
5
- * 2. 否则用本包自己依赖的 @tokenroll/joplo-cli。
2
+ * 选择并运行 @joplo-app/cli(只在 Node ≥ 22 上载入):
3
+ * 1. 当前目录(向上)所在项目的 node_modules 里有 @joplo-app/cli → 用项目内的版本(项目内版本优先)。
4
+ * pnpm 布局下项目只直接依赖 joplo,就从 node_modules/joplo 的真实位置再找它的 @joplo-app/cli。
5
+ * 2. 否则用本包自己依赖的 @joplo-app/cli。
6
6
  * 例外:init 总是用本包的版本——用户用 `npx joplo@<版本> init` 明确指定了要生成哪个版本的项目。
7
7
  *
8
- * 转发方式:读取所选 @tokenroll/joplo-cli 的 package.json 的 bin['joplo-cli'],用 import() 运行它(参数沿用 process.argv)。
9
- * @tokenroll/joplo-cli 的命令名故意不叫 joplo:否则 npm 安装时它会占掉 node_modules/.bin/joplo,绕过本入口。
8
+ * 转发方式:读取所选 @joplo-app/cli 的 package.json 的 bin['joplo-cli'],用 import() 运行它(参数沿用 process.argv)。
9
+ * @joplo-app/cli 的命令名故意不叫 joplo:否则 npm 安装时它会占掉 node_modules/.bin/joplo,绕过本入口。
10
10
  */
11
11
  'use strict';
12
12
 
@@ -34,7 +34,7 @@ function findUp(dir, name) {
34
34
  }
35
35
  }
36
36
 
37
- /** 读取一份 @tokenroll/joplo-cli;package.json 坏掉或没有 bin['joplo-cli'] 时返回 null。 */
37
+ /** 读取一份 @joplo-app/cli;package.json 坏掉或没有 bin['joplo-cli'] 时返回 null。 */
38
38
  function describeCli(pkgFile) {
39
39
  if (!pkgFile) return null;
40
40
  const pkg = readJson(pkgFile);
@@ -47,13 +47,13 @@ function describeCli(pkgFile) {
47
47
  return { dir, version: pkg.version, bin: file };
48
48
  }
49
49
 
50
- /** 项目内的 @tokenroll/joplo-cli:先找直接安装的,再经由项目里的 joplo 包找。 */
50
+ /** 项目内的 @joplo-app/cli:先找直接安装的,再经由项目里的 joplo 包找。 */
51
51
  function localCli(cwd) {
52
- const direct = describeCli(findUp(cwd, '@tokenroll/joplo-cli'));
52
+ const direct = describeCli(findUp(cwd, '@joplo-app/cli'));
53
53
  if (direct) return direct;
54
54
  const joplo = findUp(cwd, 'joplo');
55
55
  if (!joplo) return null;
56
- return describeCli(findUp(fs.realpathSync(path.dirname(joplo)), '@tokenroll/joplo-cli'));
56
+ return describeCli(findUp(fs.realpathSync(path.dirname(joplo)), '@joplo-app/cli'));
57
57
  }
58
58
 
59
59
  function packageManager(env) {
@@ -67,7 +67,7 @@ const ADD_DEV = { npm: 'npm i -D', pnpm: 'pnpm add -D', yarn: 'yarn add -D', bun
67
67
  * 返回 { dir, version, bin, local, notes };哪里都找不到时返回 null。notes 写到 stderr。
68
68
  */
69
69
  function pickCli({ cwd, selfDir, argv, env }) {
70
- const own = describeCli(findUp(selfDir, '@tokenroll/joplo-cli'));
70
+ const own = describeCli(findUp(selfDir, '@joplo-app/cli'));
71
71
  const command = argv[0];
72
72
  const local = command === 'init' ? null : localCli(cwd);
73
73
  const notes = [];
@@ -76,11 +76,11 @@ function pickCli({ cwd, selfDir, argv, env }) {
76
76
  if (!same && own && own.version !== local.version)
77
77
  notes.push(
78
78
  `! 已改用项目内的 joplo ${local.version} 执行(npx 拉到的是 ${own.version})。` +
79
- `要升级:${ADD_DEV[packageManager(env)]} joplo@${own.version} @tokenroll/joplo-kit@${own.version}`,
79
+ `要升级:${ADD_DEV[packageManager(env)]} joplo@${own.version} @joplo-app/kit@${own.version}`,
80
80
  );
81
81
  if (command === 'dev') {
82
- const kit = readJson(findUp(cwd, '@tokenroll/joplo-kit') || '');
83
- notes.push(`[joplo] 使用项目内的 joplo ${local.version}(@tokenroll/joplo-kit ${kit && kit.version ? kit.version : '未安装'})`);
82
+ const kit = readJson(findUp(cwd, '@joplo-app/kit') || '');
83
+ notes.push(`[joplo] 使用项目内的 joplo ${local.version}(@joplo-app/kit ${kit && kit.version ? kit.version : '未安装'})`);
84
84
  }
85
85
  return { ...local, local: true, notes };
86
86
  }
@@ -91,7 +91,7 @@ function pickCli({ cwd, selfDir, argv, env }) {
91
91
  async function main() {
92
92
  const choice = pickCli({ cwd: process.cwd(), selfDir: path.resolve(__dirname, '..'), argv: process.argv.slice(2), env: process.env });
93
93
  if (!choice) {
94
- process.stderr.write('✗ 找不到 @tokenroll/joplo-cli。请重新安装:npm i -D joplo,或运行 npx joplo@latest\n');
94
+ process.stderr.write('✗ 找不到 @joplo-app/cli。请重新安装:npm i -D joplo,或运行 npx joplo@latest\n');
95
95
  process.exitCode = 1;
96
96
  return;
97
97
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "joplo",
3
- "version": "0.1.0",
4
- "description": "Joplo 命令入口:npx joplo init / dev / check / build。转发到项目内安装的 @tokenroll/joplo-cli",
3
+ "version": "0.1.1",
4
+ "description": "Joplo 命令入口:npx joplo init / dev / check / build。转发到项目内安装的 @joplo-app/cli",
5
5
  "license": "Apache-2.0",
6
6
  "bin": {
7
7
  "joplo": "./bin/joplo.cjs"
@@ -18,7 +18,7 @@
18
18
  "agent"
19
19
  ],
20
20
  "dependencies": {
21
- "@tokenroll/joplo-cli": "0.1.0"
21
+ "@joplo-app/cli": "0.1.1"
22
22
  },
23
23
  "engines": {
24
24
  "node": ">=22"
@@ -28,11 +28,11 @@
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",
31
- "url": "git+https://github.com/TokenRollAI/Joplo.git",
31
+ "url": "git+https://github.com/Joplo-app/Joplo.git",
32
32
  "directory": "packages/joplo"
33
33
  },
34
- "homepage": "https://github.com/TokenRollAI/Joplo#readme",
34
+ "homepage": "https://github.com/Joplo-app/Joplo#readme",
35
35
  "bugs": {
36
- "url": "https://github.com/TokenRollAI/Joplo/issues"
36
+ "url": "https://github.com/Joplo-app/Joplo/issues"
37
37
  }
38
38
  }