@fairgarden/distribution 0.1.0-alpha.0 → 0.1.0-alpha.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 +6 -3
- package/dist/add-module.d.ts +4 -0
- package/dist/add-module.d.ts.map +1 -1
- package/dist/add-module.js +29 -0
- package/dist/add-module.js.map +1 -1
- package/dist/calver.d.ts +65 -0
- package/dist/calver.d.ts.map +1 -0
- package/dist/calver.js +115 -0
- package/dist/calver.js.map +1 -0
- package/dist/canary.d.ts.map +1 -1
- package/dist/canary.js +15 -2
- package/dist/canary.js.map +1 -1
- package/dist/changelog.d.ts +111 -0
- package/dist/changelog.d.ts.map +1 -0
- package/dist/changelog.js +285 -0
- package/dist/changelog.js.map +1 -0
- package/dist/cli.js +341 -12
- package/dist/cli.js.map +1 -1
- package/dist/extends.d.ts +3 -2
- package/dist/extends.d.ts.map +1 -1
- package/dist/extends.js +12 -2
- package/dist/extends.js.map +1 -1
- package/dist/forks.d.ts +116 -0
- package/dist/forks.d.ts.map +1 -0
- package/dist/forks.js +357 -0
- package/dist/forks.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/inherit.d.ts +18 -0
- package/dist/inherit.d.ts.map +1 -0
- package/dist/inherit.js +84 -0
- package/dist/inherit.js.map +1 -0
- package/dist/manifest.d.ts +43 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +64 -0
- package/dist/manifest.js.map +1 -0
- package/dist/policy.d.ts +86 -0
- package/dist/policy.d.ts.map +1 -0
- package/dist/policy.js +269 -0
- package/dist/policy.js.map +1 -0
- package/dist/readme.d.ts +2 -0
- package/dist/readme.d.ts.map +1 -1
- package/dist/readme.js +6 -1
- package/dist/readme.js.map +1 -1
- package/dist/release.d.ts +24 -0
- package/dist/release.d.ts.map +1 -1
- package/dist/release.js +51 -6
- package/dist/release.js.map +1 -1
- package/dist/scaffold.d.ts +4 -5
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +167 -64
- package/dist/scaffold.js.map +1 -1
- package/dist/submodules.d.ts +49 -0
- package/dist/submodules.d.ts.map +1 -1
- package/dist/submodules.js +94 -4
- package/dist/submodules.js.map +1 -1
- package/dist/workflows.d.ts +46 -1
- package/dist/workflows.d.ts.map +1 -1
- package/dist/workflows.js +372 -20
- package/dist/workflows.js.map +1 -1
- package/package.json +14 -12
package/dist/release.js
CHANGED
|
@@ -4,6 +4,8 @@ import path from 'node:path';
|
|
|
4
4
|
import semver from 'semver';
|
|
5
5
|
import { isPublic } from "./canary.js";
|
|
6
6
|
import { writeReadmes } from "./readme.js";
|
|
7
|
+
import { moveSection, openSection } from "./changelog.js";
|
|
8
|
+
import { assertCalendarVersion, isFromPastMonth, monthOf, nextCalendarVersion, npmVersion, } from "./calver.js";
|
|
7
9
|
import { isDistribution } from "./submodules.js";
|
|
8
10
|
/** Run git, returning undefined rather than throwing when it fails. */
|
|
9
11
|
const git = (cwd, args) => {
|
|
@@ -162,13 +164,41 @@ const writeVersion = async (root, version) => {
|
|
|
162
164
|
const source = await readFile(manifestPath(root), 'utf8');
|
|
163
165
|
await writeFile(manifestPath(root), setVersion(source, version));
|
|
164
166
|
};
|
|
165
|
-
/** A distribution is versioned by
|
|
167
|
+
/** A distribution is versioned by month and release, and releases by moving submodule pins. */
|
|
166
168
|
const assertModule = (root) => {
|
|
167
169
|
if (isDistribution(root)) {
|
|
168
|
-
throw new ReleaseError('This is a distribution, not a module.
|
|
169
|
-
'release its modules individually, then `fg-dist bump` to take them.');
|
|
170
|
+
throw new ReleaseError('This is a distribution, not a module. Its version is YY.MM.NN, which `fg-dist release` ' +
|
|
171
|
+
'moves on; release its modules individually, then `fg-dist bump` to take them.');
|
|
170
172
|
}
|
|
171
173
|
};
|
|
174
|
+
/**
|
|
175
|
+
* Set the version a distribution publishes next — see calver.ts for the shape.
|
|
176
|
+
*
|
|
177
|
+
* Run after publishing, it moves on; run again when the month has turned, it
|
|
178
|
+
* moves a release not yet published to this month's first. Nothing branches:
|
|
179
|
+
* a distribution has no lines of its own, only the modules it pins, and those
|
|
180
|
+
* are released on their own.
|
|
181
|
+
*/
|
|
182
|
+
export const releaseDistribution = async (root, { dryRun = false, on, id, stable, published: lookup = onNpm, } = {}) => {
|
|
183
|
+
const manifest = JSON.parse(await readFile(manifestPath(root), 'utf8'));
|
|
184
|
+
const from = manifest.version;
|
|
185
|
+
assertCalendarVersion(from);
|
|
186
|
+
// Tagged by the workflow once it has published; npm has it either way.
|
|
187
|
+
const published = git(root, ['rev-parse', '--verify', `refs/tags/v${from}`]) !== undefined ||
|
|
188
|
+
lookup(`${manifest.name}@${npmVersion(from)}`) !== undefined;
|
|
189
|
+
let version;
|
|
190
|
+
try {
|
|
191
|
+
version = nextCalendarVersion(from, { published, on, id, stable });
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
throw new ReleaseError(error instanceof Error ? error.message : String(error));
|
|
195
|
+
}
|
|
196
|
+
if (!dryRun && version !== from) {
|
|
197
|
+
await writeVersion(root, version);
|
|
198
|
+
await moveSection(root, from, version, { published });
|
|
199
|
+
}
|
|
200
|
+
return { name: manifest.name, from, published, version };
|
|
201
|
+
};
|
|
172
202
|
/** Read the release the repository is standing on, without changing anything. */
|
|
173
203
|
export const readRelease = async (root, { bump, id } = {}) => {
|
|
174
204
|
assertModule(root);
|
|
@@ -187,6 +217,8 @@ const branchExists = (root, branch) => git(root, ['rev-parse', '--verify', `refs
|
|
|
187
217
|
/** Record the version in the readme, so it is visible where people browse. */
|
|
188
218
|
const recordVersion = async (root) => {
|
|
189
219
|
await writeReadmes(root);
|
|
220
|
+
// The next version's changes go under a section of its own.
|
|
221
|
+
await openSection(root);
|
|
190
222
|
};
|
|
191
223
|
const commitAll = (root, message) => {
|
|
192
224
|
run(root, ['add', '-A']);
|
|
@@ -310,11 +342,24 @@ export const checkReleasable = async (root, { published } = {}) => {
|
|
|
310
342
|
if (!raw)
|
|
311
343
|
throw new ReleaseError('No package.json here. Run this inside a module.');
|
|
312
344
|
const manifest = JSON.parse(raw);
|
|
313
|
-
const { name
|
|
314
|
-
if (typeof name !== 'string' || typeof version !== 'string') {
|
|
345
|
+
const { name } = manifest;
|
|
346
|
+
if (typeof name !== 'string' || typeof manifest.version !== 'string') {
|
|
315
347
|
throw new ReleaseError('package.json needs a name and a version to release.');
|
|
316
348
|
}
|
|
317
|
-
|
|
349
|
+
// A distribution's version names the month it is published in, and npm
|
|
350
|
+
// spells it without the zeros; its tag keeps them.
|
|
351
|
+
const distribution = isDistribution(root);
|
|
352
|
+
if (distribution) {
|
|
353
|
+
assertCalendarVersion(manifest.version);
|
|
354
|
+
if (isFromPastMonth(manifest.version)) {
|
|
355
|
+
const { year, month } = monthOf();
|
|
356
|
+
throw new ReleaseError(`${manifest.version} is a release of a month that is over, and it is ` +
|
|
357
|
+
`${String(year).padStart(2, '0')}.${String(month).padStart(2, '0')} now. ` +
|
|
358
|
+
"Run `fg-dist release`, which moves it to this month's first release, and commit it.");
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
const version = distribution ? npmVersion(manifest.version) : manifest.version;
|
|
362
|
+
const tag = `v${manifest.version}`;
|
|
318
363
|
// The workflow tags after it publishes, so a tag that is already here means
|
|
319
364
|
// a red job *after* an irreversible publish — and a later release would cut
|
|
320
365
|
// its maintenance branch from whatever that stale tag points at.
|
package/dist/release.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,uEAAuE;AACvE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,IAAc,EAAsB,EAAE;IAC9D,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YAC/B,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,qDAAqD;AACrD,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,IAAc,EAAQ,EAAE;IAChD,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;CAAG;AAuB1C,MAAM,iBAAiB,GAAG,CAAC,OAAsB,EAAU,EAAE,CAC3D,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAA;AAWtC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAgB,EAChB,EAAE,IAAI,EAAE,EAAE,KAAmC,EAAE,EACT,EAAE;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CAAC,KAAK,QAAQ,uCAAuC,CAAC,CAAA;IAC9E,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,2DAA2D;IAC3D,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,wEAAwE;QACxE,uEAAuE;QACvE,iDAAiD;QACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5C,MAAM,IAAI,GACR,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO;YACnB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,QAAQ,KAAK,CAAC,CAAA;QAEpE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,YAAY,CACpB,UAAU,QAAQ,OAAO,IAAI,uBAAuB;gBAClD,KAAK,OAAO,wBAAwB,EAAE,KAAK,CAC9C,CAAA;QACH,CAAC;QACD,OAAO;YACL,QAAQ;YACR,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;SACrD,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,YAAY,CACpB,iBAAiB,QAAQ,0CAA0C;YACjE,+CAA+C,CAClD,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,YAAY,CAAC,wBAAwB,IAAI,UAAU,QAAQ,GAAG,CAAC,CAAA;IAE3F,OAAO;QACL,QAAQ;QACR,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,WAAW,EACT,IAAI,KAAK,OAAO;YACd,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBACjC,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE;aAC/D;QACP,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE;KACnE,CAAA;AACH,CAAC,CAAA;AAWD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAe,EACf,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAiD,EACrD,EAAE;IAClB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CAAC,KAAK,OAAO,qCAAqC,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,YAAY,CACpB,GAAG,OAAO,2EAA2E,CACtF,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IACnF,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,IAAI,qBAAqB,OAAO,GAAG,CAAC,CAAA;IAE3F,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAE,CAAA;IACnC,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,MAAM,GACV,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAA;IAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,YAAY,OAAO,EAAE,CAAA;AAExE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;AAE9E,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IAC1D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7E,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,YAAY,CAAC,iDAAiD,CAAC,CAAA;IACnF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAA;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,yCAAyC,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,OAAe,EAAU,EAAE;IACpE,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,0BAA0B;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAA;IAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,2CAA2C,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,MAAM,GAAG;QACb,GAAG,MAAM,CAAC,QAAQ,CAAC,gDAAgD,CAAC;KACrE;SACE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;QACxC,yEAAyE;QACzE,qEAAqE;SACpE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE5C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAC5B,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG;YACzD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAC5C,CAAA;IACH,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,wBAAwB;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,0BAA0B,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5E,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,YAAY,CAAC,2CAA2C,CAAC,CAAA;IAEhF,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;QAC7B,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG;QAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAC9C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAE,OAAe,EAAiB,EAAE;IAC1E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,iFAAiF;AACjF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC1C,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,YAAY,CACpB,6EAA6E;YAC3E,qEAAqE,CACxE,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,IAAY,EACZ,EAAE,IAAI,EAAE,EAAE,KAAmC,EAAE,EACzB,EAAE;IACxB,YAAY,CAAC,IAAI,CAAC,CAAA;IAElB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAEhD,MAAM,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;IAErF,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;AACzD,CAAC,CAAA;AAuBD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAsB,EAAE;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAA;IAC7D,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAW,EAAE,CACxC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAA;AAErD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,EAAW,EAAE,CAC7D,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,MAAM,EAAE,CAAC,CAAC,KAAK,SAAS,CAAA;AAE5E,8EAA8E;AAC9E,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;IAC1D,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,OAAe,EAAQ,EAAE;IACxD,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACxB,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AACtC,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,IAAY,EACZ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,KAAqB,EAAE,EACrC,EAAE;IAC3B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAElD,IAAI,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;IAEpH,4EAA4E;IAC5E,yEAAyE;IACzE,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,YAAY,CACpB,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC,0DAA0D,CAAC,CAAA;IACpF,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,IAAI,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,YAAY,CAAC,YAAY,MAAM,uDAAuD,CAAC,CAAA;QACnG,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,oEAAoE;YACpE,oDAAoD;YACpD,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACjE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACrC,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAClD,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;YACzB,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;QACrE,CAAC;QAED,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;QAC1D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9B,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;QACzB,SAAS,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,oEAAoE;QACpE,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;QACtC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;QAClC,MAAM,KAAK,CAAA;IACb,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;QAClC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAA;IAClF,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,qDAAqD;IACrD,IAAI,WAA+B,CAAA;IACnC,IAAI,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;QAC7C,CAAC;QACD,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sEAAsE;QACtE,iDAAiD;QACjD,MAAM,IAAI,YAAY,CACpB,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;YAC7D,gEAAgE;YAChE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,0BAA0B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzE,CAAA;IACH,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;AACtE,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,IAAiB,EACjB,IAAY,EACQ,EAAE;IACtB,MAAM,IAAI,GAAG;QACX,KAAK,IAAI,CAAC,QAAQ,8BAA8B,IAAI,qCAAqC;QACzF,EAAE;QACF,IAAI,CAAC,WAAW;YACd,CAAC,CAAC,cAAc,IAAI,CAAC,QAAQ,cAAc,IAAI,CAAC,WAAW,CAAC,MAAM,yBAAyB,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK;YACxH,CAAC,CAAC,8DAA8D;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,IAAI,CAAC;QACH,OAAO,YAAY,CACjB,IAAI,EACJ;YACE,IAAI;YACJ,QAAQ;YACR,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,SAAS;YACT,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9B,QAAQ;YACR,IAAI;SACL,EACD,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACnE,CAAC,IAAI,EAAE,CAAA;IACV,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAUD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,IAAY,EACZ,EAAE,SAAS,KAA2D,EAAE,EACnD,EAAE;IACvB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7E,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,YAAY,CAAC,iDAAiD,CAAC,CAAA;IAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,YAAY,CAAC,qDAAqD,CAAC,CAAA;IAC/E,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;IAEzB,4EAA4E;IAC5E,4EAA4E;IAC5E,iEAAiE;IACjE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,YAAY,CACpB,GAAG,GAAG,gCAAgC,OAAO,6BAA6B;YACxE,mEAAmE,CACtE,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,IAAI,KAAK,CAAA;IACjC,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC;QACjC,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,IAAI,YAAY,CACpB,GAAG,IAAI,IAAI,OAAO,2BAA2B,GAAG,yBAAyB;YACvE,wEAAwE;YACxE,eAAe,GAAG,8CAA8C,GAAG,IAAI;YACvE,iEAAiE,CACpE,CAAA;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC/D,CAAC,CAAA;AAED,2EAA2E;AAC3E,MAAM,KAAK,GAAG,CAAC,IAAY,EAAsB,EAAE;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE;YAC3D,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAA;QACT,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,wEAAwE;QACxE,0EAA0E;QAC1E,wBAAwB;QACxB,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,UAAsB,EAAiB,EAAE;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAA;IACxC,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,MAAM,UAAU,CACd,MAAM,EACN,WAAW,UAAU,CAAC,OAAO,IAAI;QAC/B,OAAO,UAAU,CAAC,GAAG,IAAI;QACzB,cAAc,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAC7D,CAAA;AACH,CAAC,CAAA;AAQD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,IAAY,EACZ,EACE,IAAI,EACJ,EAAE,GAAG,OAAO,EACZ,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,IAAI,GAMZ,EAC2B,EAAE;IAC9B,YAAY,CAAC,IAAI,CAAC,CAAA;IAElB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAElD,IAAI,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IAE1D,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,YAAY,CACpB,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,YAAY,CAAC,gEAAgE,CAAC,CAAA;IAC1F,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,YAAY,CACpB,YAAY,IAAI,CAAC,MAAM,iDAAiD;YACtE,0DAA0D,CAC7D,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;QACrD,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;QACzB,SAAS,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;QACtC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;QAClC,MAAM,KAAK,CAAA;IACb,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;QAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IAC/C,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AAC9C,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
|
package/dist/scaffold.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type Files = Record<string, string>;
|
|
|
4
4
|
export declare const VERSIONS: {
|
|
5
5
|
readonly monolith: "^0.1.0-alpha.0";
|
|
6
6
|
readonly distribution: "^0.1.0-alpha.0";
|
|
7
|
+
readonly policy: "^0.1.0-alpha.0";
|
|
7
8
|
readonly next: "^16.3.5";
|
|
8
9
|
readonly react: "^19.3.0";
|
|
9
10
|
readonly types: {
|
|
@@ -30,14 +31,12 @@ export declare const write: (root: string, files: Files) => Promise<string[]>;
|
|
|
30
31
|
/** Whether a directory has anything in it, so `init` never writes over work. */
|
|
31
32
|
export declare const isEmpty: (dir: string) => Promise<boolean>;
|
|
32
33
|
export declare const readPackageName: (root: string) => Promise<string | undefined>;
|
|
33
|
-
/** `2024.01.15` — the date-based version a distribution is released under. */
|
|
34
|
-
export declare const calendarVersion: (on?: Date) => string;
|
|
35
34
|
/**
|
|
36
35
|
* A repository that ships a set of modules to end users.
|
|
37
36
|
*
|
|
38
|
-
* The root package.json is the distribution manifest: its version
|
|
39
|
-
*
|
|
40
|
-
* semver version. `extends` names another distribution whose modules this one
|
|
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
|
|
41
40
|
* inherits and may move ahead of, but never behind.
|
|
42
41
|
*/
|
|
43
42
|
export declare const distributionRepo: (name: string, origin?: string, parent?: string, { monolith }?: {
|
package/dist/scaffold.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/scaffold.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { mkdir, writeFile, readFile, readdir } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { publishWorkflow, releaseScripts } from "./workflows.js";
|
|
3
|
+
import { changelogWorkflow, publishWorkflow, releaseScripts } from "./workflows.js";
|
|
4
|
+
import { CHANGELOG, newChangelog } from "./changelog.js";
|
|
5
|
+
import { firstRelease } from "./calver.js";
|
|
4
6
|
const json = (value) => `${JSON.stringify(value, null, 2)}\n`;
|
|
5
7
|
/** Versions the generated projects pin, kept beside the ones this package uses. */
|
|
6
8
|
export const VERSIONS = {
|
|
7
9
|
monolith: '^0.1.0-alpha.0',
|
|
8
10
|
// Provides `fg-dist`, which the release scripts and the publish workflow call.
|
|
9
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',
|
|
10
14
|
next: '^16.3.5',
|
|
11
15
|
react: '^19.3.0',
|
|
12
16
|
types: {
|
|
@@ -22,6 +26,61 @@ export const VERSIONS = {
|
|
|
22
26
|
// pnpm comes from it, so a module without one cannot build in CI.
|
|
23
27
|
pnpm: 'pnpm@10.28.0',
|
|
24
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
|
+
});
|
|
25
84
|
const GITIGNORE = `node_modules
|
|
26
85
|
.next
|
|
27
86
|
.turbo
|
|
@@ -29,11 +88,15 @@ out
|
|
|
29
88
|
build
|
|
30
89
|
next-env.d.ts
|
|
31
90
|
*.tsbuildinfo
|
|
91
|
+
.env*.local
|
|
32
92
|
|
|
33
93
|
# derived mount points; the symlinks under src/ are what is committed
|
|
34
94
|
/app/
|
|
35
95
|
/pages/
|
|
36
96
|
|
|
97
|
+
# fg-dist policy use: the distribution's policy, for this build to run
|
|
98
|
+
/.policy
|
|
99
|
+
|
|
37
100
|
# generated by next dev
|
|
38
101
|
AGENTS.md
|
|
39
102
|
CLAUDE.md
|
|
@@ -70,41 +133,28 @@ export const monolithRepo = (name, origin) => ({
|
|
|
70
133
|
// version: the submodule commit is the pin and its package.json is the
|
|
71
134
|
// version. Keeping the workspace protocol stops pnpm writing one back in.
|
|
72
135
|
'.npmrc': `link-workspace-packages=true\nsave-workspace-protocol=true\n`,
|
|
73
|
-
'pnpm-workspace.yaml':
|
|
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': '',
|
|
74
140
|
'package.json': json({
|
|
75
141
|
name,
|
|
76
142
|
version: '0.1.0-alpha.0',
|
|
77
143
|
private: true,
|
|
78
144
|
...(origin ? { repository: { type: 'git', url: origin } } : {}),
|
|
79
|
-
scripts:
|
|
80
|
-
build: 'turbo run build',
|
|
81
|
-
// The monolith already serves every mounted app, so running their dev
|
|
82
|
-
// servers as well would be the same routes twice.
|
|
83
|
-
dev: "turbo run dev --filter=./apps/monolith --filter='./packages/*'",
|
|
84
|
-
// Each app on its own instead, for working on one in isolation or on
|
|
85
|
-
// anything the monolith cannot serve from one deployment.
|
|
86
|
-
'dev-services': 'turbo run dev:service',
|
|
87
|
-
lint: 'turbo run lint',
|
|
88
|
-
},
|
|
145
|
+
scripts: rootScripts(true),
|
|
89
146
|
devDependencies: { turbo: '^2.11.2' },
|
|
90
147
|
}),
|
|
91
|
-
'turbo.json':
|
|
92
|
-
$schema: 'https://turbo.build/schema.json',
|
|
93
|
-
tasks: {
|
|
94
|
-
build: { dependsOn: ['^build'], outputs: ['.next/**', '!.next/cache/**'] },
|
|
95
|
-
lint: { dependsOn: ['^lint'] },
|
|
96
|
-
dev: { persistent: true, cache: false },
|
|
97
|
-
'dev:service': { persistent: true, cache: false },
|
|
98
|
-
},
|
|
99
|
-
}),
|
|
148
|
+
'turbo.json': turboJson(`${name}-monolith`),
|
|
100
149
|
'apps/monolith/package.json': json({
|
|
101
150
|
name: `${name}-monolith`,
|
|
102
151
|
version: '0.1.0-alpha.0',
|
|
103
152
|
private: true,
|
|
104
153
|
scripts: {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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',
|
|
108
158
|
lint: 'eslint',
|
|
109
159
|
},
|
|
110
160
|
dependencies: {
|
|
@@ -114,6 +164,7 @@ export const monolithRepo = (name, origin) => ({
|
|
|
114
164
|
'react-dom': VERSIONS.react,
|
|
115
165
|
},
|
|
116
166
|
devDependencies: {
|
|
167
|
+
'@fairgarden/distribution': VERSIONS.distribution,
|
|
117
168
|
'@types/node': VERSIONS.types.node,
|
|
118
169
|
'@types/react': VERSIONS.types.react,
|
|
119
170
|
'@types/react-dom': VERSIONS.types.reactDom,
|
|
@@ -166,8 +217,11 @@ export default config
|
|
|
166
217
|
/** `@acme/widget` -> `widget`, which is what a hostname wants. */
|
|
167
218
|
const unscoped = (packageName) => packageName.replace(/^@[^/]+\//, '');
|
|
168
219
|
export const moduleRepo = (packageName, origin) => ({
|
|
169
|
-
// A module releases on its own schedule, so it carries its own workflow
|
|
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.
|
|
170
222
|
...publishWorkflow(packageName),
|
|
223
|
+
...changelogWorkflow({ submodules: false }),
|
|
224
|
+
[CHANGELOG]: newChangelog('0.1.0-alpha.0'),
|
|
171
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`,
|
|
172
226
|
'package.json': json({
|
|
173
227
|
name: packageName,
|
|
@@ -185,10 +239,11 @@ export const moduleRepo = (packageName, origin) => ({
|
|
|
185
239
|
// A monolith adds this repository as a submodule, so record where it lives.
|
|
186
240
|
...(origin ? { repository: { type: 'git', url: origin } } : {}),
|
|
187
241
|
scripts: {
|
|
188
|
-
|
|
189
|
-
//
|
|
190
|
-
//
|
|
191
|
-
|
|
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`,
|
|
192
247
|
build: 'next build',
|
|
193
248
|
start: 'next start',
|
|
194
249
|
lint: 'eslint',
|
|
@@ -208,7 +263,7 @@ export const moduleRepo = (packageName, origin) => ({
|
|
|
208
263
|
'@types/react-dom': VERSIONS.types.reactDom,
|
|
209
264
|
eslint: VERSIONS.eslint,
|
|
210
265
|
'eslint-config-next': VERSIONS.eslintConfigNext,
|
|
211
|
-
// `dev
|
|
266
|
+
// `dev` serves this at a stable hostname instead of a port.
|
|
212
267
|
portless: VERSIONS.portless,
|
|
213
268
|
typescript: VERSIONS.typescript,
|
|
214
269
|
},
|
|
@@ -298,18 +353,55 @@ export const readPackageName = async (root) => {
|
|
|
298
353
|
return undefined;
|
|
299
354
|
}
|
|
300
355
|
};
|
|
301
|
-
/**
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
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
|
+
});
|
|
307
399
|
/**
|
|
308
400
|
* A repository that ships a set of modules to end users.
|
|
309
401
|
*
|
|
310
|
-
* The root package.json is the distribution manifest: its version
|
|
311
|
-
*
|
|
312
|
-
* semver version. `extends` names another distribution whose modules this one
|
|
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
|
|
313
405
|
* inherits and may move ahead of, but never behind.
|
|
314
406
|
*/
|
|
315
407
|
export const distributionRepo = (name, origin, parent, { monolith = true } = {}) => {
|
|
@@ -321,37 +413,30 @@ export const distributionRepo = (name, origin, parent, { monolith = true } = {})
|
|
|
321
413
|
: {
|
|
322
414
|
'.gitignore': `node_modules\n.turbo\n`,
|
|
323
415
|
'.npmrc': `link-workspace-packages=true\nsave-workspace-protocol=true\n`,
|
|
324
|
-
'pnpm-workspace.yaml':
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
dependsOn: ['^build'],
|
|
330
|
-
outputs: ['.next/**', '!.next/cache/**'],
|
|
331
|
-
},
|
|
332
|
-
lint: { dependsOn: ['^lint'] },
|
|
333
|
-
dev: { persistent: true, cache: false },
|
|
334
|
-
},
|
|
335
|
-
}),
|
|
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),
|
|
336
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);
|
|
337
431
|
files['package.json'] = json({
|
|
338
432
|
name,
|
|
339
|
-
// End users read
|
|
340
|
-
|
|
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,
|
|
341
436
|
private: true,
|
|
342
437
|
...(origin ? { repository: { type: 'git', url: origin } } : {}),
|
|
343
438
|
...(parent ? { distribution: { extends: parent } } : {}),
|
|
344
|
-
scripts:
|
|
345
|
-
build: 'turbo run build',
|
|
346
|
-
// With a monolith, running the mounted apps as well would serve the same
|
|
347
|
-
// routes twice. Without one, every app is its own deployment and there
|
|
348
|
-
// is nothing else to run them.
|
|
349
|
-
dev: monolith
|
|
350
|
-
? "turbo run dev --filter=./apps/monolith --filter='./packages/*'"
|
|
351
|
-
: 'turbo run dev:service',
|
|
352
|
-
'dev-services': 'turbo run dev:service',
|
|
353
|
-
lint: 'turbo run lint',
|
|
354
|
-
},
|
|
439
|
+
scripts: rootScripts(monolith),
|
|
355
440
|
// Modules go here, each pinned to the semver version this ships.
|
|
356
441
|
dependencies: parent ? { [parent]: 'latest' } : {},
|
|
357
442
|
devDependencies: { turbo: '^2.11.2' },
|
|
@@ -365,6 +450,24 @@ Modules are listed in \`dependencies\`, each pinned to a semver version, and
|
|
|
365
450
|
checked out as submodules. Add one with \`fg-dist add-module <url>\`, and see
|
|
366
451
|
what has moved with \`fg-dist sync\`.
|
|
367
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
|
+
`}
|
|
368
471
|
## Deploying
|
|
369
472
|
${monolith
|
|
370
473
|
? `
|
package/dist/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C,MAAM,IAAI,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;AAE9E,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,QAAQ,EAAE,gBAAgB;IAC1B,+EAA+E;IAC/E,YAAY,EAAE,gBAAgB;IAC9B,yFAAyF;IACzF,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;KACpB;IACD,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,SAAS;IAC3B,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,QAAQ;IACpB,6EAA6E;IAC7E,kEAAkE;IAClE,IAAI,EAAE,cAAc;CACZ,CAAA;AAEV,MAAM,SAAS,GAAG;;;;;;CAMjB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,CAAC,QAAiB,EAA0B,EAAE;IAChE,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,iDAAiD;QACnD,CAAC,CAAC,qBAAqB,CAAA;IACzB,MAAM,IAAI,GAAG,uDAAuD,CAAA;IACpE,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE;QACxF,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE;QAClF,eAAe,EAAE,mBAAmB,IAAI,EAAE;QAC1C,aAAa,EAAE,iBAAiB,IAAI,EAAE;QACtC,YAAY,EAAE,mBAAmB,IAAI,EAAE;QACvC,UAAU,EAAE,iBAAiB,IAAI,EAAE;QACnC,IAAI,EAAE,gBAAgB;KACvB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAA;AAEhE;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,CAAC,QAA4B,EAAU,EAAE,CACzD,IAAI,CAAC;IACH,OAAO,EAAE,iCAAiC;IAC1C,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE;QACxD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;QAC9B,0EAA0E;QAC1E,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;QAC9D,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC;gBACE,CAAC,GAAG,QAAQ,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE;gBAC7E,CAAC,GAAG,QAAQ,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;aACpF;YACH,CAAC,CAAC,EAAE,CAAC;KACR;CACF,CAAC,CAAA;AAEJ,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;CAmBjB,CAAA;AAED,MAAM,QAAQ,GAAG;IACf,eAAe,EAAE;QACf,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;QACtC,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,IAAI;QACrB,GAAG,EAAE,UAAU;QACf,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC5B;IACD,OAAO,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC;IACxE,OAAO,EAAE,CAAC,cAAc,CAAC;CAC1B,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAe,EAAS,EAAE,CAAC,CAAC;IACrE,YAAY,EAAE,wBAAwB;IACtC,sEAAsE;IACtE,uEAAuE;IACvE,0EAA0E;IAC1E,QAAQ,EAAE,8DAA8D;IACxE,qBAAqB,EAAE,SAAS;IAChC,0EAA0E;IAC1E,4DAA4D;IAC5D,mBAAmB,EAAE,EAAE;IACvB,cAAc,EAAE,IAAI,CAAC;QACnB,IAAI;QACJ,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;QAC1B,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;KACtC,CAAC;IACF,YAAY,EAAE,SAAS,CAAC,GAAG,IAAI,WAAW,CAAC;IAC3C,4BAA4B,EAAE,IAAI,CAAC;QACjC,IAAI,EAAE,GAAG,IAAI,WAAW;QACxB,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,4EAA4E;YAC5E,GAAG,EAAE,wCAAwC;YAC7C,KAAK,EAAE,kCAAkC;YACzC,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,QAAQ;SACf;QACD,YAAY,EAAE;YACZ,sBAAsB,EAAE,QAAQ,CAAC,QAAQ;YACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,KAAK;SAC5B;QACD,eAAe,EAAE;YACf,0BAA0B,EAAE,QAAQ,CAAC,YAAY;YACjD,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;YAClC,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;YACpC,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;YAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,oBAAoB,EAAE,QAAQ,CAAC,gBAAgB;YAC/C,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC;KACF,CAAC;IACF,8BAA8B,EAAE;;;;;;;;;;CAUjC;IACC,6BAA6B,EAAE,IAAI,CAAC,QAAQ,CAAC;IAC7C,iCAAiC,EAAE;;;;;;CAMpC;IACC,0BAA0B,EAAE,SAAS;IACrC,kCAAkC,EAAE;;;;;;;;;CASrC;IACC,gCAAgC,EAAE;;;CAGnC;CACA,CAAC,CAAA;AAEF;;;;;GAKG;AACH,kEAAkE;AAClE,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAAU,EAAE,CAC/C,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAEtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAmB,EAAE,MAAe,EAAS,EAAE,CAAC,CAAC;IAC1E,6EAA6E;IAC7E,uDAAuD;IACvD,GAAG,eAAe,CAAC,WAAW,CAAC;IAC/B,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC;IAC1C,YAAY,EAAE,8GAA8G;IAC5H,cAAc,EAAE,IAAI,CAAC;QACnB,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,eAAe;QACxB,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,kCAAkC;QAClC,aAAa,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;QACvC,+DAA+D;QAC/D,cAAc,EAAE,QAAQ,CAAC,IAAI;QAC7B,4EAA4E;QAC5E,yDAAyD;QACzD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC;QAC1D,4EAA4E;QAC5E,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,OAAO,EAAE;YACP,mEAAmE;YACnE,4DAA4D;YAC5D,2EAA2E;YAC3E,4BAA4B;YAC5B,GAAG,EAAE,YAAY,QAAQ,CAAC,WAAW,CAAC,WAAW;YACjD,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,wEAAwE;YACxE,GAAG,cAAc,CAAC,WAAW,CAAC;SAC/B;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,KAAK;SAC5B;QACD,eAAe,EAAE;YACf,0BAA0B,EAAE,QAAQ,CAAC,YAAY;YACjD,sBAAsB,EAAE,QAAQ,CAAC,QAAQ;YACzC,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;YAClC,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;YACpC,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ;YAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,oBAAoB,EAAE,QAAQ,CAAC,gBAAgB;YAC/C,4DAA4D;YAC5D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC;KACF,CAAC;IACF,gBAAgB,EAAE;;;;;;;CAOnB;IACC,eAAe,EAAE,IAAI,CAAC;QACpB,GAAG,QAAQ;QACX,eAAe,EAAE;YACf,GAAG,QAAQ,CAAC,eAAe;YAC3B,oEAAoE;YACpE,oDAAoD;YACpD,KAAK,EAAE,EAAE,CAAC,GAAG,WAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;SACzC;KACF,CAAC;IACF,mBAAmB,EAAE;;;;;;;;;;;CAWtB;IACC,aAAa,EAAE;;;;kCAIiB,WAAW;kCACX,WAAW;CAC5C;IACC,gBAAgB,EAAE;;;;;;;;;CASnB;IACC,cAAc,EAAE,yBAAyB,WAAW;;;;;YAK1C,WAAW;;;;;CAKtB;CACA,CAAC,CAAA;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,IAAY,EAAE,KAAY,EAAqB,EAAE;IAC3E,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACtC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,MAAM,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC,CAAA;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;IAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IACzD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IACzB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAA+B,EAAE;IACjF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QAC/E,OAAO,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAGD;;;;GAIG;AACH,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,MAAe,EAAS,EAAE,CAAC,CAAC;IAC/D,oBAAoB,EAAE,IAAI,CAAC;QACzB,QAAQ,EAAE;YACR,YAAY,EAAE,IAAI;YAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D;KACF,CAAC;IACF,uBAAuB,EAAE,IAAI,CAAC;QAC5B,IAAI,EAAE,GAAG,IAAI,WAAW;QACxB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,qBAAqB,EAAE;QACvE,eAAe,EAAE;YACf,0BAA0B,EAAE,QAAQ,CAAC,YAAY;YACjD,oBAAoB,EAAE,QAAQ,CAAC,MAAM;SACtC;KACF,CAAC;IACF,qBAAqB,EAAE,iCAAiC;IACxD,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;CAkBvB;CACA,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,MAAe,EACf,MAAe,EACf,EAAE,QAAQ,GAAG,IAAI,KAA6B,EAAE,EACzC,EAAE;IACT,4EAA4E;IAC5E,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QAC5B,CAAC,CAAC;YACE,YAAY,EAAE,wBAAwB;YACtC,QAAQ,EAAE,8DAA8D;YACxE,qBAAqB,EAAE,SAAS;YAChC,mEAAmE;YACnE,eAAe,EAAE,EAAE;YACnB,mBAAmB,EAAE,EAAE;YACvB,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC;SACnC,CAAA;IAEL,4EAA4E;IAC5E,8CAA8C;IAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAE7D,sEAAsE;IACtE,mEAAmE;IACnE,KAAK,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,OAAO,CACjE,oBAAoB,EACpB,oCAAoC,CACrC,CAAA;IACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;IAC9B,KAAK,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACxC,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC3B,IAAI;QACJ,2EAA2E;QAC3E,yEAAyE;QACzE,OAAO;QACP,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC9B,iEAAiE;QACjE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;QAClD,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;KACtC,CAAC,CAAA;IAEF,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,IAAI;;;;;;;;;;EAW9B,QAAQ;QACN,CAAC,CAAC;;;;;;;;CAQL;QACG,CAAC,CAAC;;;;;;CAON;;EAGE,QAAQ;QACN,CAAC,CAAC;;CAEL;QACG,CAAC,CAAC;;;;;CAMN,GACE,MAAM;QACJ,CAAC,CAAC;;;8BAGwB,MAAM;;oBAEhB,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE;CACrE;QACG,CAAC,CAAC,EACN,EAAE,CAAA;IAEA,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|