@commentray/core 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/approval-flow-grid.d.ts +25 -0
- package/dist/approval-flow-grid.d.ts.map +1 -0
- package/dist/approval-flow-grid.js +274 -0
- package/dist/approval-flow-grid.js.map +1 -0
- package/dist/block-scroll-pickers.d.ts +42 -0
- package/dist/block-scroll-pickers.d.ts.map +1 -1
- package/dist/block-scroll-pickers.js +183 -14
- package/dist/block-scroll-pickers.js.map +1 -1
- package/dist/browse-contract.d.ts +16 -0
- package/dist/browse-contract.d.ts.map +1 -0
- package/dist/browse-contract.js +8 -0
- package/dist/browse-contract.js.map +1 -0
- package/dist/browse-path-default.d.ts +4 -0
- package/dist/browse-path-default.d.ts.map +1 -0
- package/dist/browse-path-default.js +6 -0
- package/dist/browse-path-default.js.map +1 -0
- package/dist/buffering-flow-synchronizer-approval-printer.d.ts +44 -0
- package/dist/buffering-flow-synchronizer-approval-printer.d.ts.map +1 -0
- package/dist/buffering-flow-synchronizer-approval-printer.js +864 -0
- package/dist/buffering-flow-synchronizer-approval-printer.js.map +1 -0
- package/dist/buffering-flow-synchronizer.d.ts +28 -0
- package/dist/buffering-flow-synchronizer.d.ts.map +1 -0
- package/dist/buffering-flow-synchronizer.js +193 -0
- package/dist/buffering-flow-synchronizer.js.map +1 -0
- package/dist/commentray-static-browse-path.d.ts +9 -0
- package/dist/commentray-static-browse-path.d.ts.map +1 -0
- package/dist/commentray-static-browse-path.js +65 -0
- package/dist/commentray-static-browse-path.js.map +1 -0
- package/dist/config.d.ts +15 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +16 -0
- package/dist/config.js.map +1 -1
- package/dist/height-adjustable.d.ts +25 -0
- package/dist/height-adjustable.d.ts.map +1 -0
- package/dist/height-adjustable.js +2 -0
- package/dist/height-adjustable.js.map +1 -0
- package/dist/index.d.ts +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +1 -13
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +2 -24
- package/dist/paths.js.map +1 -1
- package/dist/repo-relative-path.d.ts +18 -0
- package/dist/repo-relative-path.d.ts.map +1 -0
- package/dist/repo-relative-path.js +29 -0
- package/dist/repo-relative-path.js.map +1 -0
- package/dist/scroll-sync.d.ts +2 -2
- package/dist/scroll-sync.d.ts.map +1 -1
- package/dist/scroll-sync.js +26 -5
- package/dist/scroll-sync.js.map +1 -1
- package/package.json +11 -2
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC9E,YAAY,EACV,oBAAoB,EACpB,UAAU,EACV,wBAAwB,EACxB,YAAY,EACZ,6CAA6C,EAC7C,8CAA8C,GAC/C,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,wCAAwC,GACzC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,wCAAwC,EACxC,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EACL,oCAAoC,EACpC,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,6BAA6B,EAC7B,kCAAkC,GACnC,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,9 +5,11 @@ export { applyAnglesFlatMigrationToCommentrayToml, ensureAnglesSentinelFile, ups
|
|
|
5
5
|
export { defaultAngleIdForOpen, FALLBACK_DEFAULT_ANGLE_ID, resolveCommentrayMarkdownPath, } from "./commentray-path-resolution.js";
|
|
6
6
|
export { commentrayAnglesLayoutEnabled, commentrayAnglesSentinelPath, commentrayMarkdownPath, commentrayMarkdownPathForAngle, defaultMetadataIndexPath, normalizeRepoRelativePath, resolvePathUnderRepoRoot, } from "./paths.js";
|
|
7
7
|
export { findMonorepoPackagesDir, monorepoLayoutStartDir } from "./monorepo-layout.js";
|
|
8
|
+
export { defaultCommentrayStaticBrowsePathResolver } from "./browse-path-default.js";
|
|
9
|
+
export { staticBrowseIndexRelPathFromPair } from "./commentray-static-browse-path.js";
|
|
8
10
|
export { commentrayPairSourceFileExistsOnDisk, discoverCommentrayPairsOnDisk, pairFromCommentraySourceRel, } from "./commentray-disk-pairs.js";
|
|
9
11
|
export { collectOrphanCompanionMarkdownTargets, orphanCompanionCleanupAbsPath, pruneOrphanCompanionMarkdown, } from "./orphan-companion-markdown.js";
|
|
10
|
-
export { loadCommentrayConfig, mergeCommentrayConfig } from "./config.js";
|
|
12
|
+
export { DEFAULT_STRETCH_BUFFER_SYNC, loadCommentrayConfig, mergeCommentrayConfig, } from "./config.js";
|
|
11
13
|
export { githubRepoBlobFileUrl, parseGithubRepoWebUrl } from "./github-url.js";
|
|
12
14
|
export { assertValidIndex, emptyIndex } from "./metadata.js";
|
|
13
15
|
export { describeIndexSchemaRemediation } from "./index-schema-messages.js";
|
|
@@ -19,9 +21,12 @@ export { applyPathRenamesToCommentrayIndex, inferAngleIdFromCommentrayPath, } fr
|
|
|
19
21
|
export { diagnoseBlock } from "./staleness.js";
|
|
20
22
|
export { readIndex, refreshIndexMigrationsOnDisk, validateProject, writeIndex, } from "./validate-project.js";
|
|
21
23
|
export { plannedSymbolResolutionStrategy } from "./language-intelligence.js";
|
|
24
|
+
export { BufferingFlowSynchronizer, NON_SYNC_TAIL_SLACK_ITEM_ID, } from "./buffering-flow-synchronizer.js";
|
|
25
|
+
export { APPROVAL_GRID_STANDARD, APPROVAL_HUMAN_BREAK_ROW, approvalHumanBreakFullRow, inferApprovalGridFormatFromAscii, printApprovalFlowSection, printApprovalSynchronizedFlow, } from "./buffering-flow-synchronizer-approval-printer.js";
|
|
26
|
+
export { parseApprovalFlowSections, parseApprovalFlowSectionsWithFormat, parseApprovalRows, splitApprovalLineToCells, } from "./approval-flow-grid.js";
|
|
22
27
|
export { relocationHintMessages } from "./relocation-hints.js";
|
|
23
28
|
export { runCommanderMain } from "./cli-bootstrap.js";
|
|
24
|
-
export { buildBlockScrollLinks, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, } from "./scroll-sync.js";
|
|
29
|
+
export { blockStrictlyContainingSourceViewportLine, buildBlockScrollLinks, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./scroll-sync.js";
|
|
25
30
|
export { commentrayRegionInsertions, lineCommentLeaderForLanguage, markerViewportHalfOpen1Based, parseCommentrayRegionBoundary, sourceLineRangeForMarkerId, } from "./source-markers.js";
|
|
26
31
|
export { CallbackRegionMarkerNamingStrategy, CodeStructureHintStrategy, CompositeRegionMarkerNamingStrategy, defaultRegionMarkerNamingStrategy, EnclosingSymbolHintStrategy, MarkdownHeadingHintStrategy, TomlTableHeaderHintStrategy, tryCodeStructureNameHint, tryMarkdownHeadingTitleAbove, tryNormaliseContextLabelToMarkerId, tryTomlTablePathAboveSelection, } from "./region-marker-naming.js";
|
|
27
32
|
export { convertCommentraySourceMarkersToLanguage, findCommentrayMarkerPairs, leadingIndentOfLine, } from "./region-marker-convert.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAS9E,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,wCAAwC,GACzC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,wCAAwC,EACxC,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/paths.d.ts
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Normalize a repo-relative path to POSIX separators and reject anything that
|
|
3
|
-
* would escape the repository root when joined with it.
|
|
4
|
-
*
|
|
5
|
-
* Rejects:
|
|
6
|
-
* - Windows drive letters (e.g. `C:\foo`).
|
|
7
|
-
* - `..` path segments, which would let a config value or CLI argument walk
|
|
8
|
-
* out of the repo root.
|
|
9
|
-
*
|
|
10
|
-
* Accepts filenames that merely *contain* dots like `..name.ts`; only whole
|
|
11
|
-
* `..` segments are traversal.
|
|
12
|
-
*/
|
|
13
|
-
export declare function normalizeRepoRelativePath(relativePath: string): string;
|
|
1
|
+
export { normalizeRepoRelativePath } from "./repo-relative-path.js";
|
|
14
2
|
/**
|
|
15
3
|
* Resolve `repoRelative` under `repoRootAbs` after {@link normalizeRepoRelativePath} validation,
|
|
16
4
|
* then assert the absolute path cannot escape `repoRootAbs` (defense in depth for index or
|
package/dist/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAS1F;AAED,sGAAsG;AACtG,wBAAgB,sBAAsB,CACpC,sBAAsB,EAAE,MAAM,EAC9B,UAAU,SAAgB,GACzB,MAAM,CAIR;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,SAAgB,GAAG,MAAM,CAG/E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,UAAU,SAAgB,GACzB,OAAO,CAIT;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,sBAAsB,EAAE,MAAM,EAC9B,OAAO,EAAE,MAAM,EACf,UAAU,SAAgB,GACzB,MAAM,CAKR;AAED,uDAAuD;AACvD,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD"}
|
package/dist/paths.js
CHANGED
|
@@ -1,30 +1,8 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { assertValidAngleId } from "./angles.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* would escape the repository root when joined with it.
|
|
7
|
-
*
|
|
8
|
-
* Rejects:
|
|
9
|
-
* - Windows drive letters (e.g. `C:\foo`).
|
|
10
|
-
* - `..` path segments, which would let a config value or CLI argument walk
|
|
11
|
-
* out of the repo root.
|
|
12
|
-
*
|
|
13
|
-
* Accepts filenames that merely *contain* dots like `..name.ts`; only whole
|
|
14
|
-
* `..` segments are traversal.
|
|
15
|
-
*/
|
|
16
|
-
export function normalizeRepoRelativePath(relativePath) {
|
|
17
|
-
const posix = relativePath.replaceAll("\\", "/");
|
|
18
|
-
if (/^[a-zA-Z]:\//.test(posix)) {
|
|
19
|
-
throw new Error(`Path must be repository-relative (got absolute: ${relativePath})`);
|
|
20
|
-
}
|
|
21
|
-
const stripped = posix.replace(/^\/+/, "");
|
|
22
|
-
const segments = stripped.split("/").filter((s) => s !== "" && s !== ".");
|
|
23
|
-
if (segments.some((s) => s === "..")) {
|
|
24
|
-
throw new Error(`Path escapes repository root: ${relativePath}`);
|
|
25
|
-
}
|
|
26
|
-
return segments.join("/");
|
|
27
|
-
}
|
|
4
|
+
import { normalizeRepoRelativePath } from "./repo-relative-path.js";
|
|
5
|
+
export { normalizeRepoRelativePath } from "./repo-relative-path.js";
|
|
28
6
|
/**
|
|
29
7
|
* Resolve `repoRelative` under `repoRootAbs` after {@link normalizeRepoRelativePath} validation,
|
|
30
8
|
* then assert the absolute path cannot escape `repoRootAbs` (defense in depth for index or
|
package/dist/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,YAAoB;IAChF,MAAM,GAAG,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,yCAAyC,YAAY,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,sBAAsB,CACpC,sBAA8B,EAC9B,UAAU,GAAG,aAAa;IAE1B,MAAM,UAAU,GAAG,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,UAAU,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAAU,GAAG,aAAa;IACrE,MAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAAgB,EAChB,UAAU,GAAG,aAAa;IAE1B,MAAM,QAAQ,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,sBAA8B,EAC9B,OAAe,EACf,UAAU,GAAG,aAAa;IAE1B,MAAM,UAAU,GAAG,yBAAyB,CAAC,sBAAsB,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure path normalization for repo-relative strings (no filesystem).
|
|
3
|
+
* Kept separate from {@link ./paths.js} so browser bundles can import browse-path logic without `node:fs`.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Normalize a repo-relative path to POSIX separators and reject anything that
|
|
7
|
+
* would escape the repository root when joined with it.
|
|
8
|
+
*
|
|
9
|
+
* Rejects:
|
|
10
|
+
* - Windows drive letters (e.g. `C:\foo`).
|
|
11
|
+
* - `..` path segments, which would let a config value or CLI argument walk
|
|
12
|
+
* out of the repo root.
|
|
13
|
+
*
|
|
14
|
+
* Accepts filenames that merely *contain* dots like `..name.ts`; only whole
|
|
15
|
+
* `..` segments are traversal.
|
|
16
|
+
*/
|
|
17
|
+
export declare function normalizeRepoRelativePath(relativePath: string): string;
|
|
18
|
+
//# sourceMappingURL=repo-relative-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-relative-path.d.ts","sourceRoot":"","sources":["../src/repo-relative-path.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAWtE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure path normalization for repo-relative strings (no filesystem).
|
|
3
|
+
* Kept separate from {@link ./paths.js} so browser bundles can import browse-path logic without `node:fs`.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Normalize a repo-relative path to POSIX separators and reject anything that
|
|
7
|
+
* would escape the repository root when joined with it.
|
|
8
|
+
*
|
|
9
|
+
* Rejects:
|
|
10
|
+
* - Windows drive letters (e.g. `C:\foo`).
|
|
11
|
+
* - `..` path segments, which would let a config value or CLI argument walk
|
|
12
|
+
* out of the repo root.
|
|
13
|
+
*
|
|
14
|
+
* Accepts filenames that merely *contain* dots like `..name.ts`; only whole
|
|
15
|
+
* `..` segments are traversal.
|
|
16
|
+
*/
|
|
17
|
+
export function normalizeRepoRelativePath(relativePath) {
|
|
18
|
+
const posix = relativePath.replaceAll("\\", "/");
|
|
19
|
+
if (/^[a-zA-Z]:\//.test(posix)) {
|
|
20
|
+
throw new Error(`Path must be repository-relative (got absolute: ${relativePath})`);
|
|
21
|
+
}
|
|
22
|
+
const stripped = posix.replace(/^\/+/, "");
|
|
23
|
+
const segments = stripped.split("/").filter((s) => s !== "" && s !== ".");
|
|
24
|
+
if (segments.some((s) => s === "..")) {
|
|
25
|
+
throw new Error(`Path escapes repository root: ${relativePath}`);
|
|
26
|
+
}
|
|
27
|
+
return segments.join("/");
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=repo-relative-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-relative-path.js","sourceRoot":"","sources":["../src/repo-relative-path.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAAoB;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,YAAY,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1E,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC"}
|
package/dist/scroll-sync.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BlockScrollLink } from "./block-scroll-pickers.js";
|
|
2
2
|
import type { CommentrayIndex } from "./model.js";
|
|
3
|
-
export type { BlockScrollLink } from "./block-scroll-pickers.js";
|
|
4
|
-
export { pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, } from "./block-scroll-pickers.js";
|
|
3
|
+
export type { BlockScrollLink, BlockScrollStickyState } from "./block-scroll-pickers.js";
|
|
4
|
+
export { blockStrictlyContainingSourceViewportLine, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./block-scroll-pickers.js";
|
|
5
5
|
/**
|
|
6
6
|
* Correlate index blocks with `<!-- commentray:block id=… -->` markers in
|
|
7
7
|
* commentray. Supports legacy `lines:` anchors and `marker:` anchors (the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-sync.d.ts","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"scroll-sync.d.ts","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EACL,yCAAyC,EACzC,qCAAqC,EACrC,4CAA4C,EAC5C,wCAAwC,EACxC,sCAAsC,EACtC,sDAAsD,EACtD,uCAAuC,EACvC,kDAAkD,EAClD,iCAAiC,EACjC,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,2BAA2B,CAAC;AAoCnC;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACzC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,EAAE,CA0CnB"}
|
package/dist/scroll-sync.js
CHANGED
|
@@ -2,7 +2,7 @@ import { parseAnchor } from "./anchors.js";
|
|
|
2
2
|
import { MARKER_ID_BODY } from "./marker-ids.js";
|
|
3
3
|
import { normalizeRepoRelativePath } from "./paths.js";
|
|
4
4
|
import { markerViewportHalfOpen1Based, sourceLineRangeForMarkerId } from "./source-markers.js";
|
|
5
|
-
export { pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, } from "./block-scroll-pickers.js";
|
|
5
|
+
export { blockStrictlyContainingSourceViewportLine, commentrayProbeInStrictInterMarkerGap, DEFAULT_COMMENTRAY_VIEWPORT_HYSTERESIS_LINES, DEFAULT_SOURCE_VIEWPORT_HYSTERESIS_LINES, pickBlockScrollLinkForCommentrayScroll, pickBlockScrollLinkForCommentrayViewportWithHysteresis, pickBlockScrollLinkForSourceViewportTop, pickBlockScrollLinkForSourceViewportWithHysteresis, pickCommentrayLineForSourceScroll, pickSourceLine0ForCommentrayScroll, sourceTopLineStrictlyBeforeFirstIndexLine, } from "./block-scroll-pickers.js";
|
|
6
6
|
const BLOCK_MARKER_RE = new RegExp(`<!-- commentray:block id=(${MARKER_ID_BODY}) -->`);
|
|
7
7
|
function markerLineByIdFromMarkdown(markdown) {
|
|
8
8
|
const map = new Map();
|
|
@@ -14,6 +14,26 @@ function markerLineByIdFromMarkdown(markdown) {
|
|
|
14
14
|
}
|
|
15
15
|
return map;
|
|
16
16
|
}
|
|
17
|
+
function buildMarkerFallbackLinks(markerLineById, sourceText) {
|
|
18
|
+
if (sourceText === undefined || markerLineById.size === 0)
|
|
19
|
+
return [];
|
|
20
|
+
const links = [];
|
|
21
|
+
for (const [id, commentrayLine] of markerLineById) {
|
|
22
|
+
const range = sourceLineRangeForMarkerId(sourceText, id);
|
|
23
|
+
const mv = markerViewportHalfOpen1Based(sourceText, id);
|
|
24
|
+
if (range === null || mv === null)
|
|
25
|
+
continue;
|
|
26
|
+
links.push({
|
|
27
|
+
id,
|
|
28
|
+
commentrayLine,
|
|
29
|
+
sourceStart: range.start,
|
|
30
|
+
sourceEnd: range.end,
|
|
31
|
+
markerViewportHalfOpen1Based: mv,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
links.sort((a, b) => a.sourceStart - b.sourceStart);
|
|
35
|
+
return links;
|
|
36
|
+
}
|
|
17
37
|
/**
|
|
18
38
|
* Correlate index blocks with `<!-- commentray:block id=… -->` markers in
|
|
19
39
|
* commentray. Supports legacy `lines:` anchors and `marker:` anchors (the
|
|
@@ -21,14 +41,15 @@ function markerLineByIdFromMarkdown(markdown) {
|
|
|
21
41
|
* Sorted by `sourceStart`.
|
|
22
42
|
*/
|
|
23
43
|
export function buildBlockScrollLinks(index, sourceRelative, commentrayPath, commentrayMarkdown, sourceText) {
|
|
44
|
+
const markerLineById = markerLineByIdFromMarkdown(commentrayMarkdown);
|
|
24
45
|
const entry = index?.byCommentrayPath[commentrayPath];
|
|
25
|
-
if (!entry || entry.sourcePath !== sourceRelative || entry.blocks.length === 0)
|
|
26
|
-
return
|
|
46
|
+
if (!entry || entry.sourcePath !== sourceRelative || entry.blocks.length === 0) {
|
|
47
|
+
return buildMarkerFallbackLinks(markerLineById, sourceText);
|
|
48
|
+
}
|
|
27
49
|
const entryCrNorm = normalizeRepoRelativePath(entry.commentrayPath.replaceAll("\\", "/"));
|
|
28
50
|
const lookupCrNorm = normalizeRepoRelativePath(commentrayPath.replaceAll("\\", "/"));
|
|
29
51
|
if (entryCrNorm !== lookupCrNorm)
|
|
30
|
-
return
|
|
31
|
-
const markerLineById = markerLineByIdFromMarkdown(commentrayMarkdown);
|
|
52
|
+
return buildMarkerFallbackLinks(markerLineById, sourceText);
|
|
32
53
|
const links = [];
|
|
33
54
|
for (const block of entry.blocks) {
|
|
34
55
|
const anchor = parseAnchor(block.anchor);
|
package/dist/scroll-sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-sync.js","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAG/F,OAAO,EACL,iCAAiC,EACjC,kCAAkC,
|
|
1
|
+
{"version":3,"file":"scroll-sync.js","sourceRoot":"","sources":["../src/scroll-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAG/F,OAAO,EACL,yCAAyC,EACzC,qCAAqC,EACrC,4CAA4C,EAC5C,wCAAwC,EACxC,sCAAsC,EACtC,sDAAsD,EACtD,uCAAuC,EACvC,kDAAkD,EAClD,iCAAiC,EACjC,kCAAkC,EAClC,yCAAyC,GAC1C,MAAM,2BAA2B,CAAC;AAEnC,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,6BAA6B,cAAc,OAAO,CAAC,CAAC;AAEvF,SAAS,0BAA0B,CAAC,QAAgB;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,wBAAwB,CAC/B,cAAmC,EACnC,UAA8B;IAE9B,IAAI,UAAU,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrE,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,cAAc,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,0BAA0B,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,4BAA4B,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;YAAE,SAAS;QAC5C,KAAK,CAAC,IAAI,CAAC;YACT,EAAE;YACF,cAAc;YACd,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,SAAS,EAAE,KAAK,CAAC,GAAG;YACpB,4BAA4B,EAAE,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAyC,EACzC,cAAsB,EACtB,cAAsB,EACtB,kBAA0B,EAC1B,UAAmB;IAEnB,MAAM,cAAc,GAAG,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/E,OAAO,wBAAwB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1F,MAAM,YAAY,GAAG,yBAAyB,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACrF,IAAI,WAAW,KAAK,YAAY;QAAE,OAAO,wBAAwB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,cAAc,KAAK,SAAS;YAAE,SAAS;QAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,cAAc;gBACd,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;gBAC/B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;gBAC3B,4BAA4B,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE;aAClD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,UAAU,KAAK,SAAS;gBAAE,SAAS;YACvC,MAAM,KAAK,GAAG,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;gBAAE,SAAS;YAC5C,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,cAAc;gBACd,WAAW,EAAE,KAAK,CAAC,KAAK;gBACxB,SAAS,EAAE,KAAK,CAAC,GAAG;gBACpB,4BAA4B,EAAE,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commentray/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
"./block-scroll-pickers": {
|
|
19
19
|
"types": "./dist/block-scroll-pickers.d.ts",
|
|
20
20
|
"import": "./dist/block-scroll-pickers.js"
|
|
21
|
+
},
|
|
22
|
+
"./static-browse-path": {
|
|
23
|
+
"types": "./dist/commentray-static-browse-path.d.ts",
|
|
24
|
+
"import": "./dist/commentray-static-browse-path.js"
|
|
25
|
+
},
|
|
26
|
+
"./buffering-flow-synchronizer": {
|
|
27
|
+
"types": "./dist/buffering-flow-synchronizer.d.ts",
|
|
28
|
+
"import": "./dist/buffering-flow-synchronizer.js"
|
|
21
29
|
}
|
|
22
30
|
},
|
|
23
31
|
"files": [
|
|
@@ -32,6 +40,7 @@
|
|
|
32
40
|
"@iarna/toml": "^2.2.5"
|
|
33
41
|
},
|
|
34
42
|
"devDependencies": {
|
|
35
|
-
"@types/node": "^25.6.0"
|
|
43
|
+
"@types/node": "^25.6.0",
|
|
44
|
+
"approvals": "^7.3.0"
|
|
36
45
|
}
|
|
37
46
|
}
|