create-eigen-game 0.14.0 → 0.14.2
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
|
@@ -67,6 +67,10 @@ public values from `app/app-config.json` through Flutter's native
|
|
|
67
67
|
it contains its own `package.json`, `wrangler.jsonc`, TypeScript entry point,
|
|
68
68
|
generated Wrangler types, and game module. The combined CLI renders that same
|
|
69
69
|
template under `server/`; it does not maintain a second Worker skeleton.
|
|
70
|
+
The template approves only the `esbuild` and `workerd` install scripts that its
|
|
71
|
+
toolchain requires, using npm's `allowScripts` in `package.json` and pnpm's
|
|
72
|
+
`allowBuilds` in `pnpm-workspace.yaml`; npm explicitly declines the unnecessary
|
|
73
|
+
optional `fsevents` fallback build.
|
|
70
74
|
|
|
71
75
|
`templates/app-overlay` is applied after
|
|
72
76
|
`flutter create --empty --platforms android,web`. It supplies the Firebase
|
package/dist/index.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ interface FirebaseLink {
|
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/index.d.ts
|
|
11
|
-
type PackageManager = "npm" | "pnpm";
|
|
12
|
-
type Runner = (command: string, args: string[], cwd: string) => void;
|
|
11
|
+
export type PackageManager = "npm" | "pnpm";
|
|
12
|
+
export type Runner = (command: string, args: string[], cwd: string) => void;
|
|
13
13
|
/**
|
|
14
14
|
* Where a scaffold says what it is doing, so that presentation belongs to the
|
|
15
15
|
* caller and this module only has to name things.
|
|
@@ -19,7 +19,7 @@ type Runner = (command: string, args: string[], cwd: string) => void;
|
|
|
19
19
|
* substitutes one that captures each step's output and shows it only if the
|
|
20
20
|
* step fails.
|
|
21
21
|
*/
|
|
22
|
-
interface Reporter {
|
|
22
|
+
export interface Reporter {
|
|
23
23
|
/** Runs `body` as one named step. Its subprocesses can be captured. */
|
|
24
24
|
step<T>(label: string, body: () => T): T;
|
|
25
25
|
/**
|
|
@@ -44,12 +44,12 @@ interface Reporter {
|
|
|
44
44
|
* with `RangeError: Invalid string length`. Supplying the default its check
|
|
45
45
|
* misses is better than giving up the drawing.
|
|
46
46
|
*/
|
|
47
|
-
declare function normaliseTerminalWidth(stream: {
|
|
47
|
+
export declare function normaliseTerminalWidth(stream: {
|
|
48
48
|
isTTY?: boolean;
|
|
49
49
|
columns?: number;
|
|
50
50
|
}): void;
|
|
51
51
|
/** Runs every step plainly, which is what a library caller gets by default. */
|
|
52
|
-
declare const plainReporter: Reporter;
|
|
52
|
+
export declare const plainReporter: Reporter;
|
|
53
53
|
/**
|
|
54
54
|
* The runner a scaffold uses when the caller has not supplied one: it asks the
|
|
55
55
|
* reporter whether the terminal is spoken for.
|
|
@@ -59,8 +59,8 @@ declare const plainReporter: Reporter;
|
|
|
59
59
|
* handed to the reporter: on success so it can discard them, and on failure
|
|
60
60
|
* so the reason survives.
|
|
61
61
|
*/
|
|
62
|
-
declare function capturingRunner(reporter: Reporter): Runner;
|
|
63
|
-
interface ScaffoldOptions {
|
|
62
|
+
export declare function capturingRunner(reporter: Reporter): Runner;
|
|
63
|
+
export interface ScaffoldOptions {
|
|
64
64
|
directory: string;
|
|
65
65
|
org?: string;
|
|
66
66
|
packageManager?: PackageManager;
|
|
@@ -109,8 +109,8 @@ interface ScaffoldOptions {
|
|
|
109
109
|
* than guess. `failed` has already warned by the time it is returned, and
|
|
110
110
|
* carries no advice of its own.
|
|
111
111
|
*/
|
|
112
|
-
type GitOutcome = "committed" | "existing" | "skipped" | "failed";
|
|
113
|
-
interface ScaffoldResult {
|
|
112
|
+
export type GitOutcome = "committed" | "existing" | "skipped" | "failed";
|
|
113
|
+
export interface ScaffoldResult {
|
|
114
114
|
root: string;
|
|
115
115
|
name: string;
|
|
116
116
|
git: GitOutcome;
|
|
@@ -134,10 +134,10 @@ interface ScaffoldResult {
|
|
|
134
134
|
* the *prefix*, not the whole identifier, which is the part worth seeing
|
|
135
135
|
* before answering: Google Play makes it permanent at first upload.
|
|
136
136
|
*/
|
|
137
|
-
declare function applicationId(directory: string, org?: string): string;
|
|
138
|
-
declare function detectPackageManager(userAgent?: string | undefined): PackageManager | undefined;
|
|
139
|
-
declare function decodeUtf8(bytes: Buffer): string | undefined;
|
|
140
|
-
interface AddContinuousIntegrationOptions {
|
|
137
|
+
export declare function applicationId(directory: string, org?: string): string;
|
|
138
|
+
export declare function detectPackageManager(userAgent?: string | undefined): PackageManager | undefined;
|
|
139
|
+
export declare function decodeUtf8(bytes: Buffer): string | undefined;
|
|
140
|
+
export interface AddContinuousIntegrationOptions {
|
|
141
141
|
directory: string;
|
|
142
142
|
/** Overrides the manager recorded in the project's own package.json. */
|
|
143
143
|
packageManager?: PackageManager;
|
|
@@ -149,23 +149,23 @@ interface AddContinuousIntegrationOptions {
|
|
|
149
149
|
* long as its author likes, then gain the same PR gate and signed release
|
|
150
150
|
* pipeline a `--ci` scaffold would have produced.
|
|
151
151
|
*/
|
|
152
|
-
declare function addContinuousIntegration(options: AddContinuousIntegrationOptions): {
|
|
152
|
+
export declare function addContinuousIntegration(options: AddContinuousIntegrationOptions): {
|
|
153
153
|
root: string;
|
|
154
154
|
files: string[];
|
|
155
155
|
};
|
|
156
156
|
/** Asks a command a question. `ok` is "ran and succeeded"; a tool that is not installed and one that fails are both `false`, because neither can be used. */
|
|
157
|
-
type Probe = (command: string, args: string[]) => {
|
|
157
|
+
export type Probe = (command: string, args: string[]) => {
|
|
158
158
|
ok: boolean;
|
|
159
159
|
stdout: string;
|
|
160
160
|
};
|
|
161
161
|
/** One thing standing between this machine and a configured Firebase project, and the single command that clears it. */
|
|
162
|
-
interface FirebaseProblem {
|
|
162
|
+
export interface FirebaseProblem {
|
|
163
163
|
/** Said as a sentence fragment, so it reads after "Firebase is not set up here:". */
|
|
164
164
|
reason: string;
|
|
165
165
|
/** The one command that fixes this, and nothing else. */
|
|
166
166
|
fix: string;
|
|
167
167
|
}
|
|
168
|
-
type FirebaseReadiness = {
|
|
168
|
+
export type FirebaseReadiness = {
|
|
169
169
|
ready: true;
|
|
170
170
|
} | {
|
|
171
171
|
ready: false;
|
|
@@ -191,7 +191,7 @@ type FirebaseReadiness = {
|
|
|
191
191
|
* that errors or grows a different output shape is left to the command that
|
|
192
192
|
* actually needs the credentials.
|
|
193
193
|
*/
|
|
194
|
-
declare function firebaseReadiness(probe?: Probe): FirebaseReadiness;
|
|
194
|
+
export declare function firebaseReadiness(probe?: Probe): FirebaseReadiness;
|
|
195
195
|
/**
|
|
196
196
|
* Whether the scaffold would land inside a repository that already exists.
|
|
197
197
|
*
|
|
@@ -224,9 +224,9 @@ declare function firebaseReadiness(probe?: Probe): FirebaseReadiness;
|
|
|
224
224
|
* the last one. {@link scaffoldGame} asks it again, for callers that are not
|
|
225
225
|
* the CLI.
|
|
226
226
|
*/
|
|
227
|
-
declare function destinationProblem(directory: string): string | undefined;
|
|
228
|
-
declare function insideWorkTree(directory: string, probe?: Probe): boolean;
|
|
229
|
-
declare function scaffoldGame(options: ScaffoldOptions): ScaffoldResult;
|
|
227
|
+
export declare function destinationProblem(directory: string): string | undefined;
|
|
228
|
+
export declare function insideWorkTree(directory: string, probe?: Probe): boolean;
|
|
229
|
+
export declare function scaffoldGame(options: ScaffoldOptions): ScaffoldResult;
|
|
230
230
|
//#endregion
|
|
231
|
-
export {
|
|
231
|
+
export type { FirebaseLink };
|
|
232
232
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/link-firebase.ts","../src/index.ts"],"mappings":";;UAkBiB;;EAEf;;EAEA;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/link-firebase.ts","../src/index.ts"],"mappings":";;UAkBiB;;EAEf;;EAEA;;;;YCbU;YAEA,UAAU,iBAAiB,gBAAgB;;;;;;;;;;iBAWtC;;EAEf,KAAK,GAAG,eAAe,YAAY,IAAI;;;;;EAKvC,SAAS,GAAG,eAAe,YAAY,IAAI;;EAE3C,KAAK;;EAEL,KAAK;;WAEI;;;;;;;;;;;;wBAaK,uBAAuB;EAAU;EAAiB;;;qBAKrD,eAAe;;;;;;;;;;wBAiBZ,gBAAgB,UAAU,WAAW;iBAkBpC;EACf;EACA;EACA,iBAAiB;;;;;;EAMjB;;;;;;EAMA;;;;;EAKA;;;;;;;;;;;EAWA;;;;;;EAMA,MAAM;;;;;EAKN,WAAW;;;;;;;YAQD;iBAEK;EACf;EACA;EACA,KAAK;;;;;EAKL;;;;;;EAMA,OAAO;;;;;;;;;;wBA2HO,cAAc,mBAAmB;wBAkBjC,qBAAqB,iCAAgD;wBAoErE,WAAW,OAAO;iBAoNjB;EACf;;EAEA,iBAAiB;;;;;;;;;wBAUH,yBAAyB,SAAS;EAAoC;EAAc;;;YAqCxF,SAAS,iBAAiB;EAAqB;EAAa;;;iBAWvD;;EAEf;;EAEA;;YAGU;EAAsB;;EAAkB;EAAc,UAAU;;;;;;;;;;;;;;;;;;;;;;wBAsB5D,kBAAkB,QAAO,QAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0EhD,mBAAmB;wBAiBnB,eAAe,mBAAmB,QAAO;wBAyGzC,aAAa,SAAS,kBAAkB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-eigen-game",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Scaffold an EigenInteractive game Worker and Flutter app without cloning the engine repositories.",
|
|
6
6
|
"type": "module",
|
|
@@ -24,14 +24,14 @@
|
|
|
24
24
|
"picocolors": "^1.1.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@types/node": "^26.
|
|
27
|
+
"@types/node": "^26.4.1",
|
|
28
28
|
"typescript": "~6.0.2",
|
|
29
|
-
"vitest": "^4.1.
|
|
30
|
-
"wrangler": "^4.
|
|
29
|
+
"vitest": "^4.1.11",
|
|
30
|
+
"wrangler": "^4.129.0",
|
|
31
31
|
"zod": "^4.4.3",
|
|
32
|
-
"@eigeninteractive/rules": "0.6.
|
|
33
|
-
"@eigeninteractive/server": "0.6.
|
|
34
|
-
"@eigeninteractive/testkit": "0.6.
|
|
32
|
+
"@eigeninteractive/rules": "0.6.1",
|
|
33
|
+
"@eigeninteractive/server": "0.6.1",
|
|
34
|
+
"@eigeninteractive/testkit": "0.6.1"
|
|
35
35
|
},
|
|
36
36
|
"engines": {
|
|
37
37
|
"node": ">=22"
|
|
@@ -62,8 +62,12 @@ formatter is free to move anything written there.
|
|
|
62
62
|
refuses to run them unless the project asks, and fails the install outright
|
|
63
63
|
when one is skipped (`ERR_PNPM_IGNORED_BUILDS`). Two need theirs: `esbuild`
|
|
64
64
|
fetches its platform binary, and `workerd` is the runtime `vitest` and
|
|
65
|
-
`wrangler dev` execute against. npm
|
|
66
|
-
the
|
|
65
|
+
`wrangler dev` execute against. npm ignores this file, so `package.json`
|
|
66
|
+
declares the same two names in npm's `allowScripts` policy. Keeping both
|
|
67
|
+
policies beside the Worker dependencies makes installs work without granting
|
|
68
|
+
every dependency permission to run code. npm's policy also explicitly declines
|
|
69
|
+
the optional `fsevents` fallback build: its package already carries a universal
|
|
70
|
+
macOS binary, so compiling another one is unnecessary.
|
|
67
71
|
|
|
68
72
|
`minimumReleaseAgeExclude` appears on its own. pnpm 11 will not install a
|
|
69
73
|
version published less than a day ago, a quarantine against a compromised
|