create-pyric 0.1.0-alpha.22 → 0.1.0-alpha.25
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/dist/bin.js +5 -1
- package/dist/bin.js.map +1 -1
- package/dist/firebase-pins.d.ts +16 -0
- package/dist/firebase-pins.d.ts.map +1 -0
- package/dist/firebase-pins.js +16 -0
- package/dist/firebase-pins.js.map +1 -0
- package/dist/package-manager.d.ts +18 -0
- package/dist/package-manager.d.ts.map +1 -0
- package/dist/package-manager.js +33 -0
- package/dist/package-manager.js.map +1 -0
- package/dist/scaffold.d.ts +3 -3
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +3 -3
- package/dist/scaffold.js.map +1 -1
- package/dist/template-nextjs.d.ts +0 -3
- package/dist/template-nextjs.d.ts.map +1 -1
- package/dist/template-nextjs.js +6 -2
- package/dist/template-nextjs.js.map +1 -1
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +68 -19
- package/dist/templates.js.map +1 -1
- package/package.json +1 -1
- package/src/bin.ts +5 -1
- package/src/firebase-pins.ts +15 -0
- package/src/package-manager.ts +38 -0
- package/src/scaffold.ts +5 -5
- package/src/template-nextjs.ts +3 -2
- package/src/templates.ts +68 -19
- package/templates/chat/.env.development +6 -0
- package/templates/chat/database.rules.json +4 -4
- package/templates/chat/functions/package.json +1 -1
- package/templates/chat/package.json +4 -2
- package/templates/chat/scaffold.json +1 -0
- package/templates/chat/scripts/check-listener-owner-build.ts +73 -0
- package/templates/chat/src/services/conversation-service.ts +6 -5
- package/templates/chat/src/services/firestore-helpers.ts +18 -0
- package/templates/chat/src/services/message-service.ts +4 -3
- package/templates/chat/src/services/presence-service.ts +4 -4
- package/templates/chat/src/ui/chat/chat-format.ts +8 -0
- package/templates/chat/src/ui/chat/chat-page.tsx +29 -126
- package/templates/chat/src/ui/chat/chat-types.ts +16 -4
- package/templates/chat/src/ui/chat/conversation-header.tsx +26 -0
- package/templates/chat/src/ui/chat/conversation-list.tsx +38 -0
- package/templates/chat/src/ui/chat/firebase-chat-gateway.ts +4 -4
- package/templates/chat/src/ui/chat/message-thread.tsx +156 -0
- package/templates/chat/src/ui/chat/presence-bar.tsx +23 -0
- package/templates/chat/vite.config.ts +6 -2
package/dist/bin.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { parseCreateArgs } from './parse-args.js';
|
|
9
9
|
import { applyDepsMode, isTemplateName, normalizeBoolFlags, runScaffold, TEMPLATE_NAMES, TEMPLATES, } from './scaffold.js';
|
|
10
10
|
import { readFileSync } from 'node:fs';
|
|
11
|
+
import { detectPackageManager, nextStepsFor } from './package-manager.js';
|
|
11
12
|
function packageVersion() {
|
|
12
13
|
const metadata = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
13
14
|
if (typeof metadata.version !== 'string' || metadata.version.length === 0) {
|
|
@@ -34,7 +35,10 @@ async function main() {
|
|
|
34
35
|
const nameFlag = args.flags.get('name');
|
|
35
36
|
const name = typeof nameFlag === 'string' && nameFlag.length > 0 ? nameFlag : undefined;
|
|
36
37
|
const version = packageVersion();
|
|
37
|
-
const
|
|
38
|
+
const pinned = applyDepsMode(TEMPLATES[templateName], 'npm', { version });
|
|
39
|
+
const packageManager = detectPackageManager(process.env.npm_config_user_agent);
|
|
40
|
+
const nextSteps = nextStepsFor(pinned.nextSteps, packageManager);
|
|
41
|
+
const effectiveTemplate = { ...pinned, nextSteps };
|
|
38
42
|
return runScaffold({
|
|
39
43
|
dir: args.positional[0],
|
|
40
44
|
template: templateName,
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Firebase lines a scaffolded app installs (#1188): patch ranges on the
|
|
3
|
+
* versions pyric is certified against. `firebase` follows
|
|
4
|
+
* FIREBASE_TESTED_AGAINST (packages/cli/src/version/compat-target.ts), the
|
|
5
|
+
* version `compat:check` certifies and the `fb<major>.<minor>` dist-tag names.
|
|
6
|
+
* `firebase-admin` follows the version the oracle observations were captured
|
|
7
|
+
* against (`compat:oracle-versions`). A caret range would install a newer
|
|
8
|
+
* minor, whose exports pyric may not mirror yet.
|
|
9
|
+
*
|
|
10
|
+
* packages/create-pyric/test/firebase-pins.test.ts keeps these equal to the
|
|
11
|
+
* certified versions and to the chat template's package.json files, which are
|
|
12
|
+
* static assets and cannot import this module.
|
|
13
|
+
*/
|
|
14
|
+
export declare const FIREBASE_PIN = "~12.13.0";
|
|
15
|
+
export declare const FIREBASE_ADMIN_PIN = "~13.10.0";
|
|
16
|
+
//# sourceMappingURL=firebase-pins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase-pins.d.ts","sourceRoot":"","sources":["../src/firebase-pins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,kBAAkB,aAAa,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Firebase lines a scaffolded app installs (#1188): patch ranges on the
|
|
3
|
+
* versions pyric is certified against. `firebase` follows
|
|
4
|
+
* FIREBASE_TESTED_AGAINST (packages/cli/src/version/compat-target.ts), the
|
|
5
|
+
* version `compat:check` certifies and the `fb<major>.<minor>` dist-tag names.
|
|
6
|
+
* `firebase-admin` follows the version the oracle observations were captured
|
|
7
|
+
* against (`compat:oracle-versions`). A caret range would install a newer
|
|
8
|
+
* minor, whose exports pyric may not mirror yet.
|
|
9
|
+
*
|
|
10
|
+
* packages/create-pyric/test/firebase-pins.test.ts keeps these equal to the
|
|
11
|
+
* certified versions and to the chat template's package.json files, which are
|
|
12
|
+
* static assets and cannot import this module.
|
|
13
|
+
*/
|
|
14
|
+
export const FIREBASE_PIN = '~12.13.0';
|
|
15
|
+
export const FIREBASE_ADMIN_PIN = '~13.10.0';
|
|
16
|
+
//# sourceMappingURL=firebase-pins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firebase-pins.js","sourceRoot":"","sources":["../src/firebase-pins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The package manager that ran `create pyric`, so the printed next steps
|
|
3
|
+
* name the commands the user already uses.
|
|
4
|
+
*/
|
|
5
|
+
export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun';
|
|
6
|
+
/**
|
|
7
|
+
* Reads the `npm_config_user_agent` value every package manager sets for
|
|
8
|
+
* `create` and `exec`, such as `pnpm/9.0.0 npm/? node/v22.15.0 linux x64`.
|
|
9
|
+
* Without one, the user ran the binary directly, and the docs use npm.
|
|
10
|
+
*/
|
|
11
|
+
export declare function detectPackageManager(userAgent: string | undefined): PackageManager;
|
|
12
|
+
/**
|
|
13
|
+
* Rewrites each `npm <command>` or `bun <command>` step to the same command
|
|
14
|
+
* for `pm`, and drops the `# or: ...` alternative, since the step now names
|
|
15
|
+
* the package manager in use.
|
|
16
|
+
*/
|
|
17
|
+
export declare function nextStepsFor(steps: readonly string[], pm: PackageManager): string[];
|
|
18
|
+
//# sourceMappingURL=package-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAU7D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAIlF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,cAAc,GAAG,MAAM,EAAE,CAMnF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The package manager that ran `create pyric`, so the printed next steps
|
|
3
|
+
* name the commands the user already uses.
|
|
4
|
+
*/
|
|
5
|
+
const PACKAGE_MANAGERS = ['npm', 'pnpm', 'yarn', 'bun'];
|
|
6
|
+
/** A step a template writes for one package manager, such as `bun run dev`. */
|
|
7
|
+
const PACKAGE_MANAGER_STEP = /^(npm|bun) /;
|
|
8
|
+
/** The alternative a template names after a step, such as `# or: bun install`. */
|
|
9
|
+
const ALTERNATIVE_COMMENT = /\s+# or: .*$/;
|
|
10
|
+
/**
|
|
11
|
+
* Reads the `npm_config_user_agent` value every package manager sets for
|
|
12
|
+
* `create` and `exec`, such as `pnpm/9.0.0 npm/? node/v22.15.0 linux x64`.
|
|
13
|
+
* Without one, the user ran the binary directly, and the docs use npm.
|
|
14
|
+
*/
|
|
15
|
+
export function detectPackageManager(userAgent) {
|
|
16
|
+
const name = userAgent?.split('/')[0];
|
|
17
|
+
const known = PACKAGE_MANAGERS.find((pm) => pm === name);
|
|
18
|
+
return known ?? 'npm';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Rewrites each `npm <command>` or `bun <command>` step to the same command
|
|
22
|
+
* for `pm`, and drops the `# or: ...` alternative, since the step now names
|
|
23
|
+
* the package manager in use.
|
|
24
|
+
*/
|
|
25
|
+
export function nextStepsFor(steps, pm) {
|
|
26
|
+
return steps.map((step) => {
|
|
27
|
+
const isPackageManagerStep = PACKAGE_MANAGER_STEP.test(step);
|
|
28
|
+
if (!isPackageManagerStep)
|
|
29
|
+
return step;
|
|
30
|
+
return step.replace(PACKAGE_MANAGER_STEP, `${pm} `).replace(ALTERNATIVE_COMMENT, '');
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=package-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,gBAAgB,GAA8B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAEnF,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAE3C,kFAAkF;AAClF,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAE3C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,MAAM,IAAI,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACzD,OAAO,KAAK,IAAI,KAAK,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB,EAAE,EAAkB;IACvE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,oBAAoB;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/scaffold.d.ts
CHANGED
|
@@ -9,9 +9,9 @@ import { type ScaffoldTemplate, type TemplateName } from './templates.js';
|
|
|
9
9
|
import type { FlagValue } from './parse-args.js';
|
|
10
10
|
export type { ScaffoldTemplate, TemplateName };
|
|
11
11
|
export { TEMPLATES, TEMPLATE_NAMES, isTemplateName } from './templates.js';
|
|
12
|
-
/** Where the scaffold's `pyric` / `@pyric/cli` deps come from. */
|
|
12
|
+
/** Where the scaffold's `pyric` / `@pyric/cli` / `@pyric/ui` deps come from. */
|
|
13
13
|
export type DepsMode = 'vendor' | 'npm';
|
|
14
|
-
/** Return a copy of `t` with `pyric` / `@pyric/cli` deps rewritten for `mode`. */
|
|
14
|
+
/** Return a copy of `t` with `pyric` / `@pyric/cli` / `@pyric/ui` deps rewritten for `mode`. */
|
|
15
15
|
export declare function applyDepsMode(t: ScaffoldTemplate, mode: DepsMode, opts: {
|
|
16
16
|
vendorSpecs?: Record<string, string>;
|
|
17
17
|
version?: string | null;
|
|
@@ -67,7 +67,7 @@ export interface ScaffoldRequest {
|
|
|
67
67
|
depsMode?: DepsMode;
|
|
68
68
|
/** Already-rewritten template; defaults to TEMPLATES[template] (+ npm pin). */
|
|
69
69
|
effectiveTemplate?: ScaffoldTemplate;
|
|
70
|
-
/** Version pin for npm-mode `@pyric/cli` / `pyric` ranges. */
|
|
70
|
+
/** Version pin for npm-mode `@pyric/cli` / `pyric` / `@pyric/ui` ranges. */
|
|
71
71
|
pinVersion?: string | null;
|
|
72
72
|
/** Label used in human report lines (`create-pyric` or `pyric init`). */
|
|
73
73
|
commandLabel?: string;
|
package/dist/scaffold.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAU,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3E,
|
|
1
|
+
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffold.js
CHANGED
|
@@ -8,9 +8,9 @@ import { writeFile, readFile, mkdir, access } from 'node:fs/promises';
|
|
|
8
8
|
import { join, basename, resolve } from 'node:path';
|
|
9
9
|
import { TEMPLATES, TEMPLATE_NAMES, isTemplateName, } from './templates.js';
|
|
10
10
|
export { TEMPLATES, TEMPLATE_NAMES, isTemplateName } from './templates.js';
|
|
11
|
-
/** Return a copy of `t` with `pyric` / `@pyric/cli` deps rewritten for `mode`. */
|
|
11
|
+
/** Return a copy of `t` with `pyric` / `@pyric/cli` / `@pyric/ui` deps rewritten for `mode`. */
|
|
12
12
|
export function applyDepsMode(t, mode, opts) {
|
|
13
|
-
const WORKSPACE_PKGS = ['pyric', '@pyric/cli'];
|
|
13
|
+
const WORKSPACE_PKGS = ['pyric', '@pyric/cli', '@pyric/ui'];
|
|
14
14
|
const rewrite = (section) => {
|
|
15
15
|
const next = { ...section };
|
|
16
16
|
for (const pkg of WORKSPACE_PKGS) {
|
|
@@ -184,7 +184,7 @@ export async function runScaffold(request, deps = {}) {
|
|
|
184
184
|
merged: [],
|
|
185
185
|
skipped: [],
|
|
186
186
|
conflicts: [],
|
|
187
|
-
nextSteps:
|
|
187
|
+
nextSteps: effective.nextSteps,
|
|
188
188
|
};
|
|
189
189
|
const pkgPath = join(dir, 'package.json');
|
|
190
190
|
let pkgMerge = null;
|
package/dist/scaffold.js.map
CHANGED
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-nextjs.d.ts","sourceRoot":"","sources":["../src/template-nextjs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-nextjs.d.ts","sourceRoot":"","sources":["../src/template-nextjs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAkevD,eAAO,MAAM,eAAe,EAAE,gBAwC7B,CAAC"}
|
package/dist/template-nextjs.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scaffold template definition for Next.js (`npm create pyric -- --template nextjs`).
|
|
3
|
+
*/
|
|
4
|
+
import { FIREBASE_ADMIN_PIN, FIREBASE_PIN } from './firebase-pins.js';
|
|
1
5
|
const NEXTJS_CONFIG_MJS = `import { fileURLToPath } from 'node:url';
|
|
2
6
|
import { withPyric } from '@pyric/cli/next';
|
|
3
7
|
|
|
@@ -475,8 +479,8 @@ export const NEXTJS_TEMPLATE = {
|
|
|
475
479
|
start: 'next start',
|
|
476
480
|
},
|
|
477
481
|
dependencies: {
|
|
478
|
-
firebase:
|
|
479
|
-
'firebase-admin':
|
|
482
|
+
firebase: FIREBASE_PIN,
|
|
483
|
+
'firebase-admin': FIREBASE_ADMIN_PIN,
|
|
480
484
|
next: '^15.0.0',
|
|
481
485
|
react: '^19.0.0',
|
|
482
486
|
'react-dom': '^19.0.0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-nextjs.js","sourceRoot":"","sources":["../src/template-nextjs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template-nextjs.js","sourceRoot":"","sources":["../src/template-nextjs.ts"],"names":[],"mappings":"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"}
|
package/dist/templates.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,eAAO,MAAM,cAAc,sDAAuD,CAAC;AACnF,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;6EACyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,4DAA4D;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAMD,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAkBD,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG;IAC9E,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB,CAkEA;AA4pBD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAoG5D,CAAC"}
|
package/dist/templates.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
import { lstatSync, readFileSync, readdirSync } from 'node:fs';
|
|
19
19
|
import { basename, dirname, isAbsolute, relative, resolve, sep } from 'node:path';
|
|
20
20
|
import { fileURLToPath } from 'node:url';
|
|
21
|
+
import { FIREBASE_PIN } from './firebase-pins.js';
|
|
21
22
|
import { NEXTJS_TEMPLATE } from './template-nextjs.js';
|
|
22
23
|
export const TEMPLATE_NAMES = ['web', 'node', 'static', 'chat', 'nextjs'];
|
|
23
24
|
export function isTemplateName(value) {
|
|
@@ -127,8 +128,9 @@ const WEB_INDEX_HTML = (name) => `<!doctype html>
|
|
|
127
128
|
</html>
|
|
128
129
|
`;
|
|
129
130
|
const WEB_APP_JS = `// Canonical firebase/* imports. Under \`pyric sandbox\` they are served by the
|
|
130
|
-
// in-page pyric sandbox (the
|
|
131
|
-
// bundler/pipeline the same imports resolve to the real
|
|
131
|
+
// in-page pyric sandbox (no request reaches the project the config names);
|
|
132
|
+
// under any standard bundler/pipeline the same imports resolve to the real
|
|
133
|
+
// \`firebase\` package.
|
|
132
134
|
// Graduation changes where you run this code, never the code itself.
|
|
133
135
|
import { initializeApp } from 'firebase/app';
|
|
134
136
|
import {
|
|
@@ -283,7 +285,8 @@ const FIRESTORE_INDEXES = `{
|
|
|
283
285
|
`;
|
|
284
286
|
// ─── node template (init v1 scaffold, carried over) ───────────────────
|
|
285
287
|
const NODE_APP_TS = `// Canonical Firebase imports stay unchanged between sandbox and production.
|
|
286
|
-
// \`bun run dev\`
|
|
288
|
+
// \`bun run dev\` runs this file against the Node-hosted Pyric sandbox
|
|
289
|
+
// (\`pyric sandbox --hosted\`); \`bun start\` loads Firebase.
|
|
287
290
|
import { initializeApp } from 'firebase/app';
|
|
288
291
|
import { getFirestore, collection, getDocs } from 'firebase/firestore';
|
|
289
292
|
import { seed } from './seed.ts';
|
|
@@ -306,15 +309,17 @@ snap.forEach((doc) => console.log(\` \${doc.id}:\`, doc.data()));
|
|
|
306
309
|
|
|
307
310
|
// Production: fill .env, deploy firestore.rules, then \`bun start\`.
|
|
308
311
|
`;
|
|
309
|
-
const NODE_SEED_TS = `import {
|
|
312
|
+
const NODE_SEED_TS = `import { doc, setDoc, type Firestore } from 'firebase/firestore';
|
|
310
313
|
|
|
314
|
+
// Fixed ids: the hosted sandbox keeps its data between runs, so each
|
|
315
|
+
// \`bun run dev\` rewrites the same two posts instead of adding two more.
|
|
311
316
|
export async function seed(db: Firestore): Promise<void> {
|
|
312
|
-
await
|
|
317
|
+
await setDoc(doc(db, 'posts', 'hello'), {
|
|
313
318
|
title: 'Hello, Pyric',
|
|
314
319
|
author: 'sandbox',
|
|
315
320
|
createdAt: new Date(),
|
|
316
321
|
});
|
|
317
|
-
await
|
|
322
|
+
await setDoc(doc(db, 'posts', 'local-first'), {
|
|
318
323
|
title: 'Local-first by default',
|
|
319
324
|
author: 'sandbox',
|
|
320
325
|
createdAt: new Date(),
|
|
@@ -363,7 +368,7 @@ real Firebase in production. No application-code switch is required.
|
|
|
363
368
|
|
|
364
369
|
\`\`\`bash
|
|
365
370
|
bun install
|
|
366
|
-
bun run dev # Pyric sandbox
|
|
371
|
+
bun run dev # Pyric sandbox hosted in Node (pyric sandbox --hosted)
|
|
367
372
|
bun start # production: real Firebase
|
|
368
373
|
\`\`\`
|
|
369
374
|
|
|
@@ -419,13 +424,17 @@ const VITE_INDEX_HTML = (name) => `<!doctype html>
|
|
|
419
424
|
form { display: flex; gap: 0.5rem; margin: 1rem 0; }
|
|
420
425
|
input { flex: 1; padding: 0.4rem 0.6rem; }
|
|
421
426
|
ul { padding-left: 1.2rem; }
|
|
422
|
-
.status { color: #666; }
|
|
427
|
+
.status { color: #666; display: flex; align-items: center; gap: 0.5rem; }
|
|
428
|
+
.avatar { width: 32px; height: 32px; border-radius: 50%; }
|
|
423
429
|
</style>
|
|
424
430
|
</head>
|
|
425
431
|
<body>
|
|
426
432
|
<main>
|
|
427
433
|
<h1>${name}</h1>
|
|
428
|
-
<p class="status"
|
|
434
|
+
<p class="status">
|
|
435
|
+
<img class="avatar" id="avatar" alt="" hidden />
|
|
436
|
+
<span id="auth-status">Signed out</span>
|
|
437
|
+
</p>
|
|
429
438
|
<button id="sign-in">Sign in with Google</button>
|
|
430
439
|
<button id="sign-out" hidden>Sign out</button>
|
|
431
440
|
<!-- Visible even while signed out ON PURPOSE — submitting attempts the
|
|
@@ -440,10 +449,11 @@ const VITE_INDEX_HTML = (name) => `<!doctype html>
|
|
|
440
449
|
</body>
|
|
441
450
|
</html>
|
|
442
451
|
`;
|
|
443
|
-
const VITE_MAIN_TS = `// Canonical firebase/* imports
|
|
452
|
+
const VITE_MAIN_TS = `// Canonical firebase/* imports, the same in dev and prod.
|
|
444
453
|
// In \`vite dev\` the \`@pyric/cli/vite\` plugin swaps these to an in-process
|
|
445
|
-
// sandbox
|
|
446
|
-
//
|
|
454
|
+
// sandbox: no request reaches the project the config below names, and the
|
|
455
|
+
// sandbox reads its projectId the way Firebase does. \`vite build\` ships the
|
|
456
|
+
// real \`firebase\` package with the same config. Graduation is a build, not
|
|
447
457
|
// a code edit.
|
|
448
458
|
import { initializeApp } from 'firebase/app';
|
|
449
459
|
import {
|
|
@@ -481,7 +491,7 @@ if (hasProjectId) {
|
|
|
481
491
|
|
|
482
492
|
const app = initializeApp({
|
|
483
493
|
// Filled from .env (see .env.example) at \`vite build\` time for production.
|
|
484
|
-
//
|
|
494
|
+
// In \`vite dev\` the pyric sandbox stands in for Firebase and reads projectId.
|
|
485
495
|
apiKey,
|
|
486
496
|
authDomain,
|
|
487
497
|
projectId,
|
|
@@ -492,6 +502,7 @@ const db = getFirestore(app);
|
|
|
492
502
|
const $ = <T extends HTMLElement>(id: string): T => document.getElementById(id) as T;
|
|
493
503
|
const els = {
|
|
494
504
|
status: $('auth-status'),
|
|
505
|
+
avatar: $<HTMLImageElement>('avatar'),
|
|
495
506
|
signIn: $<HTMLButtonElement>('sign-in'),
|
|
496
507
|
signOut: $<HTMLButtonElement>('sign-out'),
|
|
497
508
|
form: $<HTMLFormElement>('add-post'),
|
|
@@ -507,7 +518,7 @@ let unsubscribePosts: (() => void) | undefined = undefined;
|
|
|
507
518
|
onAuthStateChanged(auth, (user) => {
|
|
508
519
|
const hasActiveSubscription = unsubscribePosts !== undefined;
|
|
509
520
|
if (hasActiveSubscription) {
|
|
510
|
-
unsubscribePosts();
|
|
521
|
+
unsubscribePosts?.();
|
|
511
522
|
unsubscribePosts = undefined;
|
|
512
523
|
}
|
|
513
524
|
|
|
@@ -523,6 +534,16 @@ onAuthStateChanged(auth, (user) => {
|
|
|
523
534
|
displayLabel = user.displayName as string;
|
|
524
535
|
}
|
|
525
536
|
els.status.textContent = 'Signed in as ' + displayLabel;
|
|
537
|
+
// Provider sign-ins always carry a photoURL, in the sandbox as in
|
|
538
|
+
// production; email/password and anonymous users have none.
|
|
539
|
+
const hasPhoto = user.photoURL !== null;
|
|
540
|
+
if (hasPhoto) {
|
|
541
|
+
els.avatar.src = user.photoURL as string;
|
|
542
|
+
els.avatar.hidden = false;
|
|
543
|
+
} else {
|
|
544
|
+
els.avatar.src = '';
|
|
545
|
+
els.avatar.hidden = true;
|
|
546
|
+
}
|
|
526
547
|
els.signIn.hidden = true;
|
|
527
548
|
els.signOut.hidden = false;
|
|
528
549
|
|
|
@@ -544,6 +565,8 @@ onAuthStateChanged(auth, (user) => {
|
|
|
544
565
|
});
|
|
545
566
|
} else {
|
|
546
567
|
els.status.textContent = 'Signed out';
|
|
568
|
+
els.avatar.hidden = true;
|
|
569
|
+
els.avatar.src = '';
|
|
547
570
|
els.signIn.hidden = false;
|
|
548
571
|
els.signOut.hidden = true;
|
|
549
572
|
els.posts.replaceChildren();
|
|
@@ -598,8 +621,34 @@ import { pyric } from '@pyric/cli/vite';
|
|
|
598
621
|
// self-contained sandbox preview you can serve under \`pyric sandbox\`, build with a
|
|
599
622
|
// non-production mode: \`vite build --mode development\` (see the \`build:sandbox\`
|
|
600
623
|
// script). That output is marked and can never be deployed.
|
|
624
|
+
|
|
625
|
+
// A custom avatar generator lives in its own file so this config stays
|
|
626
|
+
// small. The pyric example app ships vite.avatars.ts with a worked example
|
|
627
|
+
// that calls an image API; write your own function of the same shape to
|
|
628
|
+
// use the \`avatars.source\` option below.
|
|
629
|
+
// import { nanoBananaAvatar } from './vite.avatars';
|
|
630
|
+
|
|
601
631
|
export default defineConfig({
|
|
602
|
-
plugins: [
|
|
632
|
+
plugins: [
|
|
633
|
+
pyric({
|
|
634
|
+
// Profile photos for provider sign-ins. The default needs no
|
|
635
|
+
// configuration: every federated sign-in gets a deterministic
|
|
636
|
+
// generated avatar. Comment exactly one option back in to try the
|
|
637
|
+
// alternatives.
|
|
638
|
+
|
|
639
|
+
// Firebase-null behaviour — photoURL stays null and the avatar
|
|
640
|
+
// route unmounts:
|
|
641
|
+
// avatars: false,
|
|
642
|
+
|
|
643
|
+
// A pre-created avatar set: a directory holding a manifest.json and
|
|
644
|
+
// image files; each user is deterministically assigned one:
|
|
645
|
+
// avatars: './avatars',
|
|
646
|
+
|
|
647
|
+
// Generate each user's photo once, on demand, with the function
|
|
648
|
+
// named in the commented import above:
|
|
649
|
+
// avatars: { source: nanoBananaAvatar },
|
|
650
|
+
}),
|
|
651
|
+
],
|
|
603
652
|
});
|
|
604
653
|
`;
|
|
605
654
|
const VITE_TSCONFIG = `{
|
|
@@ -694,7 +743,7 @@ export const TEMPLATES = {
|
|
|
694
743
|
},
|
|
695
744
|
// The real firebase package ships day one so the production `vite build`
|
|
696
745
|
// resolves the same canonical imports against it — no code edit at graduation.
|
|
697
|
-
dependencies: { firebase:
|
|
746
|
+
dependencies: { firebase: FIREBASE_PIN },
|
|
698
747
|
devDependencies: { '@pyric/cli': '*', vite: '^6.0.0', typescript: '^5.7.0' },
|
|
699
748
|
dirs: ['src'],
|
|
700
749
|
files: (name) => [
|
|
@@ -719,10 +768,10 @@ export const TEMPLATES = {
|
|
|
719
768
|
node: {
|
|
720
769
|
scripts: {
|
|
721
770
|
start: 'node --env-file-if-exists=.env --experimental-strip-types src/app.ts',
|
|
722
|
-
dev: 'pyric sandbox --no-open -- node --env-file-if-exists=.env --experimental-strip-types src/app.ts',
|
|
771
|
+
dev: 'pyric sandbox --hosted --no-open -- node --env-file-if-exists=.env --experimental-strip-types src/app.ts',
|
|
723
772
|
bridge: 'pyric bridge',
|
|
724
773
|
},
|
|
725
|
-
dependencies: { firebase:
|
|
774
|
+
dependencies: { firebase: FIREBASE_PIN },
|
|
726
775
|
devDependencies: { '@pyric/cli': '*', '@types/node': '^22.0.0', typescript: '^5.7.0' },
|
|
727
776
|
dirs: ['src'],
|
|
728
777
|
files: (name) => [
|
|
@@ -745,7 +794,7 @@ export const TEMPLATES = {
|
|
|
745
794
|
dev: 'pyric sandbox --seed seed.json',
|
|
746
795
|
'dev:agent': 'pyric sandbox --bridge --seed seed.json',
|
|
747
796
|
},
|
|
748
|
-
dependencies: { firebase:
|
|
797
|
+
dependencies: { firebase: FIREBASE_PIN },
|
|
749
798
|
devDependencies: { '@pyric/cli': '*' },
|
|
750
799
|
dirs: ['public'],
|
|
751
800
|
files: (name) => [
|
package/dist/templates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAGnF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAQ,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AA2BD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,SAAS;IACT,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,UAAU;IACV,MAAM;IACN,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,WAAW;CACZ,CAAC,CAAC;AAEH,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,YAAoB,EAAE,YAAqB;IAU3E,MAAM,IAAI,GAAG,OAAO,CAClB,YAAY,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,gBAAgB,YAAY,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CACzF,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAAkB,CAAC;IACnG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAKjF,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,gCAAgC,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAQ,EAAE;QACtC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO;QAClD,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,gCAAgC,QAAQ,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QACtE,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,eAAe,IAAI,kBAAkB,CAAC,CAAC;QAChG,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,2BAA2B,YAAY,8BAA8B,WAAW,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,MAAM,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjB,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,yBAAyB,KAAK,GAAG,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,2BAA2B,YAAY,gCAAgC,KAAK,GAAG,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,yEAAyE;AAEzE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC;;;;;aAKpC,IAAI;;;;;;;;;;;;YAYL,IAAI;;;;;;;;;;;;;CAaf,CAAC;AAEF,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/bin.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
TEMPLATES,
|
|
17
17
|
} from './scaffold.js';
|
|
18
18
|
import { readFileSync } from 'node:fs';
|
|
19
|
+
import { detectPackageManager, nextStepsFor } from './package-manager.js';
|
|
19
20
|
|
|
20
21
|
function packageVersion(): string {
|
|
21
22
|
const metadata = JSON.parse(
|
|
@@ -54,7 +55,10 @@ async function main(): Promise<number> {
|
|
|
54
55
|
const name = typeof nameFlag === 'string' && nameFlag.length > 0 ? nameFlag : undefined;
|
|
55
56
|
|
|
56
57
|
const version = packageVersion();
|
|
57
|
-
const
|
|
58
|
+
const pinned = applyDepsMode(TEMPLATES[templateName], 'npm', { version });
|
|
59
|
+
const packageManager = detectPackageManager(process.env.npm_config_user_agent);
|
|
60
|
+
const nextSteps = nextStepsFor(pinned.nextSteps, packageManager);
|
|
61
|
+
const effectiveTemplate = { ...pinned, nextSteps };
|
|
58
62
|
|
|
59
63
|
return runScaffold(
|
|
60
64
|
{
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Firebase lines a scaffolded app installs (#1188): patch ranges on the
|
|
3
|
+
* versions pyric is certified against. `firebase` follows
|
|
4
|
+
* FIREBASE_TESTED_AGAINST (packages/cli/src/version/compat-target.ts), the
|
|
5
|
+
* version `compat:check` certifies and the `fb<major>.<minor>` dist-tag names.
|
|
6
|
+
* `firebase-admin` follows the version the oracle observations were captured
|
|
7
|
+
* against (`compat:oracle-versions`). A caret range would install a newer
|
|
8
|
+
* minor, whose exports pyric may not mirror yet.
|
|
9
|
+
*
|
|
10
|
+
* packages/create-pyric/test/firebase-pins.test.ts keeps these equal to the
|
|
11
|
+
* certified versions and to the chat template's package.json files, which are
|
|
12
|
+
* static assets and cannot import this module.
|
|
13
|
+
*/
|
|
14
|
+
export const FIREBASE_PIN = '~12.13.0';
|
|
15
|
+
export const FIREBASE_ADMIN_PIN = '~13.10.0';
|