@tinyrack/dotweave 0.44.0 → 0.45.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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAmCxD,QAAA,MAAM,WAAW,qDAkGf,CAAC;AAEH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAmCxD,QAAA,MAAM,WAAW,qDA2Gf,CAAC;AAEH,eAAe,WAAW,CAAC"}
package/dist/cli/init.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { readFile } from "node:fs/promises";
1
2
  import { buildCommand } from "@stricli/core";
2
3
  import { resolveDefaultIdentityFile } from "#app/config/identity-file.ts";
3
4
  import { resolveDotweaveHomeDirectoryFromEnv } from "#app/config/runtime-env.ts";
@@ -23,17 +24,23 @@ const formatAgeSummary = (result) => {
23
24
  const initCommand = buildCommand({
24
25
  docs: {
25
26
  brief: "Initialize the git-backed sync directory",
26
- fullDescription: "Create or connect the local dotweave repository under your dotweave app-data directory, then store the sync settings used by later pull and push operations. If you omit the repository argument, dotweave initializes a local git repository in the sync directory.",
27
+ fullDescription: "Create or connect the local dotweave repository under your dotweave app-data directory, then store the sync settings used by later pull and push operations. If local sync repository data already exists, init fails unless --force is provided. If you omit the repository argument, dotweave initializes a local git repository in the sync directory.",
27
28
  },
28
29
  async func(flags, repository) {
29
30
  const logger = createCliLogger();
30
- const requestedKey = flags.key?.trim();
31
+ const keyFileContents = flags.keyFile === undefined
32
+ ? undefined
33
+ : await readFile(flags.keyFile, "utf8");
34
+ const requestedKey = keyFileContents?.trim() || undefined;
35
+ const keyFileProvided = flags.keyFile !== undefined;
31
36
  const identityFile = resolveDefaultIdentityFile(resolveDotweaveHomeDirectoryFromEnv());
32
37
  const identityFileExists = await pathExists(identityFile);
38
+ const effectiveIdentityFileExists = flags.force === true ? false : identityFileExists;
33
39
  const importingRepository = repository !== undefined && repository.trim() !== "";
34
40
  const shouldPrompt = requestedKey === undefined &&
35
- !identityFileExists &&
36
- ((flags.promptKey ?? false) || importingRepository);
41
+ !keyFileProvided &&
42
+ !effectiveIdentityFileExists &&
43
+ importingRepository;
37
44
  const promptedKey = shouldPrompt
38
45
  ? await ask(importingRepository
39
46
  ? "Enter the age private key for the existing repository: "
@@ -54,10 +61,11 @@ const initCommand = buildCommand({
54
61
  : trimmedPromptedKey !== undefined && trimmedPromptedKey !== ""
55
62
  ? trimmedPromptedKey
56
63
  : undefined,
64
+ force: flags.force === true,
57
65
  generateAgeIdentity: !importingRepository &&
58
66
  requestedKey === undefined &&
59
67
  (trimmedPromptedKey === "" ||
60
- (trimmedPromptedKey === undefined && !identityFileExists)),
68
+ (trimmedPromptedKey === undefined && !effectiveIdentityFileExists)),
61
69
  recipients: [],
62
70
  repository,
63
71
  });
@@ -74,17 +82,17 @@ const initCommand = buildCommand({
74
82
  },
75
83
  parameters: {
76
84
  flags: {
77
- key: {
78
- brief: "Persist an age private key into the identity file",
79
- kind: "parsed",
85
+ force: {
86
+ brief: "Replace existing local sync repository, identity, and settings before initializing",
87
+ kind: "boolean",
80
88
  optional: true,
81
- parse: String,
82
- placeholder: "age-private-key",
83
89
  },
84
- promptKey: {
85
- brief: "Prompt to enter an age private key instead of generating one automatically",
86
- kind: "boolean",
90
+ keyFile: {
91
+ brief: "Read an age private key from a file",
92
+ kind: "parsed",
87
93
  optional: true,
94
+ parse: String,
95
+ placeholder: "path",
88
96
  },
89
97
  },
90
98
  positional: {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { DotweaveError } from "#app/lib/error.ts";
2
2
  export type InitRequest = Readonly<{
3
3
  ageIdentity?: string;
4
+ force?: boolean;
4
5
  generateAgeIdentity?: boolean;
5
6
  identityFile?: string;
6
7
  recipients: readonly string[];
@@ -16,5 +17,6 @@ export type InitResult = Readonly<{
16
17
  recipientCount: number;
17
18
  }>;
18
19
  export declare const createMissingRepositoryAgeKeyError: () => DotweaveError;
20
+ export declare const createAlreadyInitializedError: (syncDirectory: string) => DotweaveError;
19
21
  export declare const initializeSyncDirectory: (request: InitRequest) => Promise<InitResult>;
20
22
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAcpE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAKH,eAAO,MAAM,kCAAkC,qBAQ9C,CAAC;AAoJF,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,KACnB,OAAO,CAAC,UAAU,CAuJpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAUpE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAKH,eAAO,MAAM,kCAAkC,qBAQ9C,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,eAAe,MAAM,kBAMlE,CAAC;AAkGF,eAAO,MAAM,uBAAuB,GAClC,SAAS,WAAW,KACnB,OAAO,CAAC,UAAU,CA6IpB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { mkdir, readdir, readFile, writeFile } from "node:fs/promises";
1
+ import { mkdir, readdir, readFile, rm, writeFile } from "node:fs/promises";
2
2
  import { dirname, join } from "node:path";
3
3
  import { AppConstants } from "#app/config/constants.ts";
4
4
  import { formatGlobalDotweaveConfig, readGlobalDotweaveConfig, } from "#app/config/global-config.ts";
@@ -8,7 +8,7 @@ import { createInitialSyncConfig, formatSyncConfig, parseSyncConfig, readSyncCon
8
8
  import { createAgeIdentityFile, readAgeRecipientsFromIdentityFile, writeAgeIdentityFile, } from "#app/lib/crypto.ts";
9
9
  import { DotweaveError, wrapUnknownError } from "#app/lib/error.ts";
10
10
  import { pathExists, writeTextFileAtomically } from "#app/lib/filesystem.ts";
11
- import { initializeRepository, requireGitRepository, verifyIsGitRepository, } from "#app/lib/git.ts";
11
+ import { initializeRepository, verifyIsGitRepository } from "#app/lib/git.ts";
12
12
  import { validateJsoncConfigPath } from "#app/lib/jsonc.ts";
13
13
  import { resolveAgeFromSyncConfig, resolveSyncConfigResolutionContext, resolveSyncPaths, } from "./sync-context.js";
14
14
  const gitAttributesFileName = ".gitattributes";
@@ -16,7 +16,14 @@ const gitAttributesContents = "* -text\n";
16
16
  export const createMissingRepositoryAgeKeyError = () => {
17
17
  return new DotweaveError("Existing repository setup requires an age private key.", {
18
18
  code: "INIT_AGE_IDENTITY_REQUIRED",
19
- hint: "Provide your existing age private key with '--key' or '--promptKey'.",
19
+ hint: "Provide your existing age private key with '--key-file', or enter it when prompted in an interactive terminal.",
20
+ });
21
+ };
22
+ export const createAlreadyInitializedError = (syncDirectory) => {
23
+ return new DotweaveError("Sync directory is already initialized.", {
24
+ code: "INIT_ALREADY_INITIALIZED",
25
+ details: [`Sync directory: ${syncDirectory}`],
26
+ hint: "Use 'dotweave init --force' to replace the local sync repository data.",
20
27
  });
21
28
  };
22
29
  const normalizeRecipients = (recipients) => {
@@ -68,36 +75,6 @@ const resolveInitAgeBootstrap = async (request) => {
68
75
  recipients: normalizeRecipients([...explicitRecipients, recipient]),
69
76
  };
70
77
  };
71
- const assertRecipientMatch = (age, request) => {
72
- if (age === undefined) {
73
- return;
74
- }
75
- const recipients = normalizeRecipients(request.recipients);
76
- if (recipients.length > 0 &&
77
- JSON.stringify(recipients) !==
78
- JSON.stringify(normalizeRecipients([...age.recipients]))) {
79
- throw new DotweaveError("Sync configuration already exists with different age recipients.", {
80
- code: "INIT_RECIPIENT_MISMATCH",
81
- details: [
82
- `Requested recipients: ${recipients.join(", ") || "(none)"}`,
83
- `Configured recipients: ${normalizeRecipients([...age.recipients]).join(", ")}`,
84
- ],
85
- hint: `Use the existing recipients, or update ${AppConstants.SYNC.CONFIG_FILE_NAME} manually if you intend to rotate recipients.`,
86
- });
87
- }
88
- };
89
- const buildAlreadyInitializedResult = (config, base) => {
90
- const age = config.age !== undefined ? resolveAgeFromSyncConfig(config.age) : undefined;
91
- return {
92
- alreadyInitialized: true,
93
- entryCount: config.entries.length,
94
- gitAction: base.gitAction,
95
- ...(base.gitSource === undefined ? {} : { gitSource: base.gitSource }),
96
- generatedIdentity: false,
97
- identityFile: age?.identityFile ?? "",
98
- recipientCount: age?.recipients.length ?? 0,
99
- };
100
- };
101
78
  const writeGlobalSettings = async (globalConfigPath) => {
102
79
  const existingGlobalConfig = await readGlobalDotweaveConfig(globalConfigPath);
103
80
  const globalConfigToWrite = {
@@ -120,9 +97,14 @@ const ensureManagedRepositoryAttributes = async (syncDirectory) => {
120
97
  export const initializeSyncDirectory = async (request) => {
121
98
  const { syncDirectory, configPath, globalConfigPath } = resolveSyncPaths();
122
99
  const context = resolveSyncConfigResolutionContext();
100
+ const identityFile = resolveDefaultIdentityFile(resolveDotweaveHomeDirectoryFromEnv());
101
+ if (request.force === true) {
102
+ await rm(syncDirectory, { force: true, recursive: true });
103
+ await rm(identityFile, { force: true });
104
+ await rm(globalConfigPath, { force: true });
105
+ }
123
106
  const resolvedConfigPath = await validateJsoncConfigPath(configPath);
124
107
  const configExists = await pathExists(resolvedConfigPath);
125
- const identityFile = resolveDefaultIdentityFile(resolveDotweaveHomeDirectoryFromEnv());
126
108
  const importingRepository = request.repository !== undefined && request.repository.trim() !== "";
127
109
  if (importingRepository &&
128
110
  request.ageIdentity === undefined &&
@@ -130,14 +112,7 @@ export const initializeSyncDirectory = async (request) => {
130
112
  throw createMissingRepositoryAgeKeyError();
131
113
  }
132
114
  if (configExists) {
133
- await requireGitRepository(syncDirectory);
134
- await ensureManagedRepositoryAttributes(syncDirectory);
135
- const config = await readSyncConfig(syncDirectory, context);
136
- assertRecipientMatch(config.age, request);
137
- await resolveInitAgeBootstrap(request);
138
- return buildAlreadyInitializedResult(config, {
139
- gitAction: "existing",
140
- });
115
+ throw createAlreadyInitializedError(syncDirectory);
141
116
  }
142
117
  await mkdir(dirname(syncDirectory), {
143
118
  recursive: true,
@@ -190,12 +165,6 @@ export const initializeSyncDirectory = async (request) => {
190
165
  if (await pathExists(await validateJsoncConfigPath(configPath))) {
191
166
  const config = await readSyncConfig(syncDirectory, context);
192
167
  const ageBootstrap = await resolveInitAgeBootstrap(request);
193
- if (configExists) {
194
- return buildAlreadyInitializedResult(config, {
195
- gitAction,
196
- gitSource,
197
- });
198
- }
199
168
  await writeGlobalSettings(globalConfigPath);
200
169
  const age = config.age !== undefined
201
170
  ? resolveAgeFromSyncConfig(config.age)
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinyrack/dotweave",
3
- "version": "0.44.0",
3
+ "version": "0.45.0",
4
4
  "description": "A personal CLI tool for git-backed configuration sync.",
5
5
  "type": "module",
6
6
  "license": "MIT",