@fairgarden/distribution 0.1.0-alpha.1 → 0.1.0-alpha.3
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 +3 -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 +153 -0
- package/dist/changelog.d.ts.map +1 -0
- package/dist/changelog.js +359 -0
- package/dist/changelog.js.map +1 -0
- package/dist/cli.js +356 -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 +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -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 +5 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +14 -6
- package/dist/policy.js.map +1 -1
- 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 +37 -1
- package/dist/release.d.ts.map +1 -1
- package/dist/release.js +107 -7
- package/dist/release.js.map +1 -1
- package/dist/scaffold.d.ts +3 -5
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +116 -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 +401 -20
- package/dist/workflows.js.map +1 -1
- package/package.json +14 -12
package/dist/workflows.d.ts
CHANGED
|
@@ -8,6 +8,28 @@ import type { Files } from './scaffold.ts';
|
|
|
8
8
|
* with a trusted publisher pointing at this repository and this file.
|
|
9
9
|
*/
|
|
10
10
|
export declare const publishWorkflow: (packageName: string) => Files;
|
|
11
|
+
/**
|
|
12
|
+
* The publishing workflow a distribution carries, for others to extend it.
|
|
13
|
+
*
|
|
14
|
+
* The same shape as a module's — a canary on every push to main, a release by
|
|
15
|
+
* hand — but checked out with its submodules, since `fg-dist canary` and
|
|
16
|
+
* `release --check` record every module's version, path, repository and
|
|
17
|
+
* commit in the manifest they publish. That is what an extension checks
|
|
18
|
+
* itself against and takes its own modules from.
|
|
19
|
+
*/
|
|
20
|
+
export declare const distributionWorkflow: (packageName: string) => Files;
|
|
21
|
+
/**
|
|
22
|
+
* The pull request check that keeps a changelog current.
|
|
23
|
+
*
|
|
24
|
+
* Every pull request has to add a line linking itself under the version being
|
|
25
|
+
* worked on — or, in a distribution, every one that changes the
|
|
26
|
+
* organization's policy — so a release's notes are written, and committed,
|
|
27
|
+
* before it is released. A distribution is checked out with its submodules,
|
|
28
|
+
* without which its workspace does not install.
|
|
29
|
+
*/
|
|
30
|
+
export declare const changelogWorkflow: ({ submodules }: {
|
|
31
|
+
submodules: boolean;
|
|
32
|
+
}) => Files;
|
|
11
33
|
export interface WorkflowUpdate {
|
|
12
34
|
relativePath: string;
|
|
13
35
|
files: string[];
|
|
@@ -50,8 +72,31 @@ export declare const updateManifest: (moduleRoot: string, packageName: string, v
|
|
|
50
72
|
* A module that already has one is left alone: it may have been changed on
|
|
51
73
|
* purpose, and overwriting it would be the kind of help nobody asked for.
|
|
52
74
|
*/
|
|
53
|
-
export declare const writeWorkflows: (root: string, { force, dryRun }?: {
|
|
75
|
+
export declare const writeWorkflows: (root: string, { force, dryRun, names, }?: {
|
|
54
76
|
force?: boolean;
|
|
55
77
|
dryRun?: boolean;
|
|
78
|
+
/** Only these modules, by name or path; every one when empty. */
|
|
79
|
+
names?: string[];
|
|
56
80
|
}) => Promise<WorkflowUpdate[]>;
|
|
81
|
+
/**
|
|
82
|
+
* Give the distribution itself a publishing workflow, so others can extend it.
|
|
83
|
+
*
|
|
84
|
+
* Asked for rather than done by `writeWorkflows`: it makes the distribution
|
|
85
|
+
* public on npm, which a distribution only its owner deploys has no need to be.
|
|
86
|
+
* The tarball is the manifest and the organization's policy, which is what an
|
|
87
|
+
* extension builds its own on.
|
|
88
|
+
*/
|
|
89
|
+
export declare const writeDistributionWorkflow: (root: string, { force, dryRun }?: {
|
|
90
|
+
force?: boolean;
|
|
91
|
+
dryRun?: boolean;
|
|
92
|
+
}) => Promise<WorkflowUpdate>;
|
|
93
|
+
/**
|
|
94
|
+
* Give the distribution itself the changelog check, for pull requests that
|
|
95
|
+
* change the organization's policy — what else changes in it, fg-dist notes
|
|
96
|
+
* itself. Unlike its publishing, this makes nothing public.
|
|
97
|
+
*/
|
|
98
|
+
export declare const writeDistributionChangelogCheck: (root: string, { force, dryRun }?: {
|
|
99
|
+
force?: boolean;
|
|
100
|
+
dryRun?: boolean;
|
|
101
|
+
}) => Promise<WorkflowUpdate>;
|
|
57
102
|
//# sourceMappingURL=workflows.d.ts.map
|
package/dist/workflows.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,KAAG,KA+MpD,CAAA;AAsCF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,aAAa,MAAM,KAAG,KAoHzD,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,gBAAgB;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,KAAG,KAoD1E,CAAA;AAEF,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,UAAU,EAAE,OAAO,CAAA;IACnB,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAA;IACrB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAA;CACvB;AA2BD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CASzE,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,SAAS,MAAM,GAAG,SAAS,EAC3B,gBAAgB,MAAM,GAAG,SAAS,EAClC,YAAkB;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,KACzC,OAAO,CAAC,cAAc,CAyExB,CAAA;AAGD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,4BAIG;IACD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACZ,KACL,OAAO,CAAC,cAAc,EAAE,CA+D1B,CAAA;AAGD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EACZ,oBAAmC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,KAC5E,OAAO,CAAC,cAAc,CA4CxB,CAAA;AAeD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAC1C,MAAM,MAAM,EACZ,oBAAmC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,KAC5E,OAAO,CAAC,cAAc,CAgDxB,CAAA"}
|
package/dist/workflows.js
CHANGED
|
@@ -2,8 +2,10 @@ import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { rm } from 'node:fs/promises';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
+
import semver from 'semver';
|
|
5
6
|
import { fileURLToPath } from 'node:url';
|
|
6
7
|
import { submodules } from "./submodules.js";
|
|
8
|
+
import { CHANGELOG, newChangelog } from "./changelog.js";
|
|
7
9
|
/**
|
|
8
10
|
* The publishing workflow a module carries.
|
|
9
11
|
*
|
|
@@ -99,6 +101,8 @@ jobs:
|
|
|
99
101
|
permissions:
|
|
100
102
|
contents: write # Required for pushing the tag and creating the release
|
|
101
103
|
id-token: write # Required for provenance and trusted publishing
|
|
104
|
+
actions: write # Required to run open pull requests' changelog check again
|
|
105
|
+
pull-requests: read # Required to find them
|
|
102
106
|
environment:
|
|
103
107
|
name: npm-publish
|
|
104
108
|
steps:
|
|
@@ -137,14 +141,29 @@ jobs:
|
|
|
137
141
|
run: |
|
|
138
142
|
git tag "\$TAG"
|
|
139
143
|
git push origin "\$TAG"
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
--
|
|
144
|
+
# The notes are the changelog's section for this version, written as
|
|
145
|
+
# each pull request merged; GitHub's own where there is none.
|
|
146
|
+
if pnpm run --silent changelog notes > "\$RUNNER_TEMP/notes.md"; then
|
|
147
|
+
notes="--notes-file \$RUNNER_TEMP/notes.md"
|
|
148
|
+
else
|
|
149
|
+
notes="--generate-notes"
|
|
150
|
+
fi
|
|
151
|
+
gh release create "\$TAG" --title "\$TAG" \$notes --verify-tag
|
|
152
|
+
|
|
153
|
+
- name: Hold pull requests until the next version
|
|
154
|
+
if: inputs.dry-run != true
|
|
155
|
+
env:
|
|
156
|
+
GH_TOKEN: \${{ secrets.GITHUB_TOKEN }}
|
|
157
|
+
# Anything merged now would be noted under a version already out. Each
|
|
158
|
+
# open pull request's changelog check runs again, sees the release and
|
|
159
|
+
# refuses it — until \`fg-dist release\` starts the next version and the
|
|
160
|
+
# branch catches up with it.
|
|
161
|
+
run: pnpm run changelog hold
|
|
144
162
|
|
|
145
163
|
- name: Summary
|
|
146
164
|
run: |
|
|
147
165
|
echo "Published \\\`${packageName}@\${{ steps.version.outputs.version }}\\\` to the \\\`\${{ inputs.dist-tag }}\\\` tag." >> "\$GITHUB_STEP_SUMMARY"
|
|
166
|
+
echo "Pull requests are held until the next version starts: run \\\`fg-dist release\\\` and merge what it opens." >> "\$GITHUB_STEP_SUMMARY"
|
|
148
167
|
`,
|
|
149
168
|
'.github/actions/publish-prepare/action.yml': `name: Prepare for publishing
|
|
150
169
|
description: Install dependencies and build, so the package is ready to publish.
|
|
@@ -170,7 +189,18 @@ runs:
|
|
|
170
189
|
node-version: 22
|
|
171
190
|
# No \`cache: pnpm\`: it needs a lockfile to hash, and a module developed
|
|
172
191
|
# inside a distribution keeps its lockfile in the distribution.
|
|
173
|
-
|
|
192
|
+
#
|
|
193
|
+
# No \`registry-url\` either. Given one, setup-node writes an .npmrc
|
|
194
|
+
# with \`_authToken=\${NODE_AUTH_TOKEN}\` and, with no token to put
|
|
195
|
+
# there, exports a placeholder. npm then publishes with that instead of
|
|
196
|
+
# exchanging the Actions OIDC token, and the registry answers
|
|
197
|
+
# \`E404 Not Found - PUT\`. Trusted publishing needs npm to find no
|
|
198
|
+
# credentials at all; npmjs.org is the default registry anyway.
|
|
199
|
+
|
|
200
|
+
# Trusted publishing needs npm 11.5.1 or later, which Node 22 does not ship.
|
|
201
|
+
- name: Update npm
|
|
202
|
+
shell: bash
|
|
203
|
+
run: npm install -g npm@^11.5.1
|
|
174
204
|
|
|
175
205
|
- name: Install
|
|
176
206
|
shell: bash
|
|
@@ -190,6 +220,227 @@ runs:
|
|
|
190
220
|
run: pnpm run --if-present build
|
|
191
221
|
`,
|
|
192
222
|
});
|
|
223
|
+
/** Steps both of a distribution's publishing jobs start with. */
|
|
224
|
+
const distributionSetup = (release) => ` - name: Checkout
|
|
225
|
+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
226
|
+
with:
|
|
227
|
+
# What it publishes is read from its modules: their versions, and
|
|
228
|
+
# the commits it pins.
|
|
229
|
+
submodules: true${release
|
|
230
|
+
? '\n fetch-depth: 0 # `gh release create --generate-notes` needs history' +
|
|
231
|
+
'\n # Kept, to push the tag and move main on.'
|
|
232
|
+
: '\n persist-credentials: false'}
|
|
233
|
+
|
|
234
|
+
# No build: what a distribution publishes is its manifest and its
|
|
235
|
+
# policy, not its apps.
|
|
236
|
+
- uses: pnpm/action-setup@v4
|
|
237
|
+
|
|
238
|
+
# No \`registry-url\`, and npm new enough for trusted publishing: see
|
|
239
|
+
# .github/actions/publish-prepare in any module for why.
|
|
240
|
+
- uses: actions/setup-node@v4
|
|
241
|
+
with:
|
|
242
|
+
node-version: 22
|
|
243
|
+
|
|
244
|
+
- name: Update npm
|
|
245
|
+
run: npm install -g npm@^11.5.1
|
|
246
|
+
|
|
247
|
+
- name: Install
|
|
248
|
+
run: pnpm install --frozen-lockfile
|
|
249
|
+
|
|
250
|
+
# Only where fg-dist is developed in this workspace, as a module of the
|
|
251
|
+
# distribution: then it is linked from its checkout, which is not built.
|
|
252
|
+
# Everywhere else it is installed from npm, and this matches nothing.
|
|
253
|
+
- name: Build fg-dist
|
|
254
|
+
run: pnpm --filter @fairgarden/distribution --include-workspace-root run --if-present build
|
|
255
|
+
`;
|
|
256
|
+
/**
|
|
257
|
+
* The publishing workflow a distribution carries, for others to extend it.
|
|
258
|
+
*
|
|
259
|
+
* The same shape as a module's — a canary on every push to main, a release by
|
|
260
|
+
* hand — but checked out with its submodules, since `fg-dist canary` and
|
|
261
|
+
* `release --check` record every module's version, path, repository and
|
|
262
|
+
* commit in the manifest they publish. That is what an extension checks
|
|
263
|
+
* itself against and takes its own modules from.
|
|
264
|
+
*/
|
|
265
|
+
export const distributionWorkflow = (packageName) => ({
|
|
266
|
+
'.github/workflows/publish.yml': `name: Publish
|
|
267
|
+
|
|
268
|
+
# Publishes this distribution for others to extend. As for a module, npm
|
|
269
|
+
# trusted publishing is configured against this one workflow file, and there is
|
|
270
|
+
# no npm token: publish once from a workstation, then configure it on npmjs.com.
|
|
271
|
+
|
|
272
|
+
on:
|
|
273
|
+
push:
|
|
274
|
+
branches:
|
|
275
|
+
- main
|
|
276
|
+
workflow_dispatch:
|
|
277
|
+
inputs:
|
|
278
|
+
dist-tag:
|
|
279
|
+
description: 'npm dist tag to publish the release to'
|
|
280
|
+
required: false
|
|
281
|
+
type: string
|
|
282
|
+
default: 'latest'
|
|
283
|
+
dry-run:
|
|
284
|
+
description: 'Pack and validate without publishing'
|
|
285
|
+
required: false
|
|
286
|
+
type: boolean
|
|
287
|
+
default: false
|
|
288
|
+
|
|
289
|
+
permissions: {}
|
|
290
|
+
|
|
291
|
+
concurrency:
|
|
292
|
+
group: publish-\${{ github.ref }}
|
|
293
|
+
cancel-in-progress: false
|
|
294
|
+
|
|
295
|
+
jobs:
|
|
296
|
+
canary:
|
|
297
|
+
name: Publish canary
|
|
298
|
+
if: github.event_name == 'push' && github.event.head_commit.author.name != 'renovate[bot]'
|
|
299
|
+
runs-on: ubuntu-latest
|
|
300
|
+
permissions:
|
|
301
|
+
contents: read
|
|
302
|
+
id-token: write # Required for provenance and trusted publishing
|
|
303
|
+
steps:
|
|
304
|
+
${distributionSetup(false)}
|
|
305
|
+
- name: Stamp the canary version and what it ships
|
|
306
|
+
id: canary
|
|
307
|
+
run: pnpm run canary
|
|
308
|
+
|
|
309
|
+
- name: Publish to npm
|
|
310
|
+
if: steps.canary.outputs.skip != 'true'
|
|
311
|
+
run: |
|
|
312
|
+
if [ "\${{ steps.canary.outputs.provenance }}" = "true" ]; then
|
|
313
|
+
npm publish --tag canary --provenance
|
|
314
|
+
else
|
|
315
|
+
npm publish --tag canary
|
|
316
|
+
fi
|
|
317
|
+
|
|
318
|
+
release:
|
|
319
|
+
name: Publish release
|
|
320
|
+
if: github.event_name == 'workflow_dispatch'
|
|
321
|
+
runs-on: ubuntu-latest
|
|
322
|
+
permissions:
|
|
323
|
+
contents: write # Required for pushing the tag and creating the release
|
|
324
|
+
id-token: write # Required for provenance and trusted publishing
|
|
325
|
+
actions: write # Required to run open pull requests' changelog check again
|
|
326
|
+
pull-requests: read # Required to find them
|
|
327
|
+
environment:
|
|
328
|
+
name: npm-publish
|
|
329
|
+
steps:
|
|
330
|
+
${distributionSetup(true)}
|
|
331
|
+
- name: Stamp what it ships
|
|
332
|
+
id: version
|
|
333
|
+
# Refuses when this version is on npm already, or names a month that
|
|
334
|
+
# is over: \`fg-dist release\` moves the distribution on.
|
|
335
|
+
run: pnpm run release:check
|
|
336
|
+
|
|
337
|
+
- name: Publish to npm
|
|
338
|
+
env:
|
|
339
|
+
DIST_TAG: \${{ inputs.dist-tag }}
|
|
340
|
+
PROVENANCE: \${{ steps.version.outputs.provenance }}
|
|
341
|
+
DRY_RUN: \${{ inputs.dry-run }}
|
|
342
|
+
run: |
|
|
343
|
+
flags="--tag \$DIST_TAG"
|
|
344
|
+
[ "\$PROVENANCE" = "true" ] && flags="\$flags --provenance"
|
|
345
|
+
[ "\$DRY_RUN" = "true" ] && flags="\$flags --dry-run"
|
|
346
|
+
npm publish \$flags
|
|
347
|
+
|
|
348
|
+
- name: Tag and create the GitHub release
|
|
349
|
+
if: inputs.dry-run != true
|
|
350
|
+
env:
|
|
351
|
+
GH_TOKEN: \${{ secrets.GITHUB_TOKEN }}
|
|
352
|
+
TAG: \${{ steps.version.outputs.tag }}
|
|
353
|
+
run: |
|
|
354
|
+
git tag "\$TAG"
|
|
355
|
+
git push origin "\$TAG"
|
|
356
|
+
# The changelog's section for this version: the modules it moved,
|
|
357
|
+
# and what changed in the organization's policy.
|
|
358
|
+
if pnpm run --silent changelog notes > "\$RUNNER_TEMP/notes.md"; then
|
|
359
|
+
notes="--notes-file \$RUNNER_TEMP/notes.md"
|
|
360
|
+
else
|
|
361
|
+
notes="--generate-notes"
|
|
362
|
+
fi
|
|
363
|
+
gh release create "\$TAG" --title "\$TAG" \$notes --verify-tag
|
|
364
|
+
|
|
365
|
+
- name: Hold pull requests until the next version
|
|
366
|
+
if: inputs.dry-run != true
|
|
367
|
+
env:
|
|
368
|
+
GH_TOKEN: \${{ secrets.GITHUB_TOKEN }}
|
|
369
|
+
# Anything merged now would be noted under a version already out. Each
|
|
370
|
+
# open pull request's changelog check runs again, sees the release and
|
|
371
|
+
# refuses it — until \`fg-dist release\` starts the next version and the
|
|
372
|
+
# branch catches up with it.
|
|
373
|
+
run: pnpm run changelog hold
|
|
374
|
+
|
|
375
|
+
- name: Summary
|
|
376
|
+
run: |
|
|
377
|
+
echo "Published \\\`${packageName}@\${{ steps.version.outputs.version }}\\\`." >> "\$GITHUB_STEP_SUMMARY"
|
|
378
|
+
echo "Pull requests are held until the next version starts: run \\\`fg-dist release\\\` and merge what it opens." >> "\$GITHUB_STEP_SUMMARY"
|
|
379
|
+
`,
|
|
380
|
+
...changelogWorkflow({ submodules: true }),
|
|
381
|
+
});
|
|
382
|
+
/**
|
|
383
|
+
* The pull request check that keeps a changelog current.
|
|
384
|
+
*
|
|
385
|
+
* Every pull request has to add a line linking itself under the version being
|
|
386
|
+
* worked on — or, in a distribution, every one that changes the
|
|
387
|
+
* organization's policy — so a release's notes are written, and committed,
|
|
388
|
+
* before it is released. A distribution is checked out with its submodules,
|
|
389
|
+
* without which its workspace does not install.
|
|
390
|
+
*/
|
|
391
|
+
export const changelogWorkflow = ({ submodules }) => ({
|
|
392
|
+
'.github/workflows/changelog.yml': `name: Changelog
|
|
393
|
+
|
|
394
|
+
# Every pull request says what it changes in CHANGELOG.md, under the version
|
|
395
|
+
# being worked on, with a link to itself — so that version's notes are written,
|
|
396
|
+
# and committed, before it is released: whoever makes the change writes the
|
|
397
|
+
# line, and review sees it with the change. Make this job a required status
|
|
398
|
+
# check on main, or it only advises.
|
|
399
|
+
#
|
|
400
|
+
# A pull request that changes nothing anyone would read about — a lockfile
|
|
401
|
+
# bump — is labelled "skip changelog".
|
|
402
|
+
|
|
403
|
+
on:
|
|
404
|
+
pull_request:
|
|
405
|
+
types: [opened, synchronize, reopened, labeled, unlabeled]
|
|
406
|
+
|
|
407
|
+
permissions:
|
|
408
|
+
contents: read
|
|
409
|
+
|
|
410
|
+
jobs:
|
|
411
|
+
changelog:
|
|
412
|
+
name: Changelog entry
|
|
413
|
+
runs-on: ubuntu-latest
|
|
414
|
+
steps:
|
|
415
|
+
- name: Checkout
|
|
416
|
+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
417
|
+
with:
|
|
418
|
+
persist-credentials: false
|
|
419
|
+
fetch-depth: 0 # to compare with what it merges into${submodules ? '\n submodules: true # a distribution does not install without them' : ''}
|
|
420
|
+
|
|
421
|
+
- uses: pnpm/action-setup@v4
|
|
422
|
+
|
|
423
|
+
- uses: actions/setup-node@v4
|
|
424
|
+
with:
|
|
425
|
+
node-version: 22
|
|
426
|
+
|
|
427
|
+
- name: Install
|
|
428
|
+
run: |
|
|
429
|
+
if [ -f pnpm-lock.yaml ]; then
|
|
430
|
+
pnpm install --frozen-lockfile
|
|
431
|
+
else
|
|
432
|
+
pnpm install --no-frozen-lockfile
|
|
433
|
+
fi
|
|
434
|
+
|
|
435
|
+
# Only where fg-dist is developed in this workspace — its own repository,
|
|
436
|
+
# where it is the root pnpm otherwise leaves out, or a distribution's.
|
|
437
|
+
- name: Build fg-dist
|
|
438
|
+
run: pnpm --filter @fairgarden/distribution --include-workspace-root run --if-present build
|
|
439
|
+
|
|
440
|
+
- name: Check for a line linking this pull request
|
|
441
|
+
run: pnpm run changelog check
|
|
442
|
+
`,
|
|
443
|
+
});
|
|
193
444
|
const readManifest = async (root) => {
|
|
194
445
|
try {
|
|
195
446
|
return JSON.parse(await readFile(path.join(root, 'package.json'), 'utf8'));
|
|
@@ -225,6 +476,7 @@ export const releaseScripts = (packageName) => {
|
|
|
225
476
|
canary: `${cli} canary`,
|
|
226
477
|
release: `${cli} release`,
|
|
227
478
|
'release:check': `${cli} release --check`,
|
|
479
|
+
changelog: `${cli} changelog`,
|
|
228
480
|
};
|
|
229
481
|
};
|
|
230
482
|
/**
|
|
@@ -267,6 +519,17 @@ export const updateManifest = async (moduleRoot, packageName, version, packageMa
|
|
|
267
519
|
if (packageName !== TOOL && !dependencies?.[TOOL] && !devDependencies?.[TOOL] && version) {
|
|
268
520
|
updated.devDependencies = { ...devDependencies, [TOOL]: `^${version}` };
|
|
269
521
|
}
|
|
522
|
+
// One that does is moved up to this version at least: the workflows written
|
|
523
|
+
// here call commands it has, and an older one — resolved from npm in the
|
|
524
|
+
// module's own CI — would not know them.
|
|
525
|
+
for (const key of ['dependencies', 'devDependencies']) {
|
|
526
|
+
const list = updated[key];
|
|
527
|
+
const range = list?.[TOOL];
|
|
528
|
+
const floor = range ? semver.minVersion(range, { loose: true }) : null;
|
|
529
|
+
if (packageName !== TOOL && version && floor && semver.lt(floor, version)) {
|
|
530
|
+
updated[key] = { ...list, [TOOL]: `^${version}` };
|
|
531
|
+
}
|
|
532
|
+
}
|
|
270
533
|
const changed = JSON.stringify(updated) !== before;
|
|
271
534
|
if (changed && write) {
|
|
272
535
|
await writeFile(path.join(moduleRoot, 'package.json'), `${JSON.stringify(updated, null, 2)}\n`);
|
|
@@ -294,38 +557,38 @@ export const updateManifest = async (moduleRoot, packageName, version, packageMa
|
|
|
294
557
|
* A module that already has one is left alone: it may have been changed on
|
|
295
558
|
* purpose, and overwriting it would be the kind of help nobody asked for.
|
|
296
559
|
*/
|
|
297
|
-
export const writeWorkflows = async (root, { force = false, dryRun = false } = {}) => {
|
|
560
|
+
export const writeWorkflows = async (root, { force = false, dryRun = false, names = [], } = {}) => {
|
|
298
561
|
const updates = [];
|
|
299
562
|
// What the distribution builds with, which is what its modules are developed
|
|
300
563
|
// against whether or not they say so themselves.
|
|
301
564
|
const packageManager = (await readManifest(root))?.packageManager;
|
|
302
565
|
const spec = typeof packageManager === 'string' ? packageManager : undefined;
|
|
303
566
|
const tool = await toolVersion();
|
|
567
|
+
const unknown = names.filter((name) => !submodules(root).some((submodule) => submodule.name === name || submodule.relativePath === name));
|
|
568
|
+
if (unknown.length > 0)
|
|
569
|
+
throw new Error(`No such module: ${unknown.join(', ')}.`);
|
|
304
570
|
for (const submodule of submodules(root)) {
|
|
571
|
+
if (names.length > 0 && !names.includes(submodule.name) && !names.includes(submodule.relativePath))
|
|
572
|
+
continue;
|
|
305
573
|
const name = (await readManifest(submodule.path))?.name;
|
|
306
574
|
if (typeof name !== 'string')
|
|
307
575
|
continue;
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
updates.push({
|
|
311
|
-
relativePath: submodule.relativePath,
|
|
312
|
-
files: [],
|
|
313
|
-
skipped: true,
|
|
314
|
-
unprivated: false,
|
|
315
|
-
missingFiles: false,
|
|
316
|
-
missingAccess: false,
|
|
317
|
-
});
|
|
318
|
-
continue;
|
|
319
|
-
}
|
|
576
|
+
// File by file: a module that publishes already still gets the changelog
|
|
577
|
+
// check it lacks, and what it has is only replaced when forced.
|
|
320
578
|
const written = [];
|
|
321
|
-
|
|
579
|
+
const files = { ...publishWorkflow(name), ...changelogWorkflow({ submodules: false }) };
|
|
580
|
+
for (const [relative, contents] of Object.entries(files)) {
|
|
322
581
|
const full = path.join(submodule.path, relative);
|
|
582
|
+
if (existsSync(full) && !force)
|
|
583
|
+
continue;
|
|
323
584
|
if (!dryRun) {
|
|
324
585
|
await mkdir(path.dirname(full), { recursive: true });
|
|
325
586
|
await writeFile(full, contents);
|
|
326
587
|
}
|
|
327
588
|
written.push(relative);
|
|
328
589
|
}
|
|
590
|
+
if (await startChangelog(submodule.path, dryRun))
|
|
591
|
+
written.push(CHANGELOG);
|
|
329
592
|
// An earlier version of this command shipped the canary stamper as a file
|
|
330
593
|
// in the module. It is a CLI command now, and a stale copy of it would go
|
|
331
594
|
// on being the thing anyone reads.
|
|
@@ -347,7 +610,7 @@ export const writeWorkflows = async (root, { force = false, dryRun = false } = {
|
|
|
347
610
|
updates.push({
|
|
348
611
|
relativePath: submodule.relativePath,
|
|
349
612
|
files: written.sort(),
|
|
350
|
-
skipped:
|
|
613
|
+
skipped: written.length === 0,
|
|
351
614
|
unprivated: manifest.unprivated,
|
|
352
615
|
missingFiles: manifest.missingFiles,
|
|
353
616
|
missingAccess: manifest.missingAccess,
|
|
@@ -355,4 +618,122 @@ export const writeWorkflows = async (root, { force = false, dryRun = false } = {
|
|
|
355
618
|
}
|
|
356
619
|
return updates;
|
|
357
620
|
};
|
|
621
|
+
/**
|
|
622
|
+
* Give the distribution itself a publishing workflow, so others can extend it.
|
|
623
|
+
*
|
|
624
|
+
* Asked for rather than done by `writeWorkflows`: it makes the distribution
|
|
625
|
+
* public on npm, which a distribution only its owner deploys has no need to be.
|
|
626
|
+
* The tarball is the manifest and the organization's policy, which is what an
|
|
627
|
+
* extension builds its own on.
|
|
628
|
+
*/
|
|
629
|
+
export const writeDistributionWorkflow = async (root, { force = false, dryRun = false } = {}) => {
|
|
630
|
+
const manifest = await readManifest(root);
|
|
631
|
+
const name = manifest?.name;
|
|
632
|
+
if (typeof name !== 'string')
|
|
633
|
+
throw new Error('The distribution needs a name in package.json to publish.');
|
|
634
|
+
const relativePath = '.';
|
|
635
|
+
const workflow = path.join(root, '.github/workflows/publish.yml');
|
|
636
|
+
if (existsSync(workflow) && !force) {
|
|
637
|
+
return { relativePath, files: [], skipped: true, unprivated: false, missingFiles: false, missingAccess: false };
|
|
638
|
+
}
|
|
639
|
+
const written = [];
|
|
640
|
+
for (const [relative, contents] of Object.entries(distributionWorkflow(name))) {
|
|
641
|
+
if (!dryRun) {
|
|
642
|
+
await mkdir(path.dirname(path.join(root, relative)), { recursive: true });
|
|
643
|
+
await writeFile(path.join(root, relative), contents);
|
|
644
|
+
}
|
|
645
|
+
written.push(relative);
|
|
646
|
+
}
|
|
647
|
+
if (await startChangelog(root, dryRun))
|
|
648
|
+
written.push(CHANGELOG);
|
|
649
|
+
const packageManager = typeof manifest?.packageManager === 'string' ? manifest.packageManager : undefined;
|
|
650
|
+
const change = await updateManifest(root, name, await toolVersion(), packageManager, { write: !dryRun });
|
|
651
|
+
if (change.changed)
|
|
652
|
+
written.push('package.json');
|
|
653
|
+
// Its policy is what an extension layers its own on; nothing else is needed.
|
|
654
|
+
let missingFiles = change.missingFiles;
|
|
655
|
+
if (missingFiles) {
|
|
656
|
+
const updated = (await readManifest(root)) ?? {};
|
|
657
|
+
const files = existsSync(path.join(root, 'policies')) ? ['policies'] : [];
|
|
658
|
+
if (!dryRun)
|
|
659
|
+
await writeFile(path.join(root, 'package.json'), `${JSON.stringify({ ...updated, files }, null, 2)}\n`);
|
|
660
|
+
if (!written.includes('package.json'))
|
|
661
|
+
written.push('package.json');
|
|
662
|
+
missingFiles = false;
|
|
663
|
+
}
|
|
664
|
+
return {
|
|
665
|
+
relativePath,
|
|
666
|
+
files: written.sort(),
|
|
667
|
+
skipped: false,
|
|
668
|
+
unprivated: change.unprivated,
|
|
669
|
+
missingFiles,
|
|
670
|
+
missingAccess: change.missingAccess,
|
|
671
|
+
};
|
|
672
|
+
};
|
|
673
|
+
/**
|
|
674
|
+
* Start a repository's changelog at the version it carries, unless it keeps one
|
|
675
|
+
* already: a changelog is history, and is never written over.
|
|
676
|
+
*/
|
|
677
|
+
const startChangelog = async (root, dryRun) => {
|
|
678
|
+
const file = path.join(root, CHANGELOG);
|
|
679
|
+
if (existsSync(file))
|
|
680
|
+
return false;
|
|
681
|
+
const version = (await readManifest(root))?.version;
|
|
682
|
+
if (typeof version !== 'string')
|
|
683
|
+
return false;
|
|
684
|
+
if (!dryRun)
|
|
685
|
+
await writeFile(file, newChangelog(version));
|
|
686
|
+
return true;
|
|
687
|
+
};
|
|
688
|
+
/**
|
|
689
|
+
* Give the distribution itself the changelog check, for pull requests that
|
|
690
|
+
* change the organization's policy — what else changes in it, fg-dist notes
|
|
691
|
+
* itself. Unlike its publishing, this makes nothing public.
|
|
692
|
+
*/
|
|
693
|
+
export const writeDistributionChangelogCheck = async (root, { force = false, dryRun = false } = {}) => {
|
|
694
|
+
const written = [];
|
|
695
|
+
for (const [relative, contents] of Object.entries(changelogWorkflow({ submodules: true }))) {
|
|
696
|
+
const full = path.join(root, relative);
|
|
697
|
+
if (existsSync(full) && !force)
|
|
698
|
+
continue;
|
|
699
|
+
if (!dryRun) {
|
|
700
|
+
await mkdir(path.dirname(full), { recursive: true });
|
|
701
|
+
await writeFile(full, contents);
|
|
702
|
+
}
|
|
703
|
+
written.push(relative);
|
|
704
|
+
}
|
|
705
|
+
if (await startChangelog(root, dryRun))
|
|
706
|
+
written.push(CHANGELOG);
|
|
707
|
+
// The script the check runs, and the tool it runs — nothing that publishes.
|
|
708
|
+
const manifest = await readManifest(root);
|
|
709
|
+
if (manifest) {
|
|
710
|
+
const scripts = { ...manifest.scripts };
|
|
711
|
+
const dev = { ...manifest.devDependencies };
|
|
712
|
+
const deps = manifest.dependencies;
|
|
713
|
+
const tool = await toolVersion();
|
|
714
|
+
let changed = false;
|
|
715
|
+
if (!scripts.changelog) {
|
|
716
|
+
scripts.changelog = releaseScripts(String(manifest.name ?? '')).changelog;
|
|
717
|
+
changed = true;
|
|
718
|
+
}
|
|
719
|
+
if (!dev[TOOL] && !deps?.[TOOL] && tool) {
|
|
720
|
+
dev[TOOL] = `^${tool}`;
|
|
721
|
+
changed = true;
|
|
722
|
+
}
|
|
723
|
+
if (changed) {
|
|
724
|
+
if (!dryRun) {
|
|
725
|
+
await writeFile(path.join(root, 'package.json'), `${JSON.stringify({ ...manifest, scripts, devDependencies: dev }, null, 2)}\n`);
|
|
726
|
+
}
|
|
727
|
+
written.push('package.json');
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
return {
|
|
731
|
+
relativePath: '.',
|
|
732
|
+
files: written.sort(),
|
|
733
|
+
skipped: written.length === 0,
|
|
734
|
+
unprivated: false,
|
|
735
|
+
missingFiles: false,
|
|
736
|
+
missingAccess: false,
|
|
737
|
+
};
|
|
738
|
+
};
|
|
358
739
|
//# sourceMappingURL=workflows.js.map
|
package/dist/workflows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fairgarden/distribution",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.3",
|
|
4
4
|
"description": "Compose versioned modules into a distribution, and extend one distribution from another",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,11 +20,21 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"bin": {
|
|
23
|
-
"fg-dist": "
|
|
23
|
+
"fg-dist": "dist/cli.js"
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
"dist"
|
|
27
27
|
],
|
|
28
|
+
"scripts": {
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"dev": "tsc --watch --preserveWatchOutput",
|
|
31
|
+
"lint": "eslint",
|
|
32
|
+
"test": "node --test test/*.test.js",
|
|
33
|
+
"canary": "node dist/cli.js canary",
|
|
34
|
+
"release": "node dist/cli.js release",
|
|
35
|
+
"release:check": "node dist/cli.js release --check",
|
|
36
|
+
"changelog": "node dist/cli.js changelog"
|
|
37
|
+
},
|
|
28
38
|
"dependencies": {
|
|
29
39
|
"@babel/parser": "^7.29.9",
|
|
30
40
|
"mdast-util-from-markdown": "^2.0.3",
|
|
@@ -39,13 +49,5 @@
|
|
|
39
49
|
"eslint": "^9.39.5",
|
|
40
50
|
"typescript": "^6.0.3"
|
|
41
51
|
},
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
"dev": "tsc --watch --preserveWatchOutput",
|
|
45
|
-
"lint": "eslint",
|
|
46
|
-
"test": "node --test test/*.test.js",
|
|
47
|
-
"canary": "node dist/cli.js canary",
|
|
48
|
-
"release": "node dist/cli.js release",
|
|
49
|
-
"release:check": "node dist/cli.js release --check"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
+
"packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48"
|
|
53
|
+
}
|