@fairgarden/distribution 0.1.0-0.canary.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 (82) hide show
  1. package/Readme.md +97 -0
  2. package/dist/add-module.d.ts +62 -0
  3. package/dist/add-module.d.ts.map +1 -0
  4. package/dist/add-module.js +279 -0
  5. package/dist/add-module.js.map +1 -0
  6. package/dist/calver.d.ts +65 -0
  7. package/dist/calver.d.ts.map +1 -0
  8. package/dist/calver.js +115 -0
  9. package/dist/calver.js.map +1 -0
  10. package/dist/canary.d.ts +58 -0
  11. package/dist/canary.d.ts.map +1 -0
  12. package/dist/canary.js +130 -0
  13. package/dist/canary.js.map +1 -0
  14. package/dist/changelog.d.ts +111 -0
  15. package/dist/changelog.d.ts.map +1 -0
  16. package/dist/changelog.js +285 -0
  17. package/dist/changelog.js.map +1 -0
  18. package/dist/cli.d.ts +3 -0
  19. package/dist/cli.d.ts.map +1 -0
  20. package/dist/cli.js +1076 -0
  21. package/dist/cli.js.map +1 -0
  22. package/dist/config-edit.d.ts +18 -0
  23. package/dist/config-edit.d.ts.map +1 -0
  24. package/dist/config-edit.js +166 -0
  25. package/dist/config-edit.js.map +1 -0
  26. package/dist/extends.d.ts +60 -0
  27. package/dist/extends.d.ts.map +1 -0
  28. package/dist/extends.js +173 -0
  29. package/dist/extends.js.map +1 -0
  30. package/dist/extract.d.ts +31 -0
  31. package/dist/extract.d.ts.map +1 -0
  32. package/dist/extract.js +177 -0
  33. package/dist/extract.js.map +1 -0
  34. package/dist/forks.d.ts +116 -0
  35. package/dist/forks.d.ts.map +1 -0
  36. package/dist/forks.js +357 -0
  37. package/dist/forks.js.map +1 -0
  38. package/dist/git-url.d.ts +19 -0
  39. package/dist/git-url.d.ts.map +1 -0
  40. package/dist/git-url.js +55 -0
  41. package/dist/git-url.js.map +1 -0
  42. package/dist/index.d.ts +21 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +11 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/inherit.d.ts +18 -0
  47. package/dist/inherit.d.ts.map +1 -0
  48. package/dist/inherit.js +84 -0
  49. package/dist/inherit.js.map +1 -0
  50. package/dist/manifest.d.ts +43 -0
  51. package/dist/manifest.d.ts.map +1 -0
  52. package/dist/manifest.js +64 -0
  53. package/dist/manifest.js.map +1 -0
  54. package/dist/overrides.d.ts +32 -0
  55. package/dist/overrides.d.ts.map +1 -0
  56. package/dist/overrides.js +81 -0
  57. package/dist/overrides.js.map +1 -0
  58. package/dist/policy.d.ts +86 -0
  59. package/dist/policy.d.ts.map +1 -0
  60. package/dist/policy.js +269 -0
  61. package/dist/policy.js.map +1 -0
  62. package/dist/readme.d.ts +60 -0
  63. package/dist/readme.d.ts.map +1 -0
  64. package/dist/readme.js +304 -0
  65. package/dist/readme.js.map +1 -0
  66. package/dist/release.d.ts +164 -0
  67. package/dist/release.d.ts.map +1 -0
  68. package/dist/release.js +454 -0
  69. package/dist/release.js.map +1 -0
  70. package/dist/scaffold.d.ts +45 -0
  71. package/dist/scaffold.d.ts.map +1 -0
  72. package/dist/scaffold.js +492 -0
  73. package/dist/scaffold.js.map +1 -0
  74. package/dist/submodules.d.ts +144 -0
  75. package/dist/submodules.d.ts.map +1 -0
  76. package/dist/submodules.js +315 -0
  77. package/dist/submodules.js.map +1 -0
  78. package/dist/workflows.d.ts +102 -0
  79. package/dist/workflows.d.ts.map +1 -0
  80. package/dist/workflows.js +710 -0
  81. package/dist/workflows.js.map +1 -0
  82. package/package.json +54 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** Files to write, keyed by path relative to the target directory. */
2
+ export type Files = Record<string, string>;
3
+ /** Versions the generated projects pin, kept beside the ones this package uses. */
4
+ export declare const VERSIONS: {
5
+ readonly monolith: "^0.1.0-alpha.0";
6
+ readonly distribution: "^0.1.0-alpha.0";
7
+ readonly policy: "^0.1.0-alpha.0";
8
+ readonly next: "^16.3.5";
9
+ readonly react: "^19.3.0";
10
+ readonly types: {
11
+ readonly node: "^26.6.2";
12
+ readonly react: "^19.3.0";
13
+ readonly reactDom: "^19.3.0";
14
+ };
15
+ readonly eslint: "^9.39.5";
16
+ readonly eslintConfigNext: "^16.3.5";
17
+ readonly portless: "^0.15.6";
18
+ readonly typescript: "^6.0.3";
19
+ readonly pnpm: "pnpm@10.28.0";
20
+ };
21
+ /**
22
+ * A repository that composes modules.
23
+ *
24
+ * The monolith app lives at `apps/monolith` so modules can be added beside it
25
+ * as `apps/<name>`, which is where `add-module` puts them.
26
+ */
27
+ export declare const monolithRepo: (name: string, origin?: string) => Files;
28
+ export declare const moduleRepo: (packageName: string, origin?: string) => Files;
29
+ /** Write a file map, creating directories as needed. */
30
+ export declare const write: (root: string, files: Files) => Promise<string[]>;
31
+ /** Whether a directory has anything in it, so `init` never writes over work. */
32
+ export declare const isEmpty: (dir: string) => Promise<boolean>;
33
+ export declare const readPackageName: (root: string) => Promise<string | undefined>;
34
+ /**
35
+ * A repository that ships a set of modules to end users.
36
+ *
37
+ * The root package.json is the distribution manifest: its version names the
38
+ * month and which release of it this is (see calver.ts), and the modules it
39
+ * ships are its submodules, each at a semver version. `extends` names another distribution whose modules this one
40
+ * inherits and may move ahead of, but never behind.
41
+ */
42
+ export declare const distributionRepo: (name: string, origin?: string, parent?: string, { monolith }?: {
43
+ monolith?: boolean;
44
+ }) => Files;
45
+ //# sourceMappingURL=scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAMA,sEAAsE;AACtE,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAI1C,mFAAmF;AACnF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAoBX,CAAA;AAwGV;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,KAgF3D,CAAA;AAYF,eAAO,MAAM,UAAU,GAAI,aAAa,MAAM,EAAE,SAAS,MAAM,KAAG,KA6GhE,CAAA;AAEF,wDAAwD;AACxD,eAAO,MAAM,KAAK,GAAU,MAAM,MAAM,EAAE,OAAO,KAAK,KAAG,OAAO,CAAC,MAAM,EAAE,CAWxE,CAAA;AAED,gFAAgF;AAChF,eAAO,MAAM,OAAO,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAI1D,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAO9E,CAAA;AA+CD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,SAAS,MAAM,EACf,eAAqB;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,KAC/C,KAkGF,CAAA"}
@@ -0,0 +1,492 @@
1
+ import { mkdir, writeFile, readFile, readdir } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { changelogWorkflow, publishWorkflow, releaseScripts } from "./workflows.js";
4
+ import { CHANGELOG, newChangelog } from "./changelog.js";
5
+ import { firstRelease } from "./calver.js";
6
+ const json = (value) => `${JSON.stringify(value, null, 2)}\n`;
7
+ /** Versions the generated projects pin, kept beside the ones this package uses. */
8
+ export const VERSIONS = {
9
+ monolith: '^0.1.0-alpha.0',
10
+ // Provides `fg-dist`, which the release scripts and the publish workflow call.
11
+ distribution: '^0.1.0-alpha.0',
12
+ // Provides `fg-policy`, which `fg-dist policy` calls to build the organization's policy.
13
+ policy: '^0.1.0-alpha.0',
14
+ next: '^16.3.5',
15
+ react: '^19.3.0',
16
+ types: {
17
+ node: '^26.6.2',
18
+ react: '^19.3.0',
19
+ reactDom: '^19.3.0',
20
+ },
21
+ eslint: '^9.39.5',
22
+ eslintConfigNext: '^16.3.5',
23
+ portless: '^0.15.6',
24
+ typescript: '^6.0.3',
25
+ // Exact, because this is what `packageManager` means. The publish workflow's
26
+ // pnpm comes from it, so a module without one cannot build in CI.
27
+ pnpm: 'pnpm@10.28.0',
28
+ };
29
+ const WORKSPACE = `packages:
30
+ - "apps/*"
31
+ - "packages/*"
32
+ # a module's docs site is its own workspace member
33
+ - "apps/*/docs"
34
+ - "packages/*/docs"
35
+ `;
36
+ /**
37
+ * The root's scripts.
38
+ *
39
+ * With a monolith, `dev` and `build` are the monolith: it serves every
40
+ * mounted app, so running their own dev servers as well would be the same
41
+ * routes twice. `modular:*` runs each app on its own instead, as a
42
+ * deployment without the monolith would. Without one, every app is its own
43
+ * deployment and both are that. Documentation sites run with neither.
44
+ */
45
+ const rootScripts = (monolith) => {
46
+ const apps = monolith
47
+ ? "--filter='./apps/*' --filter='!./apps/monolith'"
48
+ : "--filter='./apps/*'";
49
+ const docs = "--filter='./apps/*/docs' --filter='./packages/*/docs'";
50
+ return {
51
+ build: monolith ? 'turbo run build --filter=./apps/monolith' : `turbo run build ${apps}`,
52
+ dev: monolith ? 'turbo run dev --filter=./apps/monolith' : `turbo run dev ${apps}`,
53
+ 'modular:build': `turbo run build ${apps}`,
54
+ 'modular:dev': `turbo run dev ${apps}`,
55
+ 'docs:build': `turbo run build ${docs}`,
56
+ 'docs:dev': `turbo run dev ${docs}`,
57
+ lint: 'turbo run lint',
58
+ };
59
+ };
60
+ const BUILD_OUTPUTS = ['.next/**', '!.next/cache/**', 'dist/**'];
61
+ /**
62
+ * The monolith compiles every app from its source, so its build waits for
63
+ * the libraries they use but not for the apps' own builds. `build:libs`
64
+ * runs no script: a library's is its build, and a mounted app's — written
65
+ * by `add-module` — is only its dependencies'. Turbo still hashes each app
66
+ * into the monolith's, so changing one builds the monolith again.
67
+ */
68
+ const turboJson = (monolith) => json({
69
+ $schema: 'https://turbo.build/schema.json',
70
+ tasks: {
71
+ build: { dependsOn: ['^build'], outputs: BUILD_OUTPUTS },
72
+ ...(monolith ? { 'build:libs': { dependsOn: ['^build:libs', 'build'] } } : {}),
73
+ lint: { dependsOn: ['^lint'] },
74
+ // A fresh checkout has built none of the libraries an app's config loads.
75
+ dev: { dependsOn: ['^build'], persistent: true, cache: false },
76
+ ...(monolith
77
+ ? {
78
+ [`${monolith}#build`]: { dependsOn: ['^build:libs'], outputs: BUILD_OUTPUTS },
79
+ [`${monolith}#dev`]: { dependsOn: ['^build:libs'], persistent: true, cache: false },
80
+ }
81
+ : {}),
82
+ },
83
+ });
84
+ const GITIGNORE = `node_modules
85
+ .next
86
+ .turbo
87
+ out
88
+ build
89
+ next-env.d.ts
90
+ *.tsbuildinfo
91
+ .env*.local
92
+
93
+ # derived mount points; the symlinks under src/ are what is committed
94
+ /app/
95
+ /pages/
96
+
97
+ # fg-dist policy use: the distribution's policy, for this build to run
98
+ /.policy
99
+
100
+ # generated by next dev
101
+ AGENTS.md
102
+ CLAUDE.md
103
+ `;
104
+ const TSCONFIG = {
105
+ compilerOptions: {
106
+ target: 'ES2017',
107
+ lib: ['dom', 'dom.iterable', 'esnext'],
108
+ allowJs: true,
109
+ skipLibCheck: true,
110
+ strict: true,
111
+ noEmit: true,
112
+ esModuleInterop: true,
113
+ module: 'esnext',
114
+ moduleResolution: 'bundler',
115
+ resolveJsonModule: true,
116
+ isolatedModules: true,
117
+ jsx: 'preserve',
118
+ incremental: true,
119
+ plugins: [{ name: 'next' }],
120
+ },
121
+ include: ['next-env.d.ts', '**/*.ts', '**/*.tsx', '.next/types/**/*.ts'],
122
+ exclude: ['node_modules'],
123
+ };
124
+ /**
125
+ * A repository that composes modules.
126
+ *
127
+ * The monolith app lives at `apps/monolith` so modules can be added beside it
128
+ * as `apps/<name>`, which is where `add-module` puts them.
129
+ */
130
+ export const monolithRepo = (name, origin) => ({
131
+ '.gitignore': `node_modules\n.turbo\n`,
132
+ // Modules are linked through the workspace, so nothing here carries a
133
+ // version: the submodule commit is the pin and its package.json is the
134
+ // version. Keeping the workspace protocol stops pnpm writing one back in.
135
+ '.npmrc': `link-workspace-packages=true\nsave-workspace-protocol=true\n`,
136
+ 'pnpm-workspace.yaml': WORKSPACE,
137
+ // turbo refuses a --filter naming a directory that does not exist, so the
138
+ // root's scripts need it before any package has been added.
139
+ 'packages/.gitkeep': '',
140
+ 'package.json': json({
141
+ name,
142
+ version: '0.1.0-alpha.0',
143
+ private: true,
144
+ ...(origin ? { repository: { type: 'git', url: origin } } : {}),
145
+ scripts: rootScripts(true),
146
+ devDependencies: { turbo: '^2.11.2' },
147
+ }),
148
+ 'turbo.json': turboJson(`${name}-monolith`),
149
+ 'apps/monolith/package.json': json({
150
+ name: `${name}-monolith`,
151
+ version: '0.1.0-alpha.0',
152
+ private: true,
153
+ scripts: {
154
+ // Each takes a copy of the organization's policy to run, when there is one.
155
+ dev: 'fg-dist policy use && next dev -p 3000',
156
+ build: 'fg-dist policy use && next build',
157
+ start: 'next start -p 3000',
158
+ lint: 'eslint',
159
+ },
160
+ dependencies: {
161
+ '@fairgarden/monolith': VERSIONS.monolith,
162
+ next: VERSIONS.next,
163
+ react: VERSIONS.react,
164
+ 'react-dom': VERSIONS.react,
165
+ },
166
+ devDependencies: {
167
+ '@fairgarden/distribution': VERSIONS.distribution,
168
+ '@types/node': VERSIONS.types.node,
169
+ '@types/react': VERSIONS.types.react,
170
+ '@types/react-dom': VERSIONS.types.reactDom,
171
+ eslint: VERSIONS.eslint,
172
+ 'eslint-config-next': VERSIONS.eslintConfigNext,
173
+ typescript: VERSIONS.typescript,
174
+ },
175
+ }),
176
+ 'apps/monolith/next.config.ts': `import { withMonolith } from '@fairgarden/monolith'
177
+
178
+ export default withMonolith(
179
+ {
180
+ // the monolith's own Next config
181
+ },
182
+ {
183
+ // mount name -> module, added by \`fg-dist add-module\`
184
+ }
185
+ )
186
+ `,
187
+ 'apps/monolith/tsconfig.json': json(TSCONFIG),
188
+ 'apps/monolith/eslint.config.mjs': `import next from 'eslint-config-next/core-web-vitals'
189
+
190
+ /** @type {import('eslint').Linter.Config[]} */
191
+ const config = [{ ignores: ['node_modules/**', '.next/**', 'app/**', 'pages/**'] }, ...next]
192
+
193
+ export default config
194
+ `,
195
+ 'apps/monolith/.gitignore': GITIGNORE,
196
+ 'apps/monolith/src/app/layout.tsx': `export default function RootLayout({
197
+ children,
198
+ }: Readonly<{ children: React.ReactNode }>) {
199
+ return (
200
+ <html lang="en">
201
+ <body>{children}</body>
202
+ </html>
203
+ )
204
+ }
205
+ `,
206
+ 'apps/monolith/src/app/page.tsx': `export default function Home() {
207
+ return <main>Nothing mounted yet. Add a module with \`fg-dist add-module\`.</main>
208
+ }
209
+ `,
210
+ });
211
+ /**
212
+ * A repository that can be mounted into a monolith.
213
+ *
214
+ * It is an ordinary Next app; the only additions are the portability check and
215
+ * the lint rules that keep it mountable.
216
+ */
217
+ /** `@acme/widget` -> `widget`, which is what a hostname wants. */
218
+ const unscoped = (packageName) => packageName.replace(/^@[^/]+\//, '');
219
+ export const moduleRepo = (packageName, origin) => ({
220
+ // A module releases on its own schedule, so it carries its own workflow, and
221
+ // its own changelog, which every pull request adds to.
222
+ ...publishWorkflow(packageName),
223
+ ...changelogWorkflow({ submodules: false }),
224
+ [CHANGELOG]: newChangelog('0.1.0-alpha.0'),
225
+ '.gitignore': `node_modules\n.next\n.turbo\nnext-env.d.ts\n*.tsbuildinfo\n\n# generated by next dev\nAGENTS.md\nCLAUDE.md\n`,
226
+ 'package.json': json({
227
+ name: packageName,
228
+ version: '0.1.0-alpha.0',
229
+ // Not private: a module publishes itself, so that a monolith which cannot
230
+ // reach it as a submodule can install it as a package instead. Scoped
231
+ // packages publish restricted by default; say so rather than leave it to
232
+ // whoever reads this to remember.
233
+ publishConfig: { access: 'restricted' },
234
+ // What CI installs with — see .github/actions/publish-prepare.
235
+ packageManager: VERSIONS.pnpm,
236
+ // A module is consumed as source — its routes are read out of the package —
237
+ // so the tarball carries the source rather than a build.
238
+ files: ['app', 'lib', 'pages', 'public', 'next.config.ts'],
239
+ // A monolith adds this repository as a submodule, so record where it lives.
240
+ ...(origin ? { repository: { type: 'git', url: origin } } : {}),
241
+ scripts: {
242
+ // Served at a stable hostname instead of a port, so every app that
243
+ // `modular:dev` runs at once has its own without colliding:
244
+ // https://${unscoped(packageName)}.localhost. A monolith compiles this app
245
+ // itself and never runs it.
246
+ dev: `portless ${unscoped(packageName)} next dev`,
247
+ build: 'next build',
248
+ start: 'next start',
249
+ lint: 'eslint',
250
+ // Called by .github/workflows/publish.yml, and by you — see the readme.
251
+ ...releaseScripts(packageName),
252
+ },
253
+ dependencies: {
254
+ next: VERSIONS.next,
255
+ react: VERSIONS.react,
256
+ 'react-dom': VERSIONS.react,
257
+ },
258
+ devDependencies: {
259
+ '@fairgarden/distribution': VERSIONS.distribution,
260
+ '@fairgarden/monolith': VERSIONS.monolith,
261
+ '@types/node': VERSIONS.types.node,
262
+ '@types/react': VERSIONS.types.react,
263
+ '@types/react-dom': VERSIONS.types.reactDom,
264
+ eslint: VERSIONS.eslint,
265
+ 'eslint-config-next': VERSIONS.eslintConfigNext,
266
+ // `dev` serves this at a stable hostname instead of a port.
267
+ portless: VERSIONS.portless,
268
+ typescript: VERSIONS.typescript,
269
+ },
270
+ }),
271
+ 'next.config.ts': `import type { NextConfig } from 'next'
272
+ import { withMonolithicPortability } from '@fairgarden/monolith'
273
+
274
+ const nextConfig: NextConfig = {}
275
+
276
+ // Reports anything that would not survive being mounted in a monolith.
277
+ export default withMonolithicPortability(nextConfig)
278
+ `,
279
+ 'tsconfig.json': json({
280
+ ...TSCONFIG,
281
+ compilerOptions: {
282
+ ...TSCONFIG.compilerOptions,
283
+ // So this module's own files can import each other by package name,
284
+ // which is what keeps them resolvable once mounted.
285
+ paths: { [`${packageName}/*`]: ['./*'] },
286
+ },
287
+ }),
288
+ 'eslint.config.mjs': `import next from 'eslint-config-next/core-web-vitals'
289
+ import monolith from '@fairgarden/monolith/eslint'
290
+
291
+ /** @type {import('eslint').Linter.Config[]} */
292
+ const config = [
293
+ { ignores: ['node_modules/**', '.next/**'] },
294
+ ...next,
295
+ ...monolith.configs.recommended,
296
+ ]
297
+
298
+ export default config
299
+ `,
300
+ 'lib/link.ts': `import { createHref, createLink } from '@fairgarden/monolith/link'
301
+
302
+ // Use these instead of next/link so hrefs carry the mount point when this
303
+ // module is served inside a monolith.
304
+ export const Link = createLink('${packageName}')
305
+ export const href = createHref('${packageName}')
306
+ `,
307
+ 'app/layout.tsx': `export default function RootLayout({
308
+ children,
309
+ }: Readonly<{ children: React.ReactNode }>) {
310
+ return (
311
+ <html lang="en">
312
+ <body>{children}</body>
313
+ </html>
314
+ )
315
+ }
316
+ `,
317
+ 'app/page.tsx': `import { Link } from '${packageName}/lib/link'
318
+
319
+ export default function Home() {
320
+ return (
321
+ <main>
322
+ <h1>${packageName}</h1>
323
+ <Link href="/">Home</Link>
324
+ </main>
325
+ )
326
+ }
327
+ `,
328
+ });
329
+ /** Write a file map, creating directories as needed. */
330
+ export const write = async (root, files) => {
331
+ const written = [];
332
+ for (const [relative, contents] of Object.entries(files)) {
333
+ const full = path.join(root, relative);
334
+ await mkdir(path.dirname(full), { recursive: true });
335
+ await writeFile(full, contents);
336
+ written.push(relative);
337
+ }
338
+ return written.sort();
339
+ };
340
+ /** Whether a directory has anything in it, so `init` never writes over work. */
341
+ export const isEmpty = async (dir) => {
342
+ const entries = await readdir(dir).catch(() => undefined);
343
+ if (!entries)
344
+ return true;
345
+ return entries.filter((entry) => entry !== '.git').length === 0;
346
+ };
347
+ export const readPackageName = async (root) => {
348
+ try {
349
+ const pkg = JSON.parse(await readFile(path.join(root, 'package.json'), 'utf8'));
350
+ return typeof pkg.name === 'string' ? pkg.name : undefined;
351
+ }
352
+ catch {
353
+ return undefined;
354
+ }
355
+ };
356
+ /**
357
+ * The organization's `policies/`: its `.manifest`, and a workspace package
358
+ * that builds and tests it with `fg-dist policy`. Empty of rules: until the
359
+ * organization writes some, the modules' own decide.
360
+ */
361
+ const policiesFiles = (name, origin) => ({
362
+ 'policies/.manifest': json({
363
+ metadata: {
364
+ organization: name,
365
+ ...(origin ? { source: origin.replace(/\.git$/, '') } : {}),
366
+ },
367
+ }),
368
+ 'policies/package.json': json({
369
+ name: `${name}-policies`,
370
+ private: true,
371
+ type: 'module',
372
+ scripts: { build: 'fg-dist policy build', test: 'fg-dist policy test' },
373
+ devDependencies: {
374
+ '@fairgarden/distribution': VERSIONS.distribution,
375
+ '@fairgarden/policy': VERSIONS.policy,
376
+ },
377
+ }),
378
+ 'policies/.gitignore': '/dist\n/node_modules\n/.turbo\n',
379
+ 'policies/Readme.md': `# Policies
380
+
381
+ The organization's rules for the services this distribution ships: who may
382
+ join, what is shared and with whom. Each module brings its own rules, in its
383
+ own \`policies/\`; the organization's go here, in the same Rego packages,
384
+ adding to the places those rules leave for them — so upgrading a module keeps
385
+ them.
386
+
387
+ Change them by pull request, like anything else here: what is merged is what
388
+ the next deployment runs, and anyone can read it on the id service's
389
+ \`/policy\` page.
390
+
391
+ \`\`\`bash
392
+ fg-dist policy test # each module's tests, then these on top
393
+ fg-dist policy build # what the services will run
394
+ \`\`\`
395
+
396
+ \`.manifest\` says whose rules these are; its \`metadata\` is shown with them.
397
+ `,
398
+ });
399
+ /**
400
+ * A repository that ships a set of modules to end users.
401
+ *
402
+ * The root package.json is the distribution manifest: its version names the
403
+ * month and which release of it this is (see calver.ts), and the modules it
404
+ * ships are its submodules, each at a semver version. `extends` names another distribution whose modules this one
405
+ * inherits and may move ahead of, but never behind.
406
+ */
407
+ export const distributionRepo = (name, origin, parent, { monolith = true } = {}) => {
408
+ // A distribution of only Next apps can deploy as one. A complex one cannot,
409
+ // and then each app under apps/ is deployed on its own — which is fine for
410
+ // an audience that already has deployment infrastructure.
411
+ const files = monolith
412
+ ? monolithRepo(name, origin)
413
+ : {
414
+ '.gitignore': `node_modules\n.turbo\n`,
415
+ '.npmrc': `link-workspace-packages=true\nsave-workspace-protocol=true\n`,
416
+ 'pnpm-workspace.yaml': WORKSPACE,
417
+ // turbo refuses a --filter naming a directory that does not exist.
418
+ 'apps/.gitkeep': '',
419
+ 'packages/.gitkeep': '',
420
+ 'turbo.json': turboJson(undefined),
421
+ };
422
+ // What it ships, noted as fg-dist changes it; pull requests that change its
423
+ // policy add their own line, which CI checks.
424
+ Object.assign(files, changelogWorkflow({ submodules: true }));
425
+ // The organization's policy, built on every module's own; a workspace
426
+ // package, so turbo builds it once for every service that runs it.
427
+ files['pnpm-workspace.yaml'] = files['pnpm-workspace.yaml'].replace(' - "packages/*"\n', ' - "packages/*"\n - "policies"\n');
428
+ Object.assign(files, policiesFiles(name, origin));
429
+ const version = firstRelease();
430
+ files[CHANGELOG] = newChangelog(version);
431
+ files['package.json'] = json({
432
+ name,
433
+ // End users read the month, not a semver range: it says how old their copy
434
+ // is. It starts as this month's first release, in alpha — see calver.ts.
435
+ version,
436
+ private: true,
437
+ ...(origin ? { repository: { type: 'git', url: origin } } : {}),
438
+ ...(parent ? { distribution: { extends: parent } } : {}),
439
+ scripts: rootScripts(monolith),
440
+ // Modules go here, each pinned to the semver version this ships.
441
+ dependencies: parent ? { [parent]: 'latest' } : {},
442
+ devDependencies: { turbo: '^2.11.2' },
443
+ });
444
+ files['Readme.md'] = `# ${name}
445
+
446
+ A distribution: the set of modules shipped together, released under a date-based
447
+ version so it is obvious how old a copy is.
448
+
449
+ Modules are listed in \`dependencies\`, each pinned to a semver version, and
450
+ checked out as submodules. Add one with \`fg-dist add-module <url>\`, and see
451
+ what has moved with \`fg-dist sync\`.
452
+
453
+ ## Running
454
+ ${monolith
455
+ ? `
456
+ \`\`\`bash
457
+ pnpm dev # the monolith, serving every app, on port 3000
458
+ pnpm build # the monolith, as it is deployed
459
+ pnpm modular:dev # each app on its own instead
460
+ pnpm modular:build
461
+ pnpm docs:dev # the documentation sites, which neither runs
462
+ \`\`\`
463
+ `
464
+ : `
465
+ \`\`\`bash
466
+ pnpm dev # every app, each on its own
467
+ pnpm build
468
+ pnpm docs:dev # the documentation sites, which neither runs
469
+ \`\`\`
470
+ `}
471
+ ## Deploying
472
+ ${monolith
473
+ ? `
474
+ Every module is mounted into \`apps/monolith\`, which deploys as one Next app.
475
+ `
476
+ : `
477
+ Each app under \`apps/\` is deployed on its own. There is no monolith app,
478
+ which is the right shape once the distribution is too complex to serve from one
479
+ deployment — and fine for an audience that already runs deployment
480
+ infrastructure.
481
+ `}${parent
482
+ ? `
483
+ ## Extends
484
+
485
+ This distribution extends \`${parent}\`. It ships that distribution's modules
486
+ and may move ahead of them, but can never ship anything older. \`fg-dist check\`
487
+ fails when it does${monolith ? ', and so does the monolith build' : ''}.
488
+ `
489
+ : ''}`;
490
+ return files;
491
+ };
492
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}