@valbuild/server 0.146.1 → 0.146.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # @valbuild/server
2
2
 
3
+ ## 0.146.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#877](https://github.com/valbuild/val/pull/877) [`c31f609`](https://github.com/valbuild/val/commit/c31f609fdeed79aa0e139fa4f652ba0684e96ea3) Thanks [@freekh](https://github.com/freekh)! - The Studio has an unlinked page, `/val/adept`, for trying out dependency
8
+ upgrades on a hosted project: it computes a lockfile for the live site's
9
+ `package.json`, previews each kind of upgrade from it, and fetches the type
10
+ declarations and TypeScript compiler a typecheck would load. It only shows
11
+ results; nothing on it is staged or published. Nothing links to it yet.
12
+
13
+ For it, the server now forwards Val Build's `/adept/*` routes for a signed-in
14
+ Studio session: lockfiles, upgrades, their jobs, type bundles and the
15
+ compiler. Like everything else the Studio asks Val Build for, they go with the
16
+ project's own credential, and they are open at a proposal's address too,
17
+ since they publish nothing.
18
+
19
+ - Updated dependencies [[`81f2e80`](https://github.com/valbuild/val/commit/81f2e803c4cefdf58bbe6856c06e98ace95a8e0b), [`59ff6c3`](https://github.com/valbuild/val/commit/59ff6c367bc313b2bb7718b00c1641aaccab949d), [`c31f609`](https://github.com/valbuild/val/commit/c31f609fdeed79aa0e139fa4f652ba0684e96ea3)]:
20
+ - @valbuild/shared@0.146.4
21
+ - @valbuild/ui@0.146.4
22
+
23
+ ## 0.146.2
24
+
25
+ ### Patch Changes
26
+
27
+ - [#871](https://github.com/valbuild/val/pull/871) [`e4913e1`](https://github.com/valbuild/val/commit/e4913e1f1178e09987a7c03fd540909ab4b499b0) Thanks [@freekh](https://github.com/freekh)! - An image, file or video picked from a gallery is checked against the gallery as it is now. Picking one uploaded since the site was built (still unpublished, saved in a proposal, or published without a rebuild) used to fail with "The gallery does not have an image at …" and refuse the save. In a proposal, Save now reads "Fix N" and goes to the validation errors instead of being refused by the server, as Publish does on the site.
28
+
29
+ - [#867](https://github.com/valbuild/val/pull/867) [`04f81ba`](https://github.com/valbuild/val/commit/04f81baeee4a98054c0673ca9fdc34bc5cadacb9) Thanks [@freekh](https://github.com/freekh)! - Publishing a proposal is no longer blocked by other people's unpublished changes
30
+ on the same pages. When Publish is pressed in a proposal, Val works out which of
31
+ those changes conflict with it: those move into a new proposal, named "Moved when
32
+ “…” was published", which the people who wrote them own together; the rest stay
33
+ unpublished on the site, where they were. The Publish dialog says beforehand how
34
+ many changes will move and whose they are.
35
+
36
+ If someone changes those pages while the proposal is being published, the
37
+ publish stops and asks you to press Publish again, so nothing moves on an
38
+ outdated plan.
39
+
40
+ - [#867](https://github.com/valbuild/val/pull/867) [`04f81ba`](https://github.com/valbuild/val/commit/04f81baeee4a98054c0673ca9fdc34bc5cadacb9) Thanks [@freekh](https://github.com/freekh)! - Publish only some of your changes: tick them in Review and press **Publish
41
+ selected**. On a site with proposals, Val moves them into a proposal of their
42
+ own and publishes it straight away; everything else stays unpublished, as it
43
+ was.
44
+
45
+ Some changes cannot be published apart — two edits to the same list, say — so
46
+ the confirm says what comes with your selection and whose it is before anything
47
+ moves. If the site is published while yours is being prepared, nothing is
48
+ published and you are asked to press it again. If publishing stops after the
49
+ changes have moved, they are safe in their proposal, and Review offers to open
50
+ it as well as to try again.
51
+
52
+ - Updated dependencies [[`e4913e1`](https://github.com/valbuild/val/commit/e4913e1f1178e09987a7c03fd540909ab4b499b0), [`04f81ba`](https://github.com/valbuild/val/commit/04f81baeee4a98054c0673ca9fdc34bc5cadacb9), [`04f81ba`](https://github.com/valbuild/val/commit/04f81baeee4a98054c0673ca9fdc34bc5cadacb9), [`04f81ba`](https://github.com/valbuild/val/commit/04f81baeee4a98054c0673ca9fdc34bc5cadacb9)]:
53
+ - @valbuild/core@0.146.2
54
+ - @valbuild/shared@0.146.2
55
+ - @valbuild/ui@0.146.2
56
+
3
57
  ## 0.146.1
4
58
 
5
59
  ### Patch Changes
@@ -956,6 +956,15 @@ export type OrderedPatches = {
956
956
  * reasons.
957
957
  */
958
958
  headVersion?: number;
959
+ /**
960
+ * The branch's last commit, `null` when it has none: what the commits this
961
+ * answer lists bring a build up to at the least, because the content
962
+ * service reads it before them. What Publish selected names as its
963
+ * proposal's base, so a publish landing in between is refused rather than
964
+ * reverted. Only `ValOpsHttp` fills it, and only from an unfiltered read
965
+ * (`fetchPatches` without `patchIds`); absent from an older content service.
966
+ */
967
+ headCommitSha?: string | null;
959
968
  /**
960
969
  * Of these patches, the ones a publish job that is still running holds. A
961
970
  * Studio does not offer Publish over them, on any tab or device. Reported
@@ -986,6 +995,8 @@ export type OrderedPatchesMetadata = {
986
995
  headPatchId?: OrderedPatches["headPatchId"];
987
996
  /** See {@link OrderedPatches.headVersion}. */
988
997
  headVersion?: OrderedPatches["headVersion"];
998
+ /** See {@link OrderedPatches.headCommitSha}. */
999
+ headCommitSha?: OrderedPatches["headCommitSha"];
989
1000
  /** See {@link OrderedPatches.publishingPatches}. */
990
1001
  publishingPatches?: OrderedPatches["publishingPatches"];
991
1002
  /** See {@link OrderedPatches.heldBackPatches}. */
@@ -240,6 +240,16 @@ export declare class ValOpsHttp extends ValOps {
240
240
  * every artifact, and the upload is the slow one.
241
241
  */
242
242
  private currentPublishToken;
243
+ /**
244
+ * adept, through content: lockfiles, upgrades and type bundles, for the
245
+ * Studio's unlinked `/val/adept` page. A job is content's to scope to
246
+ * this project; a name and a version are matched, not passed, so nothing
247
+ * with a `..` reaches another of content's routes.
248
+ *
249
+ * Allowed at a proposal's address too: adept computes and publishes
250
+ * nothing, so there is nothing a proposal's Studio could move on the site.
251
+ */
252
+ private static adeptPathAllowed;
243
253
  /**
244
254
  * The content paths this may reach, and nothing else.
245
255
  *
@@ -323,6 +333,30 @@ export declare class ValOpsHttp extends ValOps {
323
333
  * with their `resolutions` merges.
324
334
  */
325
335
  private updateContentFromSite;
336
+ /**
337
+ * Whether this server says what a merge of `name` moves: at the proposal's
338
+ * own address, whose schemas are the ones it publishes; and on the site, for
339
+ * Publish selected's proposal, which changes no code -- so the site's
340
+ * schemas are its own -- and has no address to be published from.
341
+ */
342
+ private answersMovesFor;
343
+ /** Content's proposals API for one proposal, as the person asking. */
344
+ private proposalContent;
345
+ /**
346
+ * Which of the site's pending changes a merge of this proposal moves
347
+ * (`movesAtMerge`), or `null` when content could not say what is pending:
348
+ * then nothing is claimed, and the site's pending changes block the merge.
349
+ */
350
+ private mergeMovesOf;
351
+ /**
352
+ * The merge checks, with `pending-on-site` answered by what the merge
353
+ * moves rather than by whether anything is pending: the conflicting
354
+ * changes move to a proposal of their own when it is published, and the
355
+ * rest stay, so neither blocks it.
356
+ */
357
+ private mergeChecksWithMoves;
358
+ /** Publish in a proposal, carrying the moves (`MergeBody.moves` in content). */
359
+ private pressMergeWithMoves;
326
360
  /**
327
361
  * Update from the site, for a proposal with code (valbuild/home
328
362
  * `docs/hosted-publishing.md`, step 8.2, slice 1b), at
@@ -474,7 +508,13 @@ export declare class ValOpsHttp extends ValOps {
474
508
  errors?: undefined;
475
509
  deleted?: undefined;
476
510
  }>;
477
- commit(prepared: PreparedCommit, message: string, committer: AuthorId, filesDirectory: string, newBranch?: string): Promise<{
511
+ commit(prepared: PreparedCommit, message: string, committer: AuthorId, filesDirectory: string, newBranch?: string,
512
+ /**
513
+ * A save into this proposal rather than this server's own branch: the
514
+ * site's server saving Publish selected's proposal (`/publish-selected`),
515
+ * which has no address of its own to save from.
516
+ */
517
+ intoProposal?: string): Promise<{
478
518
  isNotFastForward?: boolean;
479
519
  updatedFiles: string[];
480
520
  commit: CommitSha;
@@ -247,6 +247,6 @@ export declare function handleJsonValuesExtractEntry(ctx: FixHandlerContext): Pr
247
247
  */
248
248
  export declare function handleViewCheckModule(ctx: FixHandlerContext): Promise<FixHandlerResult>;
249
249
  export declare function handleExternalUpload(): Promise<FixHandlerResult>;
250
- export declare const currentFixHandlers: Record<Exclude<ValidationFix, "keyof:check-keys" | "router:check-route" | "locale:check-locale" | "record:fill-keys">, FixHandler>;
250
+ export declare const currentFixHandlers: Record<Exclude<ValidationFix, "keyof:check-keys" | "image:check-gallery" | "file:check-gallery" | "video:check-gallery" | "router:check-route" | "locale:check-locale" | "record:fill-keys">, FixHandler>;
251
251
  export declare const fixHandlers: Record<string, FixHandler>;
252
252
  export declare function createDefaultValFSHost(): IValFSHost;