@tomradex/repos 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Repos, ReposConfig, BranchInUseError, CheckoutUnsetError, HubUnsetError, type CheckoutSelection, type CheckoutView, type FolderRepo, type MissingWorkdir, type WorkdirView } from "./service.js";
1
+ export { Repos, ReposConfig, BranchInUseError, CheckoutUnsetError, HubUnsetError, RepoPathOutsideError, type CheckoutSelection, type CheckoutView, type FolderRepo, type MissingWorkdir, type WorkdirView } from "./service.js";
2
2
  export { isLocalRemote, normalizeRemote, remoteIdentity, sameRepository, serverHost, sshHostName, type RemoteIdentity } from "./remotes.js";
3
3
  export { Repos as default } from "./service.js";
4
4
  //# sourceMappingURL=index.d.ts.map
package/dist/service.d.ts CHANGED
@@ -36,6 +36,10 @@ export interface FolderRepo {
36
36
  local: boolean;
37
37
  /** The project already had this repository; the folder became its checkout. */
38
38
  existing: boolean;
39
+ /** The folder was not a repository: Tomrade ran git init in it. */
40
+ initialised: boolean;
41
+ /** Files committed because the repository had no commit yet; 0 when it already had one. */
42
+ committed: number;
39
43
  }
40
44
  export interface WorkdirView {
41
45
  repo: Repo;
@@ -84,6 +88,12 @@ export declare class HubUnsetError extends Error {
84
88
  constructor();
85
89
  }
86
90
  /** git keeps a branch in one worktree at a time, and another worktree already has this one. */
91
+ /** The workstream's folder is a place on this machine outside the checkout: only a folder in the repository can be run in. */
92
+ export declare class RepoPathOutsideError extends Error {
93
+ readonly repoPath: string;
94
+ readonly checkout: string;
95
+ constructor(repoPath: string, checkout: string);
96
+ }
87
97
  export declare class BranchInUseError extends Error {
88
98
  readonly branch: string;
89
99
  readonly at: string;
@@ -117,9 +127,18 @@ export declare class Repos extends Service implements ReposReader {
117
127
  * A folder chosen as a repository. Its origin, when it has one, is the
118
128
  * identity, and a row already naming it under any spelling is reused. With
119
129
  * no origin the folder itself is the repository, local to this machine until
120
- * it gains one (see adoptOrigins). The folder is only read.
130
+ * it gains one (see adoptOrigins). A folder that is not a repository yet
131
+ * becomes one here, and a repository with nothing committed gets its first
132
+ * commit: worktrees, scans and merges all need a default branch to stand on.
121
133
  */
122
134
  addFromFolder(projectId: string, rawDir: string): Promise<FolderRepo>;
135
+ /**
136
+ * A repository with no commit has no branch to scan, branch from or merge
137
+ * into. What its working tree holds becomes the first commit, as the user's
138
+ * .gitignore says; a folder without one still keeps dependency and cache
139
+ * folders out, through .git/info/exclude so no file of theirs is written.
140
+ */
141
+ private commitUnborn;
123
142
  /** Where a folder's branches start: origin's HEAD, else main or master, else whatever is checked out. */
124
143
  private trunkOf;
125
144
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tomradex/repos",
3
- "version": "0.18.0",
3
+ "version": "0.20.0",
4
4
  "type": "module",
5
5
  "author": "Haoyuan Tang",
6
6
  "engines": {
@@ -27,15 +27,15 @@
27
27
  "dist"
28
28
  ],
29
29
  "dependencies": {
30
- "@tomradex/boards": "0.18.0",
31
- "@tomradex/contracts": "0.18.0",
32
- "@tomradex/db": "0.18.0",
33
- "@tomradex/domain": "0.2.26",
34
- "@tomradex/git": "0.18.0",
35
- "@tomradex/hub": "0.18.0",
36
- "@tomradex/ipc": "0.18.0",
37
- "@tomradex/storage": "0.18.0",
38
- "@tomradex/tools": "0.18.0",
30
+ "@tomradex/boards": "0.20.0",
31
+ "@tomradex/contracts": "0.20.0",
32
+ "@tomradex/db": "0.20.0",
33
+ "@tomradex/domain": "0.2.28",
34
+ "@tomradex/git": "0.20.0",
35
+ "@tomradex/hub": "0.20.0",
36
+ "@tomradex/ipc": "0.20.0",
37
+ "@tomradex/storage": "0.20.0",
38
+ "@tomradex/tools": "0.20.0",
39
39
  "cordis": "4.0.0-rc.8",
40
40
  "zod": "^4.4.3"
41
41
  }