@debuffjp/cli 0.0.0-stage → 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.
Files changed (81) hide show
  1. package/README.md +63 -2
  2. package/bin/debuff.js +3 -0
  3. package/client.d.ts +3 -0
  4. package/dist/agent-link.d.ts +28 -0
  5. package/dist/agent-link.d.ts.map +1 -0
  6. package/dist/agent-link.js +122 -0
  7. package/dist/agent-link.js.map +1 -0
  8. package/dist/assets/atlas.d.ts +58 -0
  9. package/dist/assets/atlas.d.ts.map +1 -0
  10. package/dist/assets/atlas.js +164 -0
  11. package/dist/assets/atlas.js.map +1 -0
  12. package/dist/assets/builtin.d.ts +5 -0
  13. package/dist/assets/builtin.d.ts.map +1 -0
  14. package/dist/assets/builtin.js +47 -0
  15. package/dist/assets/builtin.js.map +1 -0
  16. package/dist/assets/command.d.ts +4 -0
  17. package/dist/assets/command.d.ts.map +1 -0
  18. package/dist/assets/command.js +35 -0
  19. package/dist/assets/command.js.map +1 -0
  20. package/dist/assets/compile.d.ts +29 -0
  21. package/dist/assets/compile.d.ts.map +1 -0
  22. package/dist/assets/compile.js +209 -0
  23. package/dist/assets/compile.js.map +1 -0
  24. package/dist/assets/index.d.ts +5 -0
  25. package/dist/assets/index.d.ts.map +1 -0
  26. package/dist/assets/index.js +5 -0
  27. package/dist/assets/index.js.map +1 -0
  28. package/dist/cli.d.ts +3 -0
  29. package/dist/cli.d.ts.map +1 -0
  30. package/dist/cli.js +212 -0
  31. package/dist/cli.js.map +1 -0
  32. package/dist/config.d.ts +24 -0
  33. package/dist/config.d.ts.map +1 -0
  34. package/dist/config.js +53 -0
  35. package/dist/config.js.map +1 -0
  36. package/dist/index.d.ts +11 -0
  37. package/dist/index.d.ts.map +1 -0
  38. package/dist/index.js +10 -0
  39. package/dist/index.js.map +1 -0
  40. package/dist/inspect.d.ts +35 -0
  41. package/dist/inspect.d.ts.map +1 -0
  42. package/dist/inspect.js +37 -0
  43. package/dist/inspect.js.map +1 -0
  44. package/dist/plugin.d.ts +146 -0
  45. package/dist/plugin.d.ts.map +1 -0
  46. package/dist/plugin.js +2 -0
  47. package/dist/plugin.js.map +1 -0
  48. package/dist/report.d.ts +26 -0
  49. package/dist/report.d.ts.map +1 -0
  50. package/dist/report.js +80 -0
  51. package/dist/report.js.map +1 -0
  52. package/dist/scenario/browser.d.ts +6 -0
  53. package/dist/scenario/browser.d.ts.map +1 -0
  54. package/dist/scenario/browser.js +47 -0
  55. package/dist/scenario/browser.js.map +1 -0
  56. package/dist/scenario/index.d.ts +5 -0
  57. package/dist/scenario/index.d.ts.map +1 -0
  58. package/dist/scenario/index.js +4 -0
  59. package/dist/scenario/index.js.map +1 -0
  60. package/dist/scenario/run.d.ts +12 -0
  61. package/dist/scenario/run.d.ts.map +1 -0
  62. package/dist/scenario/run.js +230 -0
  63. package/dist/scenario/run.js.map +1 -0
  64. package/dist/scenario/schema.d.ts +8 -0
  65. package/dist/scenario/schema.d.ts.map +1 -0
  66. package/dist/scenario/schema.js +23 -0
  67. package/dist/scenario/schema.js.map +1 -0
  68. package/dist/scenario/types.d.ts +96 -0
  69. package/dist/scenario/types.d.ts.map +1 -0
  70. package/dist/scenario/types.js +2 -0
  71. package/dist/scenario/types.js.map +1 -0
  72. package/dist/vite-plugin.d.ts +18 -0
  73. package/dist/vite-plugin.d.ts.map +1 -0
  74. package/dist/vite-plugin.js +122 -0
  75. package/dist/vite-plugin.js.map +1 -0
  76. package/dist/vite.d.ts +13 -0
  77. package/dist/vite.d.ts.map +1 -0
  78. package/dist/vite.js +24 -0
  79. package/dist/vite.js.map +1 -0
  80. package/package.json +63 -4
  81. package/schema/scenario.schema.json +111 -0
package/package.json CHANGED
@@ -1,6 +1,65 @@
1
1
  {
2
2
  "name": "@debuffjp/cli",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "The debuff CLI: dev server, builds with size reports, assets, scenarios",
5
+ "keywords": [
6
+ "game",
7
+ "cli",
8
+ "vite",
9
+ "gamedev",
10
+ "debuff"
11
+ ],
12
+ "license": "MIT",
13
+ "homepage": "https://debuff.jp",
14
+ "bugs": "https://github.com/debuffjp/debuff/issues",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/debuffjp/debuff.git",
18
+ "directory": "tooling/cli"
19
+ },
20
+ "type": "module",
21
+ "bin": {
22
+ "debuff": "bin/debuff.js"
23
+ },
24
+ "main": "./dist/index.js",
25
+ "types": "./dist/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "default": "./dist/index.js"
30
+ },
31
+ "./schema/scenario.schema.json": "./schema/scenario.schema.json",
32
+ "./client": {
33
+ "types": "./client.d.ts"
34
+ }
35
+ },
36
+ "files": [
37
+ "bin",
38
+ "dist",
39
+ "schema",
40
+ "README.md",
41
+ "client.d.ts"
42
+ ],
43
+ "scripts": {
44
+ "build": "tsc -b"
45
+ },
46
+ "dependencies": {
47
+ "@clack/prompts": "^1.8.1",
48
+ "cac": "^7.1.0",
49
+ "create-debuff": "0.1.0",
50
+ "fast-png": "^8.0.0",
51
+ "picocolors": "^1.1.1",
52
+ "playwright-core": "^1.64.1",
53
+ "vite": "^8.3.4"
54
+ },
55
+ "devDependencies": {
56
+ "@types/node": "^24.0.0"
57
+ },
58
+ "engines": {
59
+ "node": ">=22"
60
+ },
61
+ "publishConfig": {
62
+ "access": "public",
63
+ "provenance": false
64
+ }
65
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/debuffjp/debuff/main/tooling/cli/schema/scenario.schema.json",
4
+ "title": "debuff scenario",
5
+ "description": "Deterministic gameplay scenario run by `debuff scenario`. Time only advances through `wait` steps.",
6
+ "type": "object",
7
+ "required": ["steps"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "$schema": { "type": "string" },
11
+ "name": { "type": "string", "description": "Defaults to the file name." },
12
+ "page": { "type": "string", "description": "Path to open on the dev server.", "default": "/" },
13
+ "steps": { "type": "array", "items": { "$ref": "#/$defs/step" } }
14
+ },
15
+ "$defs": {
16
+ "point": { "type": "array", "prefixItems": [{ "type": "number" }, { "type": "number" }], "minItems": 2, "maxItems": 2 },
17
+ "comparison": {
18
+ "type": "object",
19
+ "description": "All given conditions must hold.",
20
+ "additionalProperties": false,
21
+ "properties": {
22
+ "eq": { "description": "Deep equality." },
23
+ "gt": { "type": "number" },
24
+ "gte": { "type": "number" },
25
+ "lt": { "type": "number" },
26
+ "lte": { "type": "number" },
27
+ "approx": { "$ref": "#/$defs/point", "description": "[target, tolerance]" }
28
+ }
29
+ },
30
+ "step": {
31
+ "oneOf": [
32
+ {
33
+ "type": "object",
34
+ "required": ["wait"],
35
+ "additionalProperties": false,
36
+ "properties": { "wait": { "type": "integer", "minimum": 0, "description": "Advance N fixed simulation steps." } }
37
+ },
38
+ {
39
+ "type": "object",
40
+ "required": ["press"],
41
+ "additionalProperties": false,
42
+ "properties": { "press": { "type": "string", "description": "KeyboardEvent.code to hold, e.g. \"Space\"." } }
43
+ },
44
+ { "type": "object", "required": ["release"], "additionalProperties": false, "properties": { "release": { "type": "string" } } },
45
+ {
46
+ "type": "object",
47
+ "required": ["tap"],
48
+ "additionalProperties": false,
49
+ "properties": { "tap": { "$ref": "#/$defs/point", "description": "Logical [x, y]." } }
50
+ },
51
+ {
52
+ "type": "object",
53
+ "required": ["pointerDown"],
54
+ "additionalProperties": false,
55
+ "properties": { "pointerDown": { "$ref": "#/$defs/point" } }
56
+ },
57
+ {
58
+ "type": "object",
59
+ "required": ["pointerMove"],
60
+ "additionalProperties": false,
61
+ "properties": { "pointerMove": { "$ref": "#/$defs/point" } }
62
+ },
63
+ { "type": "object", "required": ["pointerUp"], "additionalProperties": false, "properties": { "pointerUp": { "const": true } } },
64
+ {
65
+ "type": "object",
66
+ "required": ["set"],
67
+ "additionalProperties": false,
68
+ "properties": {
69
+ "set": {
70
+ "type": "object",
71
+ "description": "Params to set, keyed \"group.key\".",
72
+ "propertyNames": { "pattern": "^[^.]+\\..+$" },
73
+ "additionalProperties": { "type": ["number", "boolean"] }
74
+ }
75
+ }
76
+ },
77
+ {
78
+ "type": "object",
79
+ "required": ["expect"],
80
+ "additionalProperties": false,
81
+ "properties": {
82
+ "expect": {
83
+ "type": "object",
84
+ "description": "Dotted paths into dev state (scene, tick, time, frozen, stats.*, state.*).",
85
+ "additionalProperties": { "$ref": "#/$defs/comparison" }
86
+ }
87
+ }
88
+ },
89
+ {
90
+ "type": "object",
91
+ "required": ["capture"],
92
+ "additionalProperties": false,
93
+ "properties": {
94
+ "capture": {
95
+ "type": "string",
96
+ "pattern": "^[\\w-]+$",
97
+ "description": "Screenshot name, compared to the per-platform baseline."
98
+ },
99
+ "tolerance": {
100
+ "type": "number",
101
+ "minimum": 0,
102
+ "maximum": 1,
103
+ "default": 0.002,
104
+ "description": "Max fraction of differing pixels."
105
+ }
106
+ }
107
+ }
108
+ ]
109
+ }
110
+ }
111
+ }