@doist/outline-cli 1.5.2 → 1.5.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.
Files changed (48) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/commands/auth.js +8 -8
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/document.js +3 -3
  5. package/dist/commands/document.js.map +1 -1
  6. package/dist/commands/search.js +16 -11
  7. package/dist/commands/search.js.map +1 -1
  8. package/dist/commands/update/index.d.ts +1 -1
  9. package/dist/commands/update/index.js +11 -14
  10. package/dist/commands/update/index.js.map +1 -1
  11. package/dist/index.js +3 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/api.js +1 -2
  14. package/dist/lib/api.js.map +1 -1
  15. package/dist/lib/auth.d.ts +11 -6
  16. package/dist/lib/auth.js +28 -41
  17. package/dist/lib/auth.js.map +1 -1
  18. package/dist/lib/config.d.ts +15 -0
  19. package/dist/lib/config.js +20 -0
  20. package/dist/lib/config.js.map +1 -0
  21. package/dist/lib/errors.d.ts +6 -0
  22. package/dist/lib/errors.js +8 -0
  23. package/dist/lib/errors.js.map +1 -0
  24. package/dist/lib/global-args.d.ts +4 -0
  25. package/dist/lib/global-args.js +13 -0
  26. package/dist/lib/global-args.js.map +1 -0
  27. package/dist/lib/markdown.d.ts +2 -1
  28. package/dist/lib/markdown.js +10 -5
  29. package/dist/lib/markdown.js.map +1 -1
  30. package/dist/lib/output.d.ts +4 -6
  31. package/dist/lib/output.js +13 -7
  32. package/dist/lib/output.js.map +1 -1
  33. package/dist/lib/skills/content.d.ts +1 -1
  34. package/dist/lib/skills/content.js +2 -0
  35. package/dist/lib/skills/content.js.map +1 -1
  36. package/dist/lib/spinner.d.ts +2 -13
  37. package/dist/lib/spinner.js +4 -55
  38. package/dist/lib/spinner.js.map +1 -1
  39. package/package.json +6 -6
  40. package/dist/commands/update/action.d.ts +0 -4
  41. package/dist/commands/update/action.js +0 -157
  42. package/dist/commands/update/action.js.map +0 -1
  43. package/dist/commands/update/switch.d.ts +0 -4
  44. package/dist/commands/update/switch.js +0 -29
  45. package/dist/commands/update/switch.js.map +0 -1
  46. package/dist/lib/update-config.d.ts +0 -3
  47. package/dist/lib/update-config.js +0 -35
  48. package/dist/lib/update-config.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [1.5.3](https://github.com/Doist/outline-cli/compare/v1.5.2...v1.5.3) (2026-05-11)
2
+
3
+ ### Bug Fixes
4
+
5
+ * `ol --version` shows the wrong version ([#60](https://github.com/Doist/outline-cli/issues/60)) ([3ed8b10](https://github.com/Doist/outline-cli/commit/3ed8b10d19d727c131b87b2dc6939b5ab0b04a09))
6
+
1
7
  ## [1.5.2](https://github.com/Doist/outline-cli/compare/v1.5.1...v1.5.2) (2026-05-09)
2
8
 
3
9
  ### Bug Fixes
@@ -32,7 +32,7 @@ export function registerAuthCommand(program) {
32
32
  .option('--client-id <clientId>', 'OAuth client ID to use for this login (saved for future logins)')
33
33
  .option('--callback-port <port>', `Local OAuth callback port (default: ${DEFAULT_OAUTH_CALLBACK_PORT})`)
34
34
  .action(async (options) => {
35
- const configuredBaseUrl = getBaseUrl();
35
+ const configuredBaseUrl = await getBaseUrl();
36
36
  const optionBaseUrl = options.baseUrl?.trim();
37
37
  const envBaseUrl = process.env.OUTLINE_URL?.trim();
38
38
  let url = optionBaseUrl || envBaseUrl;
@@ -58,7 +58,7 @@ export function registerAuthCommand(program) {
58
58
  callbackPort = parsedPort;
59
59
  }
60
60
  if (options.token) {
61
- saveConfig(options.token.trim(), url, optionClientId);
61
+ await saveConfig(options.token.trim(), url, optionClientId);
62
62
  try {
63
63
  const { data } = await apiRequest('auth.info');
64
64
  console.log(chalk.green(`Authenticated to ${data.team.name} as ${data.user.name}`));
@@ -68,7 +68,7 @@ export function registerAuthCommand(program) {
68
68
  }
69
69
  return;
70
70
  }
71
- const existingClientId = getOAuthClientId();
71
+ const existingClientId = await getOAuthClientId();
72
72
  let clientId = optionClientId || existingClientId;
73
73
  if (!clientId) {
74
74
  const clientIdInput = await prompt('OAuth Client ID: ');
@@ -128,7 +128,7 @@ export function registerAuthCommand(program) {
128
128
  codeVerifier,
129
129
  code,
130
130
  });
131
- saveConfig(token, url, clientId);
131
+ await saveConfig(token, url, clientId);
132
132
  const { data } = await apiRequest('auth.info');
133
133
  console.log(chalk.green(`Authenticated to ${data.team.name} as ${data.user.name}`));
134
134
  }
@@ -145,13 +145,13 @@ export function registerAuthCommand(program) {
145
145
  auth.command('status')
146
146
  .description('Show current authentication state')
147
147
  .action(async () => {
148
- const source = getTokenSource();
148
+ const source = await getTokenSource();
149
149
  if (!source) {
150
150
  console.log(chalk.yellow('Not authenticated. Run: ol auth login'));
151
151
  return;
152
152
  }
153
153
  console.log(chalk.dim(`Token source: ${source}`));
154
- console.log(chalk.dim(`Base URL: ${getBaseUrl()}`));
154
+ console.log(chalk.dim(`Base URL: ${await getBaseUrl()}`));
155
155
  try {
156
156
  const { data } = await apiRequest('auth.info');
157
157
  console.log(`Team: ${chalk.bold(data.team.name)}`);
@@ -168,8 +168,8 @@ export function registerAuthCommand(program) {
168
168
  });
169
169
  auth.command('logout')
170
170
  .description('Clear saved authentication')
171
- .action(() => {
172
- clearConfig();
171
+ .action(async () => {
172
+ await clearConfig();
173
173
  console.log('Logged out.');
174
174
  });
175
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export function registerDocumentCommand(program) {
55
55
  body.collectionId = await resolveCollectionId(opts.collection);
56
56
  }
57
57
  const { data, pagination } = await apiRequest('documents.list', body);
58
- outputList(data, formatDoc, essentialKeys, getOutputOptions(opts), pagination);
58
+ outputList(data, formatDoc, essentialKeys, getOutputOptions(opts), pagination, 'No documents found.');
59
59
  });
60
60
  doc.command('get <id>')
61
61
  .description('Get a document by ID, URL, or name')
@@ -81,14 +81,14 @@ export function registerDocumentCommand(program) {
81
81
  }
82
82
  else {
83
83
  const content = formatDocFull(data);
84
- console.log(opts.raw ? content : renderMarkdown(content));
84
+ console.log(opts.raw ? content : await renderMarkdown(content));
85
85
  }
86
86
  });
87
87
  doc.command('open <id>')
88
88
  .description('Open a document in the browser')
89
89
  .action(async (id) => {
90
90
  const resolved = await resolveDocumentRef(id);
91
- const fullUrl = `${getBaseUrl()}${resolved.url}`;
91
+ const fullUrl = `${await getBaseUrl()}${resolved.url}`;
92
92
  await open(fullUrl);
93
93
  console.log(chalk.dim(`Opened: ${fullUrl}`));
94
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/commands/document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/commands/document.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,19 @@ import { apiRequest } from '../lib/api.js';
3
3
  import { getBaseUrl } from '../lib/auth.js';
4
4
  import { getOutputOptions, outputList } from '../lib/output.js';
5
5
  const essentialKeys = ['document', 'context'];
6
- function formatResult(result) {
7
- const { document, context } = result;
8
- const title = chalk.bold(document.title);
9
- const id = chalk.dim(document.urlId);
10
- const link = chalk.dim(`${getBaseUrl()}${document.url}`);
11
- const snippet = context
12
- .replace(/<b>(.*?)<\/b>/g, (_, m) => chalk.bold(m))
13
- .replace(/<\/?b>/g, '')
14
- .trim()
15
- .slice(0, 120);
16
- return `${title} ${id}\n ${link}\n ${chalk.dim(snippet)}\n`;
6
+ function makeFormatResult(baseUrl) {
7
+ return (result) => {
8
+ const { document, context } = result;
9
+ const title = chalk.bold(document.title);
10
+ const id = chalk.dim(document.urlId);
11
+ const link = chalk.dim(`${baseUrl}${document.url}`);
12
+ const snippet = context
13
+ .replace(/<b>(.*?)<\/b>/g, (_, m) => chalk.bold(m))
14
+ .replace(/<\/?b>/g, '')
15
+ .trim()
16
+ .slice(0, 120);
17
+ return `${title} ${id}\n ${link}\n ${chalk.dim(snippet)}\n`;
18
+ };
17
19
  }
18
20
  export function registerSearchCommand(program) {
19
21
  program
@@ -36,6 +38,9 @@ export function registerSearchCommand(program) {
36
38
  body.statusFilter = [opts.status];
37
39
  const { data, pagination } = await apiRequest('documents.search', body);
38
40
  const outputOpts = getOutputOptions(opts);
41
+ const formatResult = outputOpts.json || outputOpts.ndjson
42
+ ? () => ''
43
+ : makeFormatResult(await getBaseUrl());
39
44
  outputList(data, formatResult, essentialKeys, outputOpts, pagination);
40
45
  });
41
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAc/D,MAAM,aAAa,GAA2B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAErE,SAAS,YAAY,CAAC,MAAoB;IACtC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;IACxD,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAClD,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAClB,OAAO,GAAG,KAAK,IAAI,EAAE,OAAO,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,OAAO;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;SAC1E,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;SAC/B,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,IAAI,GAA4B;YAClC,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,CAAA;QACD,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAA;QACxD,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAElD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,UAAU,CAAiB,kBAAkB,EAAE,IAAI,CAAC,CAAA;QAEvF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACV,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAc/D,MAAM,aAAa,GAA2B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;AAErE,SAAS,gBAAgB,CAAC,OAAe;IACrC,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACxC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,OAAO;aAClB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAClD,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,IAAI,EAAE;aACN,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAClB,OAAO,GAAG,KAAK,IAAI,EAAE,OAAO,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;IACjE,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,OAAO;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;SAC1E,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;SAC/B,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;QAClC,MAAM,IAAI,GAA4B;YAClC,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SAC5B,CAAA;QACD,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAA;QACxD,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAElD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,UAAU,CAAiB,kBAAkB,EAAE,IAAI,CAAC,CAAA;QAEvF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,YAAY,GACd,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM;YAChC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE;YACV,CAAC,CAAC,gBAAgB,CAAC,MAAM,UAAU,EAAE,CAAC,CAAA;QAC9C,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACV,CAAC"}
@@ -1,2 +1,2 @@
1
- import { Command } from 'commander';
1
+ import type { Command } from 'commander';
2
2
  export declare function registerUpdateCommand(program: Command): void;
@@ -1,17 +1,14 @@
1
- import { updateAction } from './action.js';
2
- import { switchChannel } from './switch.js';
1
+ import { registerUpdateCommand as registerCoreUpdateCommand } from '@doist/cli-core/commands';
2
+ import packageJson from '../../../package.json' with { type: 'json' };
3
+ import { getConfigPath } from '../../lib/config.js';
4
+ import { withSpinner } from '../../lib/spinner.js';
3
5
  export function registerUpdateCommand(program) {
4
- const update = program
5
- .command('update')
6
- .description('Update the CLI to the latest version for the configured channel')
7
- .option('--check', 'Check for updates without installing')
8
- .option('--channel', 'Show the current update channel')
9
- .action(updateAction);
10
- update
11
- .command('switch')
12
- .description('Switch update channel between stable and pre-release')
13
- .option('--stable', 'Use the stable release channel')
14
- .option('--pre-release', 'Use the pre-release (next) channel')
15
- .action(switchChannel);
6
+ registerCoreUpdateCommand(program, {
7
+ packageName: packageJson.name,
8
+ currentVersion: packageJson.version,
9
+ configPath: getConfigPath(),
10
+ changelogCommandName: 'ol changelog',
11
+ withSpinner,
12
+ });
16
13
  }
17
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,MAAM,MAAM,GAAG,OAAO;SACjB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,iCAAiC,CAAC;SACtD,MAAM,CAAC,YAAY,CAAC,CAAA;IAEzB,MAAM;SACD,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,UAAU,EAAE,gCAAgC,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,oCAAoC,CAAC;SAC7D,MAAM,CAAC,aAAa,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAE7F,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,yBAAyB,CAAC,OAAO,EAAE;QAC/B,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,cAAc,EAAE,WAAW,CAAC,OAAO;QACnC,UAAU,EAAE,aAAa,EAAE;QAC3B,oBAAoB,EAAE,cAAc;QACpC,WAAW;KACd,CAAC,CAAA;AACN,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
+ import packageJson from '../package.json' with { type: 'json' };
3
4
  import { registerAuthCommand } from './commands/auth.js';
4
5
  import { registerChangelogCommand } from './commands/changelog.js';
5
6
  import { registerCollectionCommand } from './commands/collection.js';
@@ -10,9 +11,10 @@ import { registerUpdateCommand } from './commands/update/index.js';
10
11
  const program = new Command();
11
12
  program
12
13
  .name('ol')
13
- .version('0.1.0')
14
+ .version(packageJson.version)
14
15
  .description('CLI for the Outline wiki/knowledge base API')
15
16
  .option('--no-spinner', 'Disable loading animations')
17
+ .option('--accessible', 'Render output in screen-reader-friendly mode')
16
18
  .addHelpText('after', `
17
19
  Note for AI/LLM agents:
18
20
  Use --json or --ndjson flags for unambiguous, parseable output.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACF,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,cAAc,EAAE,4BAA4B,CAAC;KACpD,WAAW,CACR,OAAO,EACP;;;kEAG0D,CAC7D,CAAA;AAEL,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAChC,yBAAyB,CAAC,OAAO,CAAC,CAAA;AAClC,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAA;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAE9B,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACF,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,cAAc,EAAE,4BAA4B,CAAC;KACpD,MAAM,CAAC,cAAc,EAAE,8CAA8C,CAAC;KACtE,WAAW,CACR,OAAO,EACP;;;kEAG0D,CAC7D,CAAA;AAEL,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAC9B,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAChC,yBAAyB,CAAC,OAAO,CAAC,CAAA;AAClC,oBAAoB,CAAC,OAAO,CAAC,CAAA;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAA;AACjC,qBAAqB,CAAC,OAAO,CAAC,CAAA;AAE9B,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
package/dist/lib/api.js CHANGED
@@ -26,8 +26,7 @@ const API_SPINNER_CONFIG = {
26
26
  * Core API request function without spinner wrapping.
27
27
  */
28
28
  async function rawApiRequest(path, body = {}) {
29
- const baseUrl = getBaseUrl();
30
- const token = getApiToken();
29
+ const [baseUrl, token] = await Promise.all([getBaseUrl(), getApiToken()]);
31
30
  const res = await fetchWithRetry({
32
31
  url: `${baseUrl}/api/${path}`,
33
32
  options: {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
- export declare function getApiToken(): string;
2
- export declare function getBaseUrl(): string;
3
- export declare function getOAuthClientId(): string | undefined;
4
- export declare function getTokenSource(): 'env' | 'config' | null;
5
- export declare function saveConfig(token: string, baseUrl?: string, oauthClientId?: string): void;
6
- export declare function clearConfig(): void;
1
+ export declare function getApiToken(): Promise<string>;
2
+ export declare function getBaseUrl(): Promise<string>;
3
+ export declare function getOAuthClientId(): Promise<string | undefined>;
4
+ export declare function getTokenSource(): Promise<'env' | 'config' | null>;
5
+ export declare function saveConfig(token: string, baseUrl?: string, oauthClientId?: string): Promise<void>;
6
+ /**
7
+ * Clear the auth-related keys without deleting the file. The config is now
8
+ * shared with non-auth settings (notably `update_channel`); a blanket unlink
9
+ * would silently reset the user's update-channel preference too.
10
+ */
11
+ export declare function clearConfig(): Promise<void>;
package/dist/lib/auth.js CHANGED
@@ -1,70 +1,57 @@
1
- import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { join } from 'node:path';
4
- const CONFIG_DIR = join(homedir(), '.config', 'outline-cli');
5
- const CONFIG_PATH = join(CONFIG_DIR, 'config.json');
1
+ import { getConfig, setConfig, updateConfig } from './config.js';
6
2
  const DEFAULT_BASE_URL = 'https://app.getoutline.com';
7
- function readConfig() {
8
- if (!existsSync(CONFIG_PATH))
9
- return {};
10
- try {
11
- return JSON.parse(readFileSync(CONFIG_PATH, 'utf-8'));
12
- }
13
- catch {
14
- return {};
15
- }
16
- }
17
- export function getApiToken() {
3
+ export async function getApiToken() {
18
4
  const envToken = process.env.OUTLINE_API_TOKEN;
19
5
  if (envToken)
20
6
  return envToken;
21
- const config = readConfig();
7
+ const config = await getConfig();
22
8
  if (config.api_token)
23
9
  return config.api_token;
24
10
  throw new Error('No API token found. Set OUTLINE_API_TOKEN env var or run: ol auth login');
25
11
  }
26
- export function getBaseUrl() {
12
+ export async function getBaseUrl() {
27
13
  const envUrl = process.env.OUTLINE_URL;
28
14
  if (envUrl)
29
15
  return envUrl.replace(/\/$/, '');
30
- const config = readConfig();
16
+ const config = await getConfig();
31
17
  if (config.base_url)
32
18
  return config.base_url.replace(/\/$/, '');
33
19
  return DEFAULT_BASE_URL;
34
20
  }
35
- export function getOAuthClientId() {
21
+ export async function getOAuthClientId() {
36
22
  const envClientId = process.env.OUTLINE_OAUTH_CLIENT_ID;
37
23
  if (envClientId)
38
24
  return envClientId;
39
- const config = readConfig();
25
+ const config = await getConfig();
40
26
  return config.oauth_client_id;
41
27
  }
42
- export function getTokenSource() {
28
+ export async function getTokenSource() {
43
29
  if (process.env.OUTLINE_API_TOKEN)
44
30
  return 'env';
45
- const config = readConfig();
31
+ const config = await getConfig();
46
32
  if (config.api_token)
47
33
  return 'config';
48
34
  return null;
49
35
  }
50
- export function saveConfig(token, baseUrl, oauthClientId) {
51
- mkdirSync(CONFIG_DIR, { recursive: true });
52
- const existing = readConfig();
53
- const config = {
54
- ...existing,
55
- api_token: token,
56
- };
57
- if (baseUrl) {
58
- config.base_url = baseUrl.replace(/\/$/, '');
59
- }
60
- if (oauthClientId) {
61
- config.oauth_client_id = oauthClientId;
62
- }
63
- writeFileSync(CONFIG_PATH, `${JSON.stringify(config, null, 2)}\n`);
36
+ export async function saveConfig(token, baseUrl, oauthClientId) {
37
+ const updates = { api_token: token };
38
+ if (baseUrl)
39
+ updates.base_url = baseUrl.replace(/\/$/, '');
40
+ if (oauthClientId)
41
+ updates.oauth_client_id = oauthClientId;
42
+ await updateConfig(updates);
64
43
  }
65
- export function clearConfig() {
66
- if (existsSync(CONFIG_PATH)) {
67
- rmSync(CONFIG_PATH);
68
- }
44
+ /**
45
+ * Clear the auth-related keys without deleting the file. The config is now
46
+ * shared with non-auth settings (notably `update_channel`); a blanket unlink
47
+ * would silently reset the user's update-channel preference too.
48
+ */
49
+ export async function clearConfig() {
50
+ const existing = await getConfig();
51
+ const { api_token, base_url, oauth_client_id, ...rest } = existing;
52
+ void api_token;
53
+ void base_url;
54
+ void oauth_client_id;
55
+ await setConfig(rest);
69
56
  }
70
57
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE7E,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAErD,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAC9C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,SAAS,CAAA;IAE7C,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;AAC9F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA;IACtC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAE5C,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAE9D,OAAO,gBAAgB,CAAA;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAA;IACvD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAA;IAEnC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,OAAO,MAAM,CAAC,eAAe,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;IAChC,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,QAAQ,CAAA;IACrC,OAAO,IAAI,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,KAAa,EACb,OAAgB,EAChB,aAAsB;IAEtB,MAAM,OAAO,GAAoB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACrD,IAAI,OAAO;QAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC1D,IAAI,aAAa;QAAE,OAAO,CAAC,eAAe,GAAG,aAAa,CAAA;IAC1D,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC7B,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAA;IAClC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAA;IAClE,KAAK,SAAS,CAAA;IACd,KAAK,QAAQ,CAAA;IACb,KAAK,eAAe,CAAA;IACpB,MAAM,SAAS,CAAC,IAAc,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type CoreConfig } from '@doist/cli-core';
2
+ export type Config = CoreConfig & {
3
+ api_token?: string;
4
+ base_url?: string;
5
+ oauth_client_id?: string;
6
+ };
7
+ /**
8
+ * Resolve the canonical config path on every call. Caching at module load
9
+ * would pin the path to the unmocked `node:os.homedir` before vitest's
10
+ * `vi.mock('node:os', …)` hoist takes effect in a fresh test file.
11
+ */
12
+ export declare function getConfigPath(): string;
13
+ export declare function getConfig(): Promise<Partial<Config>>;
14
+ export declare function setConfig(config: Config): Promise<void>;
15
+ export declare function updateConfig(updates: Partial<Config>): Promise<void>;
@@ -0,0 +1,20 @@
1
+ import { getConfigPath as coreGetConfigPath, readConfig as coreReadConfig, updateConfig as coreUpdateConfig, writeConfig as coreWriteConfig, } from '@doist/cli-core';
2
+ const APP_NAME = 'outline-cli';
3
+ /**
4
+ * Resolve the canonical config path on every call. Caching at module load
5
+ * would pin the path to the unmocked `node:os.homedir` before vitest's
6
+ * `vi.mock('node:os', …)` hoist takes effect in a fresh test file.
7
+ */
8
+ export function getConfigPath() {
9
+ return coreGetConfigPath(APP_NAME);
10
+ }
11
+ export async function getConfig() {
12
+ return coreReadConfig(getConfigPath());
13
+ }
14
+ export async function setConfig(config) {
15
+ return coreWriteConfig(getConfigPath(), config);
16
+ }
17
+ export async function updateConfig(updates) {
18
+ return coreUpdateConfig(getConfigPath(), updates);
19
+ }
20
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,IAAI,iBAAiB,EAClC,UAAU,IAAI,cAAc,EAC5B,YAAY,IAAI,gBAAgB,EAChC,WAAW,IAAI,eAAe,GACjC,MAAM,iBAAiB,CAAA;AAExB,MAAM,QAAQ,GAAG,aAAa,CAAA;AAQ9B;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC3B,OAAO,cAAc,CAAS,aAAa,EAAE,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC1C,OAAO,eAAe,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAwB;IACvD,OAAO,gBAAgB,CAAS,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;AAC7D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CliError as CoreCliError, type CliErrorCode, type ErrorType } from '@doist/cli-core';
2
+ export type ErrorCode = 'AUTH_VERIFICATION_FAILED' | 'CONFIRMATION_REQUIRED' | 'CONFLICTING_OPTIONS' | 'INVALID_PARENT' | 'MISSING_OPTION' | 'OAUTH_CALLBACK_PORT_INVALID' | 'OAUTH_CALLBACK_SERVER_FAILED' | 'OAUTH_CLIENT_ID_REQUIRED' | 'OAUTH_LOGIN_FAILED' | 'UNKNOWN_AGENT';
3
+ export declare class CliError extends CoreCliError<ErrorCode> {
4
+ constructor(code: ErrorCode | CliErrorCode, message: string, hints?: string[], type?: ErrorType);
5
+ }
6
+ export { getErrorMessage } from '@doist/cli-core';
@@ -0,0 +1,8 @@
1
+ import { CliError as CoreCliError } from '@doist/cli-core';
2
+ export class CliError extends CoreCliError {
3
+ constructor(code, message, hints, type = 'error') {
4
+ super(code, message, { hints, type });
5
+ }
6
+ }
7
+ export { getErrorMessage } from '@doist/cli-core';
8
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAqC,MAAM,iBAAiB,CAAA;AAc7F,MAAM,OAAO,QAAS,SAAQ,YAAuB;IACjD,YACI,IAA8B,EAC9B,OAAe,EACf,KAAgB,EAChB,OAAkB,OAAO;QAEzB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;CACJ;AAED,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const getGlobalArgs: () => import("@doist/cli-core").GlobalArgs;
2
+ export declare const resetGlobalArgs: () => void;
3
+ export declare const isAccessible: () => boolean;
4
+ export declare const shouldDisableSpinner: () => boolean;
@@ -0,0 +1,13 @@
1
+ import { createAccessibleGate, createGlobalArgsStore, createSpinnerGate } from '@doist/cli-core';
2
+ const store = createGlobalArgsStore();
3
+ export const getGlobalArgs = store.get;
4
+ export const resetGlobalArgs = store.reset;
5
+ export const isAccessible = createAccessibleGate({
6
+ envVar: 'OL_ACCESSIBLE',
7
+ getArgs: store.get,
8
+ });
9
+ export const shouldDisableSpinner = createSpinnerGate({
10
+ envVar: 'OL_SPINNER',
11
+ getArgs: store.get,
12
+ });
13
+ //# sourceMappingURL=global-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-args.js","sourceRoot":"","sources":["../../src/lib/global-args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEhG,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAA;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAA;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAA;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;IAC7C,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,KAAK,CAAC,GAAG;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IAClD,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,KAAK,CAAC,GAAG;CACrB,CAAC,CAAA"}
@@ -1 +1,2 @@
1
- export declare function renderMarkdown(text: string): string;
1
+ export declare function preloadMarkdown(): Promise<void>;
2
+ export declare function renderMarkdown(text: string): Promise<string>;
@@ -1,7 +1,12 @@
1
- import { marked } from 'marked';
2
- import { markedTerminal } from 'marked-terminal';
3
- marked.use(markedTerminal());
4
- export function renderMarkdown(text) {
5
- return marked.parse(text);
1
+ import { preloadMarkdown as corePreloadMarkdown, renderMarkdown as coreRenderMarkdown, } from '@doist/cli-core/markdown';
2
+ let preloadPromise = null;
3
+ export async function preloadMarkdown() {
4
+ if (!preloadPromise)
5
+ preloadPromise = corePreloadMarkdown();
6
+ return preloadPromise;
7
+ }
8
+ export async function renderMarkdown(text) {
9
+ await preloadMarkdown();
10
+ return coreRenderMarkdown(text);
6
11
  }
7
12
  //# sourceMappingURL=markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/lib/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;AAE5B,MAAM,UAAU,cAAc,CAAC,IAAY;IACvC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAW,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/lib/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,IAAI,mBAAmB,EACtC,cAAc,IAAI,kBAAkB,GACvC,MAAM,0BAA0B,CAAA;AAEjC,IAAI,cAAc,GAAyB,IAAI,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,IAAI,CAAC,cAAc;QAAE,cAAc,GAAG,mBAAmB,EAAE,CAAA;IAC3D,OAAO,cAAc,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY;IAC7C,MAAM,eAAe,EAAE,CAAA;IACvB,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC"}
@@ -1,11 +1,9 @@
1
+ import { type ViewOptions } from '@doist/cli-core';
1
2
  import type { Pagination } from './api.js';
2
- interface OutputOptions {
3
- json?: boolean;
4
- ndjson?: boolean;
3
+ export type OutputOptions = ViewOptions & {
5
4
  full?: boolean;
6
- }
5
+ };
7
6
  export declare function getOutputOptions(opts: Record<string, unknown>): OutputOptions;
8
7
  export declare function outputItem<T extends object>(item: T, humanFormatter: (item: T) => string, essentialKeys?: (keyof T)[], opts?: OutputOptions): void;
9
- export declare function outputList<T extends object>(items: T[], humanFormatter: (item: T) => string, essentialKeys?: (keyof T)[], opts?: OutputOptions, pagination?: Pagination): void;
8
+ export declare function outputList<T extends object>(items: T[], humanFormatter: (item: T) => string, essentialKeys?: (keyof T)[], opts?: OutputOptions, pagination?: Pagination, emptyMessage?: string): void;
10
9
  export declare function formatError(code: string, message: string, hints?: string[]): string;
11
- export {};
@@ -1,3 +1,4 @@
1
+ import { formatJson, formatNdjson, printEmpty } from '@doist/cli-core';
1
2
  import chalk from 'chalk';
2
3
  export function getOutputOptions(opts) {
3
4
  return {
@@ -9,26 +10,31 @@ export function getOutputOptions(opts) {
9
10
  export function outputItem(item, humanFormatter, essentialKeys, opts = {}) {
10
11
  if (opts.ndjson) {
11
12
  const data = opts.full || !essentialKeys ? item : pick(item, essentialKeys);
12
- console.log(JSON.stringify(data));
13
+ console.log(formatNdjson([data]));
13
14
  return;
14
15
  }
15
16
  if (opts.json) {
16
17
  const data = opts.full || !essentialKeys ? item : pick(item, essentialKeys);
17
- console.log(JSON.stringify(data, null, 2));
18
+ console.log(formatJson(data));
18
19
  return;
19
20
  }
20
21
  console.log(humanFormatter(item));
21
22
  }
22
- export function outputList(items, humanFormatter, essentialKeys, opts = {}, pagination) {
23
+ export function outputList(items, humanFormatter, essentialKeys, opts = {}, pagination, emptyMessage) {
24
+ if (items.length === 0 && emptyMessage !== undefined) {
25
+ printEmpty({ options: opts, message: emptyMessage });
26
+ return;
27
+ }
28
+ const project = (item) => (opts.full || !essentialKeys ? item : pick(item, essentialKeys));
23
29
  if (opts.ndjson) {
30
+ // Stream item-by-item: avoids buffering the whole list and matches
31
+ // the canonical NDJSON contract (one record per write).
24
32
  for (const item of items) {
25
- const data = opts.full || !essentialKeys ? item : pick(item, essentialKeys);
26
- console.log(JSON.stringify(data));
33
+ console.log(formatNdjson([project(item)]));
27
34
  }
28
35
  }
29
36
  else if (opts.json) {
30
- const data = items.map((item) => opts.full || !essentialKeys ? item : pick(item, essentialKeys));
31
- console.log(JSON.stringify(data, null, 2));
37
+ console.log(formatJson(items.map(project)));
32
38
  }
33
39
  else {
34
40
  for (const item of items) {
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const SKILL_NAME = "outline-cli";
2
2
  export declare const SKILL_DESCRIPTION = "Search and manage Outline wiki documents and collections via the ol CLI";
3
- export declare const SKILL_CONTENT = "# Outline CLI (ol)\n\nUse this skill when the user wants to interact with their Outline wiki/knowledge base.\n\n## Quick Reference\n\n- `ol search \"query\"` - Search documents\n- `ol doc list` - List documents\n- `ol doc get <id>` - Read a document\n- `ol doc open <id>` - Open document in browser\n- `ol doc create --title \"Title\" --collection <id>` - Create document\n- `ol col list` - List collections\n\n## Output Formats\n\nAll list commands support:\n- `--json` - JSON output (essential fields)\n- `--ndjson` - Newline-delimited JSON (streaming)\n- `--full` - Include all fields in JSON\n\n## Document References\n\nDocuments can be referenced by:\n- URL ID (the slug suffix after the last hyphen)\n- Full Outline URL (auto-extracted)\n- Document ID\n\n## Commands\n\n### Search\n```bash\nol search \"query\"\nol search \"query\" --limit 10\nol search \"query\" --collection <id>\nol search \"query\" --status published\nol search \"query\" --json\n```\n\n### Documents\n```bash\nol doc list --collection <id> --limit 25\nol doc list --sort title --direction ASC\nol doc get <id> # Rendered markdown\nol doc get <id> --raw # Raw markdown\nol doc get <id> --json\nol doc open <id> # Open in browser\nol doc create --title \"Title\" --collection <id> --text \"# Content\"\nol doc create --title \"Title\" --parent <ref> --text \"# Content\" # Nest under parent (collection inferred)\nol doc create --title \"Title\" --collection <id> --file ./doc.md\nol doc update <id> --title \"New Title\"\nol doc update <id> --file ./updated.md\nol doc move <id> --collection <target-id> # Move to collection root\nol doc move <id> --parent <ref> # Nest under parent (collection inferred)\nol doc archive <id>\nol doc unarchive <id>\nol doc delete <id> --confirm\n```\n\n### Collections\n```bash\nol col list\nol col get <id>\nol col create --name \"Name\" --description \"Desc\" --color \"#hex\"\nol col create --name \"Private\" --private\nol col update <id> --name \"New Name\"\nol col delete <id> --confirm\n```\n\n### Authentication\n```bash\nol auth login # Configure API token and base URL\nol auth status # Show current auth state\nol auth logout # Clear saved credentials\n```\n\n### Update & Changelog\n```bash\nol update # Update CLI to latest version\nol update --check # Check for updates without installing, show channel\nol update --channel # Show current update channel\nol update switch --stable # Switch to stable release channel\nol update switch --pre-release # Switch to pre-release (next) channel\nol changelog # Show recent changelog entries\nol changelog -n 3 # Show last 3 versions\n```\n\n## Examples\n\n### Find and read a document\n```bash\nol search \"onboarding\" --json | jq '.[0].document.urlId'\nol doc get <urlId>\n```\n\n### Create a document from a file\n```bash\nol doc create --title \"Meeting Notes\" --collection <id> --file ./notes.md --publish\n```\n\n### List all collections and their documents\n```bash\nol col list --json\nol doc list --collection <id> --sort title --direction ASC\n```\n\n### Bulk export with ndjson\n```bash\nol doc list --ndjson --full | jq -r '.title'\n```\n";
3
+ export declare const SKILL_CONTENT = "# Outline CLI (ol)\n\nUse this skill when the user wants to interact with their Outline wiki/knowledge base.\n\n## Quick Reference\n\n- `ol search \"query\"` - Search documents\n- `ol doc list` - List documents\n- `ol doc get <id>` - Read a document\n- `ol doc open <id>` - Open document in browser\n- `ol doc create --title \"Title\" --collection <id>` - Create document\n- `ol col list` - List collections\n\n## Output Formats\n\nAll list commands support:\n- `--json` - JSON output (essential fields)\n- `--ndjson` - Newline-delimited JSON (streaming)\n- `--full` - Include all fields in JSON\n\n## Document References\n\nDocuments can be referenced by:\n- URL ID (the slug suffix after the last hyphen)\n- Full Outline URL (auto-extracted)\n- Document ID\n\n## Commands\n\n### Search\n```bash\nol search \"query\"\nol search \"query\" --limit 10\nol search \"query\" --collection <id>\nol search \"query\" --status published\nol search \"query\" --json\n```\n\n### Documents\n```bash\nol doc list --collection <id> --limit 25\nol doc list --sort title --direction ASC\nol doc get <id> # Rendered markdown\nol doc get <id> --raw # Raw markdown\nol doc get <id> --json\nol doc open <id> # Open in browser\nol doc create --title \"Title\" --collection <id> --text \"# Content\"\nol doc create --title \"Title\" --parent <ref> --text \"# Content\" # Nest under parent (collection inferred)\nol doc create --title \"Title\" --collection <id> --file ./doc.md\nol doc update <id> --title \"New Title\"\nol doc update <id> --file ./updated.md\nol doc move <id> --collection <target-id> # Move to collection root\nol doc move <id> --parent <ref> # Nest under parent (collection inferred)\nol doc archive <id>\nol doc unarchive <id>\nol doc delete <id> --confirm\n```\n\n### Collections\n```bash\nol col list\nol col get <id>\nol col create --name \"Name\" --description \"Desc\" --color \"#hex\"\nol col create --name \"Private\" --private\nol col update <id> --name \"New Name\"\nol col delete <id> --confirm\n```\n\n### Authentication\n```bash\nol auth login # Configure API token and base URL\nol auth status # Show current auth state\nol auth logout # Clear saved credentials\n```\n\n### Update & Changelog\n```bash\nol update # Update CLI to latest version\nol update --check # Check for updates without installing, show channel\nol update --check --json # Check for updates as a JSON envelope\nol update --check --ndjson # Check for updates as NDJSON output\nol update --channel # Show current update channel\nol update switch --stable # Switch to stable release channel\nol update switch --pre-release # Switch to pre-release (next) channel\nol changelog # Show recent changelog entries\nol changelog -n 3 # Show last 3 versions\n```\n\n## Examples\n\n### Find and read a document\n```bash\nol search \"onboarding\" --json | jq '.[0].document.urlId'\nol doc get <urlId>\n```\n\n### Create a document from a file\n```bash\nol doc create --title \"Meeting Notes\" --collection <id> --file ./notes.md --publish\n```\n\n### List all collections and their documents\n```bash\nol col list --json\nol doc list --collection <id> --sort title --direction ASC\n```\n\n### Bulk export with ndjson\n```bash\nol doc list --ndjson --full | jq -r '.title'\n```\n";
@@ -79,6 +79,8 @@ ol auth logout # Clear saved credentials
79
79
  \`\`\`bash
80
80
  ol update # Update CLI to latest version
81
81
  ol update --check # Check for updates without installing, show channel
82
+ ol update --check --json # Check for updates as a JSON envelope
83
+ ol update --check --ndjson # Check for updates as NDJSON output
82
84
  ol update --channel # Show current update channel
83
85
  ol update switch --stable # Switch to stable release channel
84
86
  ol update switch --pre-release # Switch to pre-release (next) channel
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,yEAAyE,CAAA;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6G5B,CAAA"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,yEAAyE,CAAA;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+G5B,CAAA"}
@@ -1,13 +1,2 @@
1
- export interface SpinnerOptions {
2
- text: string;
3
- color?: 'green' | 'yellow' | 'blue' | 'red';
4
- noSpinner?: boolean;
5
- }
6
- export declare class LoadingSpinner {
7
- private spinnerInstance;
8
- start(options: SpinnerOptions): this;
9
- succeed(text?: string): void;
10
- fail(text?: string): void;
11
- stop(): void;
12
- }
13
- export declare function withSpinner<T>(options: SpinnerOptions, asyncOperation: () => Promise<T>): Promise<T>;
1
+ export type { SpinnerColor, SpinnerOptions } from '@doist/cli-core';
2
+ export declare const LoadingSpinner: new () => import("@doist/cli-core").LoadingSpinner, withSpinner: <T>(options: import("@doist/cli-core").SpinnerOptions, op: () => Promise<T>) => Promise<T>, startEarlySpinner: (text?: string) => void, stopEarlySpinner: () => void;
@@ -1,56 +1,5 @@
1
- import chalk from 'chalk';
2
- import yoctoSpinner from 'yocto-spinner';
3
- function shouldDisableSpinner() {
4
- if (process.env.OL_SPINNER === 'false')
5
- return true;
6
- if (process.env.CI)
7
- return true;
8
- const args = process.argv;
9
- if (args.includes('--json') || args.includes('--ndjson') || args.includes('--no-spinner')) {
10
- return true;
11
- }
12
- return false;
13
- }
14
- export class LoadingSpinner {
15
- spinnerInstance = null;
16
- start(options) {
17
- if (!process.stdout.isTTY || options.noSpinner || shouldDisableSpinner()) {
18
- return this;
19
- }
20
- const colorFn = chalk[options.color || 'blue'];
21
- this.spinnerInstance = yoctoSpinner({ text: colorFn(options.text) });
22
- this.spinnerInstance.start();
23
- return this;
24
- }
25
- succeed(text) {
26
- if (this.spinnerInstance) {
27
- this.spinnerInstance.success(text ? chalk.green(`✓ ${text}`) : undefined);
28
- this.spinnerInstance = null;
29
- }
30
- }
31
- fail(text) {
32
- if (this.spinnerInstance) {
33
- this.spinnerInstance.error(text ? chalk.red(`✗ ${text}`) : undefined);
34
- this.spinnerInstance = null;
35
- }
36
- }
37
- stop() {
38
- if (this.spinnerInstance) {
39
- this.spinnerInstance.stop();
40
- this.spinnerInstance = null;
41
- }
42
- }
43
- }
44
- export async function withSpinner(options, asyncOperation) {
45
- const spinner = new LoadingSpinner().start(options);
46
- try {
47
- const result = await asyncOperation();
48
- spinner.stop();
49
- return result;
50
- }
51
- catch (error) {
52
- spinner.fail();
53
- throw error;
54
- }
55
- }
1
+ import { createSpinner } from '@doist/cli-core';
2
+ import { shouldDisableSpinner } from './global-args.js';
3
+ const spinner = createSpinner({ isDisabled: shouldDisableSpinner });
4
+ export const { LoadingSpinner, withSpinner, startEarlySpinner, stopEarlySpinner } = spinner;
56
5
  //# sourceMappingURL=spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/lib/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,YAAY,MAAM,eAAe,CAAA;AAQxC,SAAS,oBAAoB;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACxF,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,cAAc;IACf,eAAe,GAA2C,IAAI,CAAA;IAEtE,KAAK,CAAC,OAAuB;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,IAAI,oBAAoB,EAAE,EAAE,CAAC;YACvE,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAA;QAC9C,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC5B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,CAAC,IAAa;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACzE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAa;QACd,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC;CACJ;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAuB,EACvB,cAAgC;IAEhC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEnD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;QACrC,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,MAAM,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/lib/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAIvD,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/outline-cli",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "description": "CLI for the Outline wiki/knowledge base API",
5
5
  "type": "module",
6
6
  "bin": {
@@ -48,13 +48,13 @@
48
48
  "node": ">=20.18.1"
49
49
  },
50
50
  "dependencies": {
51
+ "@doist/cli-core": "0.9.0",
51
52
  "chalk": "5.6.2",
52
53
  "commander": "14.0.2",
53
- "marked": "15.0.12",
54
- "marked-terminal": "7.3.0",
54
+ "marked": "18.0.3",
55
+ "marked-terminal-renderer": "2.2.0",
55
56
  "open": "10.2.0",
56
- "undici": "7.22.0",
57
- "yocto-spinner": "1.0.0"
57
+ "undici": "7.22.0"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@semantic-release/changelog": "6.0.3",
@@ -66,6 +66,6 @@
66
66
  "oxlint": "1.57.0",
67
67
  "semantic-release": "25.0.3",
68
68
  "typescript": "5.9.3",
69
- "vitest": "4.0.18"
69
+ "vitest": "4.1.5"
70
70
  }
71
71
  }
@@ -1,4 +0,0 @@
1
- export declare function updateAction(options: {
2
- check?: boolean;
3
- channel?: boolean;
4
- }): Promise<void>;
@@ -1,157 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import chalk from 'chalk';
3
- import packageJson from '../../../package.json' with { type: 'json' };
4
- import { withSpinner } from '../../lib/spinner.js';
5
- import { getUpdateChannel } from '../../lib/update-config.js';
6
- import { fetchWithRetry } from '../../transport/fetch-with-retry.js';
7
- const PACKAGE_NAME = '@doist/outline-cli';
8
- function getInstallTag(channel) {
9
- return channel === 'pre-release' ? 'next' : 'latest';
10
- }
11
- function parseVersion(version) {
12
- const [core, ...rest] = version.split('-');
13
- const [major, minor, patch] = core.split('.').map(Number);
14
- return { major, minor, patch, prerelease: rest.length > 0 ? rest.join('-') : undefined };
15
- }
16
- /** Returns true when `candidate` is strictly newer than `current` per semver. */
17
- function isNewer(current, candidate) {
18
- const a = parseVersion(current);
19
- const b = parseVersion(candidate);
20
- // Compare major.minor.patch
21
- for (const key of ['major', 'minor', 'patch']) {
22
- if (b[key] !== a[key])
23
- return b[key] > a[key];
24
- }
25
- // Equal core: release > pre-release
26
- if (!a.prerelease && b.prerelease)
27
- return false;
28
- if (a.prerelease && !b.prerelease)
29
- return true;
30
- // Both pre-release: numeric-aware comparison (handles "next.10" > "next.2" etc.)
31
- if (a.prerelease && b.prerelease)
32
- return b.prerelease.localeCompare(a.prerelease, undefined, { numeric: true }) > 0;
33
- return false;
34
- }
35
- async function fetchVersion(channel) {
36
- const tag = getInstallTag(channel);
37
- const url = `https://registry.npmjs.org/${PACKAGE_NAME}/${tag}`;
38
- const response = await fetchWithRetry({ url });
39
- if (!response.ok) {
40
- throw new Error(`Registry request failed (HTTP ${response.status})`);
41
- }
42
- const data = (await response.json());
43
- return data.version;
44
- }
45
- function detectPackageManager() {
46
- const execPath = process.env.npm_execpath || process.argv[1] || '';
47
- if (execPath.includes('pnpm'))
48
- return 'pnpm';
49
- return 'npm';
50
- }
51
- function runInstall(pm, tag) {
52
- const command = pm === 'pnpm' ? 'add' : 'install';
53
- return new Promise((resolve, reject) => {
54
- const child = spawn(pm, [command, '-g', `${PACKAGE_NAME}@${tag}`], {
55
- stdio: ['ignore', 'ignore', 'pipe'],
56
- shell: process.platform === 'win32',
57
- });
58
- let stderr = '';
59
- child.stderr?.on('data', (data) => {
60
- stderr += data.toString();
61
- });
62
- child.on('error', reject);
63
- child.on('close', (code) => resolve({ exitCode: code ?? 1, stderr }));
64
- });
65
- }
66
- function channelLabel(channel) {
67
- return channel === 'pre-release' ? ` ${chalk.magenta('(pre-release)')}` : '';
68
- }
69
- export async function updateAction(options) {
70
- if (options.check && options.channel) {
71
- console.error(chalk.red('Error:'), 'Specify either --check or --channel, not both.');
72
- process.exitCode = 1;
73
- return;
74
- }
75
- if (options.channel) {
76
- const ch = getUpdateChannel();
77
- if (ch === 'pre-release') {
78
- console.log(`Update channel: ${chalk.magenta('pre-release')}`);
79
- }
80
- else {
81
- console.log(`Update channel: ${chalk.green('stable')}`);
82
- }
83
- return;
84
- }
85
- const channel = getUpdateChannel();
86
- const tag = getInstallTag(channel);
87
- const label = channelLabel(channel);
88
- const currentVersion = packageJson.version;
89
- let latestVersion;
90
- try {
91
- latestVersion = await withSpinner({ text: `Checking for updates${label}...`, color: 'blue' }, () => fetchVersion(channel));
92
- }
93
- catch (error) {
94
- const message = error instanceof Error ? error.message : String(error);
95
- console.error(chalk.red('Error:'), `Failed to check for updates: ${message}`);
96
- process.exitCode = 1;
97
- return;
98
- }
99
- const updateAvailable = isNewer(currentVersion, latestVersion);
100
- if (options.check) {
101
- const channelLine = channel === 'pre-release'
102
- ? ` Channel: ${chalk.magenta('pre-release')}`
103
- : ` Channel: ${chalk.green('stable')}`;
104
- if (currentVersion === latestVersion) {
105
- console.log(chalk.green('✓'), `Already up to date (v${currentVersion})`);
106
- }
107
- else if (updateAvailable) {
108
- console.log(`Update available: ${chalk.dim(`v${currentVersion}`)} → ${chalk.green(`v${latestVersion}`)}`);
109
- }
110
- else {
111
- console.log(`Downgrade available: ${chalk.dim(`v${currentVersion}`)} → ${chalk.yellow(`v${latestVersion}`)}`);
112
- }
113
- console.log(channelLine);
114
- return;
115
- }
116
- if (currentVersion === latestVersion) {
117
- console.log(chalk.green('✓'), `Already up to date${label} (v${currentVersion})`);
118
- return;
119
- }
120
- if (updateAvailable) {
121
- console.log(`Update available${label}: ${chalk.dim(`v${currentVersion}`)} → ${chalk.green(`v${latestVersion}`)}`);
122
- }
123
- else {
124
- console.log(`Downgrade available${label}: ${chalk.dim(`v${currentVersion}`)} → ${chalk.yellow(`v${latestVersion}`)}`);
125
- }
126
- const pm = detectPackageManager();
127
- let result;
128
- try {
129
- result = await withSpinner({ text: `Updating to v${latestVersion}${label}...`, color: 'blue' }, () => runInstall(pm, tag));
130
- }
131
- catch (error) {
132
- const message = error instanceof Error ? error.message : String(error);
133
- console.error(chalk.red('Error:'), `Install failed: ${message}`);
134
- process.exitCode = 1;
135
- return;
136
- }
137
- if (result.exitCode !== 0) {
138
- if (result.stderr &&
139
- (result.stderr.includes('EACCES') || result.stderr.includes('EPERM'))) {
140
- console.error(chalk.red('Error:'), 'Permission denied. Try running with sudo:');
141
- console.error(chalk.dim(` sudo ${pm} ${pm === 'pnpm' ? 'add' : 'install'} -g ${PACKAGE_NAME}@${tag}`));
142
- }
143
- else {
144
- console.error(chalk.red('Error:'), `${pm} exited with code ${result.exitCode}`);
145
- if (result.stderr) {
146
- console.error(chalk.dim(result.stderr.trim()));
147
- }
148
- }
149
- process.exitCode = 1;
150
- return;
151
- }
152
- console.log(chalk.green('✓'), `Updated to v${latestVersion}${label}`);
153
- if (channel === 'stable') {
154
- console.log(chalk.dim(' Run'), chalk.cyan('ol changelog'), chalk.dim('to see what changed'));
155
- }
156
- }
157
- //# sourceMappingURL=action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/commands/update/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,WAAW,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAsB,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEpE,MAAM,YAAY,GAAG,oBAAoB,CAAA;AAMzC,SAAS,aAAa,CAAC,OAAsB;IACzC,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxD,CAAC;AASD,SAAS,YAAY,CAAC,OAAe;IACjC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1C,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;AAC5F,CAAC;AAED,iFAAiF;AACjF,SAAS,OAAO,CAAC,OAAe,EAAE,SAAiB;IAC/C,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC/B,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IAEjC,4BAA4B;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,KAAK,CAAA;IAC/C,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAE9C,iFAAiF;IACjF,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU;QAC5B,OAAO,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;IACrF,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAsB;IAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,GAAG,GAAG,8BAA8B,YAAY,IAAI,GAAG,EAAE,CAAA;IAC/D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAA;IACxD,OAAO,IAAI,CAAC,OAAO,CAAA;AACvB,CAAC;AAED,SAAS,oBAAoB;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAClE,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAA;IAC5C,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,EAAU,EAAE,GAAW;IACvC,MAAM,OAAO,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,GAAG,EAAE,CAAC,EAAE;YAC/D,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;YACnC,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACtC,CAAC,CAAA;QAEF,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACtC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,YAAY,CAAC,OAAsB;IACxC,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA+C;IAC9E,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,gDAAgD,CAAC,CAAA;QACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAA;QAC7B,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,OAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAClC,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAA;IAE1C,IAAI,aAAqB,CAAA;IACzB,IAAI,CAAC;QACD,aAAa,GAAG,MAAM,WAAW,CAC7B,EAAE,IAAI,EAAE,uBAAuB,KAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAC1D,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAC9B,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,gCAAgC,OAAO,EAAE,CAAC,CAAA;QAC7E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAE9D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,WAAW,GACb,OAAO,KAAK,aAAa;YACrB,CAAC,CAAC,cAAc,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAC9C,CAAC,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;QAE/C,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,wBAAwB,cAAc,GAAG,CAAC,CAAA;QAC5E,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CACP,qBAAqB,KAAK,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,CAC/F,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CACP,wBAAwB,KAAK,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,CACnG,CAAA;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACxB,OAAM;IACV,CAAC;IAED,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,qBAAqB,KAAK,MAAM,cAAc,GAAG,CAAC,CAAA;QAChF,OAAM;IACV,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CACP,mBAAmB,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,CACvG,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CACP,sBAAsB,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,EAAE,CAC3G,CAAA;IACL,CAAC;IAED,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAA;IAEjC,IAAI,MAA4C,CAAA;IAChD,IAAI,CAAC;QACD,MAAM,GAAG,MAAM,WAAW,CACtB,EAAE,IAAI,EAAE,gBAAgB,aAAa,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EACnE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAC5B,CAAA;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAA;QAChE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxB,IACI,MAAM,CAAC,MAAM;YACb,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACvE,CAAC;YACC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,2CAA2C,CAAC,CAAA;YAC/E,OAAO,CAAC,KAAK,CACT,KAAK,CAAC,GAAG,CACL,UAAU,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,YAAY,IAAI,GAAG,EAAE,CAChF,CACJ,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC/E,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAClD,CAAC;QACL,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,eAAe,aAAa,GAAG,KAAK,EAAE,CAAC,CAAA;IACrE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAClB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAC1B,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CACnC,CAAA;IACL,CAAC;AACL,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function switchChannel(options: {
2
- stable?: boolean;
3
- preRelease?: boolean;
4
- }): void;
@@ -1,29 +0,0 @@
1
- import chalk from 'chalk';
2
- import { setUpdateChannel } from '../../lib/update-config.js';
3
- export function switchChannel(options) {
4
- if (options.stable && options.preRelease) {
5
- console.error(chalk.red('Error:'), 'Specify either --stable or --pre-release, not both.');
6
- process.exitCode = 1;
7
- return;
8
- }
9
- if (!options.stable && !options.preRelease) {
10
- console.error(chalk.red('Error:'), 'Specify --stable or --pre-release.');
11
- process.exitCode = 1;
12
- return;
13
- }
14
- const channel = options.preRelease ? 'pre-release' : 'stable';
15
- setUpdateChannel(channel);
16
- if (channel === 'pre-release') {
17
- console.log(chalk.green('✓'), `Update channel set to ${chalk.magenta('pre-release')}`);
18
- console.log();
19
- console.log(chalk.yellow('Note:'), 'Pre-release updates follow the', chalk.cyan('next'), 'branch.');
20
- console.log('When pre-release changes are merged into a stable release, no further');
21
- console.log('pre-release updates will be published until a new pre-release cycle begins.');
22
- console.log('Remember to switch back to stable when done:');
23
- console.log(chalk.dim(' ol update switch --stable'));
24
- }
25
- else {
26
- console.log(chalk.green('✓'), 'Update channel set to stable');
27
- }
28
- }
29
- //# sourceMappingURL=switch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/commands/update/switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAsB,MAAM,4BAA4B,CAAA;AAEjF,MAAM,UAAU,aAAa,CAAC,OAAmD;IAC7E,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,qDAAqD,CAAC,CAAA;QACzF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,oCAAoC,CAAC,CAAA;QACxE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAkB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAA;IAE5E,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAEzB,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,yBAAyB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;QACtF,OAAO,CAAC,GAAG,EAAE,CAAA;QACb,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EACrB,gCAAgC,EAChC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAClB,SAAS,CACZ,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAA;QACpF,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAA;QAC1F,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;IACzD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,8BAA8B,CAAC,CAAA;IACjE,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- export type UpdateChannel = 'stable' | 'pre-release';
2
- export declare function getUpdateChannel(): UpdateChannel;
3
- export declare function setUpdateChannel(channel: UpdateChannel): void;
@@ -1,35 +0,0 @@
1
- import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
- import { homedir } from 'node:os';
3
- import { join } from 'node:path';
4
- const CONFIG_DIR = join(homedir(), '.config', 'outline-cli');
5
- const CONFIG_PATH = join(CONFIG_DIR, 'config.json');
6
- export function getUpdateChannel() {
7
- if (!existsSync(CONFIG_PATH))
8
- return 'stable';
9
- try {
10
- const config = JSON.parse(readFileSync(CONFIG_PATH, 'utf-8'));
11
- return config.update_channel ?? 'stable';
12
- }
13
- catch {
14
- return 'stable';
15
- }
16
- }
17
- export function setUpdateChannel(channel) {
18
- let existing = {};
19
- if (existsSync(CONFIG_PATH)) {
20
- try {
21
- existing = JSON.parse(readFileSync(CONFIG_PATH, 'utf-8'));
22
- }
23
- catch {
24
- // ignore
25
- }
26
- }
27
- existing.update_channel = channel;
28
- mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
29
- writeFileSync(CONFIG_PATH, `${JSON.stringify(existing, null, 2)}\n`, {
30
- encoding: 'utf-8',
31
- mode: 0o600,
32
- });
33
- chmodSync(CONFIG_PATH, 0o600);
34
- }
35
- //# sourceMappingURL=update-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-config.js","sourceRoot":"","sources":["../../src/lib/update-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAShC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAA;AAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;AAEnD,MAAM,UAAU,gBAAgB;IAC5B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC7C,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAiB,CAAA;QAC7E,OAAO,MAAM,CAAC,cAAc,IAAI,QAAQ,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,QAAQ,CAAA;IACnB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACnD,IAAI,QAAQ,GAA4B,EAAE,CAAA;IAC1C,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAA4B,CAAA;QACxF,CAAC;QAAC,MAAM,CAAC;YACL,SAAS;QACb,CAAC;IACL,CAAC;IACD,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAA;IACjC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACvD,aAAa,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACjE,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;KACd,CAAC,CAAA;IACF,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AACjC,CAAC"}