@doist/todoist-cli 1.62.1 → 1.63.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/CHANGELOG.md +12 -0
- package/dist/commands/auth/index.d.ts +1 -1
- package/dist/commands/auth/index.d.ts.map +1 -1
- package/dist/commands/auth/index.js +2 -13
- package/dist/commands/auth/index.js.map +1 -1
- package/dist/commands/auth/login.d.ts +13 -4
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +75 -48
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/folder/index.d.ts.map +1 -1
- package/dist/commands/folder/index.js +1 -9
- package/dist/commands/folder/index.js.map +1 -1
- package/dist/commands/project/create.d.ts +1 -1
- package/dist/commands/project/create.d.ts.map +1 -1
- package/dist/commands/project/create.js +2 -7
- package/dist/commands/project/create.js.map +1 -1
- package/dist/commands/project/helpers.d.ts +27 -1
- package/dist/commands/project/helpers.d.ts.map +1 -1
- package/dist/commands/project/helpers.js +77 -0
- package/dist/commands/project/helpers.js.map +1 -1
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +24 -0
- package/dist/commands/project/index.js.map +1 -1
- package/dist/commands/project/reorder.d.ts +9 -0
- package/dist/commands/project/reorder.d.ts.map +1 -0
- package/dist/commands/project/reorder.js +80 -0
- package/dist/commands/project/reorder.js.map +1 -0
- package/dist/commands/project/update.d.ts +1 -0
- package/dist/commands/project/update.d.ts.map +1 -1
- package/dist/commands/project/update.js +58 -5
- package/dist/commands/project/update.js.map +1 -1
- package/dist/commands/task/index.d.ts.map +1 -1
- package/dist/commands/task/index.js +1 -0
- package/dist/commands/task/index.js.map +1 -1
- package/dist/commands/task/update.d.ts +1 -1
- package/dist/commands/task/update.d.ts.map +1 -1
- package/dist/commands/task/update.js +6 -2
- package/dist/commands/task/update.js.map +1 -1
- package/dist/commands/update/index.d.ts +1 -1
- package/dist/commands/update/index.d.ts.map +1 -1
- package/dist/commands/update/index.js +11 -14
- package/dist/commands/update/index.js.map +1 -1
- package/dist/lib/api/projects-sync.d.ts +6 -0
- package/dist/lib/api/projects-sync.d.ts.map +1 -0
- package/dist/lib/api/projects-sync.js +15 -0
- package/dist/lib/api/projects-sync.js.map +1 -0
- package/dist/lib/auth-html.d.ts +11 -0
- package/dist/lib/auth-html.d.ts.map +1 -0
- package/dist/lib/{oauth-server.js → auth-html.js} +13 -97
- package/dist/lib/auth-html.js.map +1 -0
- package/dist/lib/auth-provider.d.ts +16 -0
- package/dist/lib/auth-provider.d.ts.map +1 -0
- package/dist/lib/auth-provider.js +59 -0
- package/dist/lib/auth-provider.js.map +1 -0
- package/dist/lib/auth-store.d.ts +48 -0
- package/dist/lib/auth-store.d.ts.map +1 -0
- package/dist/lib/auth-store.js +91 -0
- package/dist/lib/auth-store.js.map +1 -0
- package/dist/lib/auth.d.ts +4 -0
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +1 -1
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/errors.d.ts +1 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/oauth-scopes.d.ts +21 -0
- package/dist/lib/oauth-scopes.d.ts.map +1 -1
- package/dist/lib/oauth-scopes.js +28 -0
- package/dist/lib/oauth-scopes.js.map +1 -1
- package/dist/lib/order.d.ts +2 -0
- package/dist/lib/order.d.ts.map +1 -0
- package/dist/lib/order.js +11 -0
- package/dist/lib/order.js.map +1 -0
- package/dist/lib/skills/content.d.ts +1 -1
- package/dist/lib/skills/content.d.ts.map +1 -1
- package/dist/lib/skills/content.js +18 -3
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/update.d.ts +7 -13
- package/dist/lib/update.d.ts.map +1 -1
- package/dist/lib/update.js +10 -36
- package/dist/lib/update.js.map +1 -1
- package/package.json +4 -4
- package/dist/commands/update/action.d.ts +0 -5
- package/dist/commands/update/action.d.ts.map +0 -1
- package/dist/commands/update/action.js +0 -112
- package/dist/commands/update/action.js.map +0 -1
- package/dist/commands/update/switch.d.ts +0 -5
- package/dist/commands/update/switch.d.ts.map +0 -1
- package/dist/commands/update/switch.js +0 -31
- package/dist/commands/update/switch.js.map +0 -1
- package/dist/lib/oauth-server.d.ts +0 -8
- package/dist/lib/oauth-server.d.ts.map +0 -1
- package/dist/lib/oauth-server.js.map +0 -1
- package/dist/lib/oauth.d.ts +0 -13
- package/dist/lib/oauth.d.ts.map +0 -1
- package/dist/lib/oauth.js +0 -51
- package/dist/lib/oauth.js.map +0 -1
- package/dist/lib/pkce.d.ts +0 -4
- package/dist/lib/pkce.d.ts.map +0 -1
- package/dist/lib/pkce.js +0 -19
- package/dist/lib/pkce.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [1.63.0](https://github.com/Doist/todoist-cli/compare/v1.62.2...v1.63.0) (2026-05-12)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **project:** add `--parent` on update and new `reorder` command ([#330](https://github.com/Doist/todoist-cli/issues/330)) ([f32f56a](https://github.com/Doist/todoist-cli/commit/f32f56adefee35943cd9fc43b592b6ad75591240))
|
|
6
|
+
|
|
7
|
+
## [1.62.2](https://github.com/Doist/todoist-cli/compare/v1.62.1...v1.62.2) (2026-05-11)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **task:** add --no-labels flag to clear labels on update ([#327](https://github.com/Doist/todoist-cli/issues/327)) ([20d13af](https://github.com/Doist/todoist-cli/commit/20d13afac05970b98551cbf802ee47473e6d15b8)), closes [#326](https://github.com/Doist/todoist-cli/issues/326)
|
|
12
|
+
|
|
1
13
|
## [1.62.1](https://github.com/Doist/todoist-cli/compare/v1.62.0...v1.62.1) (2026-05-09)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOxC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6B1D"}
|
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { loginWithOAuth } from './login.js';
|
|
1
|
+
import { attachTodoistLoginCommand } from './login.js';
|
|
3
2
|
import { logout } from './logout.js';
|
|
4
3
|
import { showStatus } from './status.js';
|
|
5
4
|
import { viewToken } from './token-view.js';
|
|
6
5
|
import { loginWithToken } from './token.js';
|
|
7
6
|
export function registerAuthCommand(program) {
|
|
8
7
|
const auth = program.command('auth').description('Manage authentication');
|
|
9
|
-
auth
|
|
10
|
-
.description('Authenticate with Todoist via OAuth')
|
|
11
|
-
.option('--read-only', 'Authenticate with read-only scope (data:read)')
|
|
12
|
-
.option('--additional-scopes <list>', 'Comma-separated opt-in OAuth scopes (see list below). The flag may be repeated; every occurrence is merged.',
|
|
13
|
-
// Commander treats this as a scalar by default, so repeated uses
|
|
14
|
-
// (`--additional-scopes=a --additional-scopes=b`) would silently
|
|
15
|
-
// drop earlier values. Concatenate into one comma-separated string
|
|
16
|
-
// and let parseScopesOption split/dedupe/validate as usual.
|
|
17
|
-
(value, prev) => (prev ? `${prev},${value}` : value))
|
|
18
|
-
.addHelpText('after', formatScopesHelp())
|
|
19
|
-
.action(loginWithOAuth);
|
|
8
|
+
attachTodoistLoginCommand(auth);
|
|
20
9
|
// `token` is a hybrid: it accepts a positional `[token]` (save) and also
|
|
21
10
|
// exposes subcommands (`view`). Commander matches subcommand names before
|
|
22
11
|
// falling through to the parent action, so `td auth token view` always
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAA;IAEzE,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAE/B,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI;SAChB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,qEAAqE,CAAC;SAClF,MAAM,CAAC,cAAc,CAAC,CAAA;IAE3B,QAAQ;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACR,+FAA+F,CAClG;SACA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,CAAC,CAAA;IAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC1F,CAAC"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Attach `td auth login` via cli-core's generic `attachLoginCommand`. The
|
|
4
|
+
* registrar wires `--read-only`, `--callback-port`, `--json`, `--ndjson` and
|
|
5
|
+
* drives `runOAuthFlow`; the bits below stay todoist-local: scope resolution
|
|
6
|
+
* (comma-joined, custom validators), branded HTML, multi-user store via
|
|
7
|
+
* `createTodoistTokenStore`, and the human-mode success line.
|
|
8
|
+
*
|
|
9
|
+
* `--additional-scopes` is attached after the registrar so the option lands on
|
|
10
|
+
* the same Commander view; cli-core surfaces it through the `flags` argument
|
|
11
|
+
* to `resolveScopes`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function attachTodoistLoginCommand(auth: Command): Command;
|
|
5
14
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAexC;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAiEhE"}
|
|
@@ -1,54 +1,81 @@
|
|
|
1
|
+
import { formatJson, formatNdjson } from '@doist/cli-core';
|
|
2
|
+
import { attachLoginCommand } from '@doist/cli-core/auth';
|
|
1
3
|
import chalk from 'chalk';
|
|
2
4
|
import open from 'open';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { buildAuthorizationUrl, exchangeCodeForToken, resolveAuthScope } from '../../lib/oauth.js';
|
|
8
|
-
import { generateCodeChallenge, generateCodeVerifier, generateState } from '../../lib/pkce.js';
|
|
5
|
+
import { renderAuthErrorPage, renderAuthSuccessPage } from '../../lib/auth-html.js';
|
|
6
|
+
import { createTodoistAuthProvider } from '../../lib/auth-provider.js';
|
|
7
|
+
import { createTodoistTokenStore } from '../../lib/auth-store.js';
|
|
8
|
+
import { extractAdditionalScopes, formatScopesHelp, resolveAuthScope, } from '../../lib/oauth-scopes.js';
|
|
9
9
|
import { logTokenStorageResult } from './helpers.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
const TODOIST_CALLBACK_PORT = 8765;
|
|
11
|
+
const TODOIST_CALLBACK_PORT_FALLBACK = 5;
|
|
12
|
+
/**
|
|
13
|
+
* Attach `td auth login` via cli-core's generic `attachLoginCommand`. The
|
|
14
|
+
* registrar wires `--read-only`, `--callback-port`, `--json`, `--ndjson` and
|
|
15
|
+
* drives `runOAuthFlow`; the bits below stay todoist-local: scope resolution
|
|
16
|
+
* (comma-joined, custom validators), branded HTML, multi-user store via
|
|
17
|
+
* `createTodoistTokenStore`, and the human-mode success line.
|
|
18
|
+
*
|
|
19
|
+
* `--additional-scopes` is attached after the registrar so the option lands on
|
|
20
|
+
* the same Commander view; cli-core surfaces it through the `flags` argument
|
|
21
|
+
* to `resolveScopes`.
|
|
22
|
+
*/
|
|
23
|
+
export function attachTodoistLoginCommand(auth) {
|
|
24
|
+
const store = createTodoistTokenStore();
|
|
25
|
+
const login = attachLoginCommand(auth, {
|
|
26
|
+
provider: createTodoistAuthProvider(),
|
|
27
|
+
store,
|
|
28
|
+
preferredPort: TODOIST_CALLBACK_PORT,
|
|
29
|
+
portFallbackCount: TODOIST_CALLBACK_PORT_FALLBACK,
|
|
30
|
+
resolveScopes: ({ readOnly, flags }) => {
|
|
31
|
+
const additionalScopes = extractAdditionalScopes(flags);
|
|
32
|
+
// resolveAuthScope returns the comma-separated string Todoist expects;
|
|
33
|
+
// split into the array cli-core's PKCE provider re-joins (the provider
|
|
34
|
+
// is configured with `scopeSeparator: ','`).
|
|
35
|
+
return resolveAuthScope({ readOnly, additionalScopes }).split(',');
|
|
36
|
+
},
|
|
37
|
+
renderSuccess: renderAuthSuccessPage,
|
|
38
|
+
renderError: renderAuthErrorPage,
|
|
39
|
+
openBrowser: async (url) => {
|
|
40
|
+
await open(url);
|
|
41
|
+
},
|
|
42
|
+
onSuccess: ({ account, view }) => {
|
|
43
|
+
const storage = store.getLastStorageResult();
|
|
44
|
+
if (view.json) {
|
|
45
|
+
console.log(formatJson({ displayName: 'Todoist', account }));
|
|
46
|
+
}
|
|
47
|
+
else if (view.ndjson) {
|
|
48
|
+
console.log(formatNdjson([{ displayName: 'Todoist', account }]));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
const label = account.label ?? account.id;
|
|
52
|
+
console.log(`${chalk.green('✓')} Signed in to Todoist as ${chalk.cyan(label)}`);
|
|
53
|
+
}
|
|
54
|
+
// Surface keyring-fallback warnings regardless of view mode so a
|
|
55
|
+
// silent plaintext-storage fallback never goes unreported.
|
|
56
|
+
// `logTokenStorageResult` writes warnings to stderr, keeping the
|
|
57
|
+
// `--json` / `--ndjson` stdout envelope clean; the human "stored
|
|
58
|
+
// securely" confirmation is suppressed in machine-output mode.
|
|
59
|
+
if (storage) {
|
|
60
|
+
if (view.json || view.ndjson) {
|
|
61
|
+
if (storage.warning) {
|
|
62
|
+
console.error(chalk.yellow('Warning:'), storage.warning);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
logTokenStorageResult(storage, 'Token stored securely in the system credential manager');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
23
70
|
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
authFlags.push(...additionalScopes);
|
|
34
|
-
// Identify the user behind the new token before persisting.
|
|
35
|
-
const probeApi = createApiForToken(accessToken);
|
|
36
|
-
const user = await probeApi.getUser();
|
|
37
|
-
const result = await upsertUser({
|
|
38
|
-
id: user.id,
|
|
39
|
-
email: user.email,
|
|
40
|
-
token: accessToken,
|
|
41
|
-
authMode: options.readOnly ? 'read-only' : 'read-write',
|
|
42
|
-
authScope: resolveAuthScope({ readOnly: options.readOnly, additionalScopes }),
|
|
43
|
-
authFlags,
|
|
44
|
-
});
|
|
45
|
-
const verb = result.replaced ? 'Updated credentials for' : 'Logged in as';
|
|
46
|
-
console.log(chalk.green('✓'), `${verb} ${user.email}`);
|
|
47
|
-
logTokenStorageResult(result, 'Token stored securely in the system credential manager');
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
cleanup();
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
71
|
+
return login
|
|
72
|
+
.description('Authenticate with Todoist via OAuth')
|
|
73
|
+
.option('--additional-scopes <list>', 'Comma-separated opt-in OAuth scopes (see list below). The flag may be repeated; every occurrence is merged.',
|
|
74
|
+
// Commander treats this as a scalar by default, so repeated uses
|
|
75
|
+
// (`--additional-scopes=a --additional-scopes=b`) would silently drop
|
|
76
|
+
// earlier values. Concatenate into one comma-separated string and let
|
|
77
|
+
// parseScopesOption split/dedupe/validate as usual.
|
|
78
|
+
(value, prev) => prev && prev.length > 0 ? `${prev},${value}` : value)
|
|
79
|
+
.addHelpText('after', formatScopesHelp());
|
|
53
80
|
}
|
|
54
81
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuH5D"}
|
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
import { CURSOR_DESCRIPTION } from '../../lib/constants.js';
|
|
2
2
|
import { CliError } from '../../lib/errors.js';
|
|
3
|
+
import { parseOrderArg } from '../../lib/order.js';
|
|
3
4
|
import { createFolder } from './create.js';
|
|
4
5
|
import { deleteFolder } from './delete.js';
|
|
5
6
|
import { listFolders } from './list.js';
|
|
6
7
|
import { updateFolder } from './update.js';
|
|
7
8
|
import { viewFolder } from './view.js';
|
|
8
|
-
function parseOrderArg(val) {
|
|
9
|
-
const n = Number(val);
|
|
10
|
-
if (!Number.isInteger(n) || n < 0) {
|
|
11
|
-
throw new CliError('INVALID_ORDER', `Invalid order value: "${val}"`, [
|
|
12
|
-
'Order must be a non-negative integer (e.g., 0 for top of list)',
|
|
13
|
-
]);
|
|
14
|
-
}
|
|
15
|
-
return n;
|
|
16
|
-
}
|
|
17
9
|
export function registerFolderCommand(program) {
|
|
18
10
|
const folder = program
|
|
19
11
|
.command('folder')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/folder/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IAClD,MAAM,MAAM,GAAG,OAAO;SACjB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0BAA0B,CAAC;SACvC,WAAW,CACR,OAAO,EACP;;;;;0DAK8C,CACjD,CAAA;IAEL,MAAM;SACD,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;SACvD,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC;SAChD,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CACH,CACI,MAA0B,EAC1B,OAAsD,EACxD,EAAE;QACA,IAAI,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CACd,qBAAqB,EACrB,gEAAgE,CACnE,CAAA;QACL,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC,CACJ,CAAA;IAEL,MAAM;SACD,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC1C,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;SAC/E,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,EAAE,CAAA;YACb,OAAM;QACV,CAAC;QACD,OAAO,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,MAAM;SACnB,OAAO,CAAC,oBAAoB,CAAC;SAC7B,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,0CAA0C,EAAE,aAAa,CAAC;SACxF,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,EAAE,aAAa,CAAC;SAC1E,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CACH,CACI,MAA0B,EAC1B,OAOC,EACH,EAAE;QACA,IAAI,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CACd,qBAAqB,EACrB,gEAAgE,CACnE,CAAA;QACL,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,YAAY,CACf,MAAM,IAAI,OAAO,CAAC,SAAS,EAC3B,OAA4C,CAC/C,CAAA;IACL,CAAC,CACJ,CAAA;IAEL,MAAM,SAAS,GAAG,MAAM;SACnB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;SAC/E,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,EAAE,aAAa,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,MAAM;SACnB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;SAC/E,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC;SACnC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,oBAAoB,CAAA;AAOpE,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCzE"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { isWorkspaceProject } from '@doist/todoist-sdk';
|
|
2
1
|
import chalk from 'chalk';
|
|
3
2
|
import { getApi } from '../../lib/api/core.js';
|
|
4
|
-
import { CliError } from '../../lib/errors.js';
|
|
5
3
|
import { isQuiet } from '../../lib/global-args.js';
|
|
6
4
|
import { formatJson, printDryRun } from '../../lib/output.js';
|
|
7
|
-
import {
|
|
5
|
+
import { resolvePersonalParent } from './helpers.js';
|
|
8
6
|
export async function createProject(options) {
|
|
9
7
|
if (options.dryRun) {
|
|
10
8
|
printDryRun('create project', {
|
|
@@ -19,10 +17,7 @@ export async function createProject(options) {
|
|
|
19
17
|
const api = await getApi();
|
|
20
18
|
let parentId;
|
|
21
19
|
if (options.parent) {
|
|
22
|
-
const parentProject = await
|
|
23
|
-
if (isWorkspaceProject(parentProject)) {
|
|
24
|
-
throw new CliError('WORKSPACE_NO_SUBPROJECTS', 'Workspace projects do not support sub-projects.', ['Sub-projects are only supported for personal projects.']);
|
|
25
|
-
}
|
|
20
|
+
const parentProject = await resolvePersonalParent(api, options.parent);
|
|
26
21
|
parentId = parentProject.id;
|
|
27
22
|
}
|
|
28
23
|
const project = await api.addProject({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/project/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAYpD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACtD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,gBAAgB,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,SAAS;SAClC,CAAC,CAAA;QACF,OAAM;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAA;IAE1B,IAAI,QAA4B,CAAA;IAChC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACtE,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,QAAQ;QAC5B,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,SAA6B;KACnD,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAC3C,OAAM;IACV,CAAC;IAED,IAAI,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACvB,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -1,3 +1,29 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type PersonalProject, type ProjectViewStyle, type TodoistApi } from '@doist/todoist-sdk';
|
|
2
|
+
import type { Project } from '../../lib/api/core.js';
|
|
2
3
|
export declare const VIEW_STYLE_CHOICES: ProjectViewStyle[];
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a project reference for use as a parent. Rejects workspace projects
|
|
6
|
+
* — only personal projects can have sub-projects.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolvePersonalParent(api: TodoistApi, parentRef: string): Promise<PersonalProject>;
|
|
9
|
+
/**
|
|
10
|
+
* Load every personal project the user has access to (paginated). Used by
|
|
11
|
+
* commands that need to traverse the project hierarchy in memory rather than
|
|
12
|
+
* making N round trips.
|
|
13
|
+
*/
|
|
14
|
+
export declare function loadPersonalProjects(api: TodoistApi): Promise<PersonalProject[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Returns true if `candidateId` is a descendant of `ancestorId` within the
|
|
17
|
+
* given project set. Walks the parent chain in memory; bails on cycles.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isDescendantOf(projects: PersonalProject[], candidateId: string, ancestorId: string): boolean;
|
|
20
|
+
export declare function isPersonal(p: Project): p is PersonalProject;
|
|
21
|
+
/**
|
|
22
|
+
* Resolve a project reference against an in-memory personal-project list,
|
|
23
|
+
* avoiding extra round trips when the caller has already paginated the
|
|
24
|
+
* full list (e.g. `project reorder`). Mirrors the matching rules of
|
|
25
|
+
* `resolveProjectRef` (id prefix → exact name → substring name) but is
|
|
26
|
+
* scoped to personal projects only.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolvePersonalFromList(projects: PersonalProject[], ref: string): PersonalProject;
|
|
3
29
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAKpD,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAAkC,CAAA;AAEnF;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAU1B;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAMtF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,eAAe,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACnB,OAAO,CAUT;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAgCjG"}
|
|
@@ -1,2 +1,79 @@
|
|
|
1
|
+
import { isWorkspaceProject, } from '@doist/todoist-sdk';
|
|
2
|
+
import { CliError } from '../../lib/errors.js';
|
|
3
|
+
import { paginate } from '../../lib/pagination.js';
|
|
4
|
+
import { resolveProjectRef } from '../../lib/refs.js';
|
|
1
5
|
export const VIEW_STYLE_CHOICES = ['list', 'board', 'calendar'];
|
|
6
|
+
/**
|
|
7
|
+
* Resolve a project reference for use as a parent. Rejects workspace projects
|
|
8
|
+
* — only personal projects can have sub-projects.
|
|
9
|
+
*/
|
|
10
|
+
export async function resolvePersonalParent(api, parentRef) {
|
|
11
|
+
const parentProject = await resolveProjectRef(api, parentRef);
|
|
12
|
+
if (isWorkspaceProject(parentProject)) {
|
|
13
|
+
throw new CliError('WORKSPACE_NO_SUBPROJECTS', 'Workspace projects cannot be used as a parent.', ['Sub-projects are only supported under personal projects.']);
|
|
14
|
+
}
|
|
15
|
+
return parentProject;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Load every personal project the user has access to (paginated). Used by
|
|
19
|
+
* commands that need to traverse the project hierarchy in memory rather than
|
|
20
|
+
* making N round trips.
|
|
21
|
+
*/
|
|
22
|
+
export async function loadPersonalProjects(api) {
|
|
23
|
+
const { results } = await paginate((cursor, limit) => api.getProjects({ cursor: cursor ?? undefined, limit }), { limit: Number.MAX_SAFE_INTEGER, startCursor: undefined });
|
|
24
|
+
return results.filter((p) => !isWorkspaceProject(p));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns true if `candidateId` is a descendant of `ancestorId` within the
|
|
28
|
+
* given project set. Walks the parent chain in memory; bails on cycles.
|
|
29
|
+
*/
|
|
30
|
+
export function isDescendantOf(projects, candidateId, ancestorId) {
|
|
31
|
+
const byId = new Map(projects.map((p) => [p.id, p]));
|
|
32
|
+
let current = byId.get(candidateId);
|
|
33
|
+
const visited = new Set();
|
|
34
|
+
while (current?.parentId && !visited.has(current.id)) {
|
|
35
|
+
visited.add(current.id);
|
|
36
|
+
if (current.parentId === ancestorId)
|
|
37
|
+
return true;
|
|
38
|
+
current = byId.get(current.parentId);
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
export function isPersonal(p) {
|
|
43
|
+
return !isWorkspaceProject(p);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Resolve a project reference against an in-memory personal-project list,
|
|
47
|
+
* avoiding extra round trips when the caller has already paginated the
|
|
48
|
+
* full list (e.g. `project reorder`). Mirrors the matching rules of
|
|
49
|
+
* `resolveProjectRef` (id prefix → exact name → substring name) but is
|
|
50
|
+
* scoped to personal projects only.
|
|
51
|
+
*/
|
|
52
|
+
export function resolvePersonalFromList(projects, ref) {
|
|
53
|
+
if (!ref.trim()) {
|
|
54
|
+
throw new CliError('INVALID_PROJECT', 'project reference cannot be empty.');
|
|
55
|
+
}
|
|
56
|
+
if (ref.startsWith('id:')) {
|
|
57
|
+
const id = ref.slice(3);
|
|
58
|
+
const match = projects.find((p) => p.id === id);
|
|
59
|
+
if (!match) {
|
|
60
|
+
throw new CliError('PROJECT_NOT_FOUND', `Personal project "${ref}" not found.`);
|
|
61
|
+
}
|
|
62
|
+
return match;
|
|
63
|
+
}
|
|
64
|
+
const lower = ref.toLowerCase();
|
|
65
|
+
const exact = projects.filter((p) => p.name.toLowerCase() === lower);
|
|
66
|
+
if (exact.length === 1)
|
|
67
|
+
return exact[0];
|
|
68
|
+
if (exact.length > 1) {
|
|
69
|
+
throw new CliError('AMBIGUOUS_PROJECT', `Multiple projects match "${ref}" exactly:`, exact.slice(0, 5).map((p) => `"${p.name}" (id:${p.id})`));
|
|
70
|
+
}
|
|
71
|
+
const partial = projects.filter((p) => p.name.toLowerCase().includes(lower));
|
|
72
|
+
if (partial.length === 1)
|
|
73
|
+
return partial[0];
|
|
74
|
+
if (partial.length > 1) {
|
|
75
|
+
throw new CliError('AMBIGUOUS_PROJECT', `Multiple projects match "${ref}":`, partial.slice(0, 5).map((p) => `"${p.name}" (id:${p.id})`));
|
|
76
|
+
}
|
|
77
|
+
throw new CliError('PROJECT_NOT_FOUND', `Personal project "${ref}" not found.`);
|
|
78
|
+
}
|
|
2
79
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/project/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAA;AA0B3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqS7D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Option } from 'commander';
|
|
2
2
|
import { withCaseInsensitiveChoices } from '../../lib/completion.js';
|
|
3
3
|
import { CURSOR_DESCRIPTION } from '../../lib/constants.js';
|
|
4
|
+
import { parseOrderArg } from '../../lib/order.js';
|
|
4
5
|
import { showProjectActivityStats } from './activity-stats.js';
|
|
5
6
|
import { analyzeHealth } from './analyze-health.js';
|
|
6
7
|
import { archiveProject } from './archive.js';
|
|
@@ -18,6 +19,7 @@ import { listProjects } from './list.js';
|
|
|
18
19
|
import { moveProject } from './move.js';
|
|
19
20
|
import { showPermissions } from './permissions.js';
|
|
20
21
|
import { showProjectProgress } from './progress.js';
|
|
22
|
+
import { reorderProject } from './reorder.js';
|
|
21
23
|
import { unarchiveProject } from './unarchive.js';
|
|
22
24
|
import { updateProject } from './update.js';
|
|
23
25
|
import { viewProject } from './view.js';
|
|
@@ -110,6 +112,8 @@ Examples:
|
|
|
110
112
|
.option('--no-favorite', 'Remove from favorites')
|
|
111
113
|
.option('--folder <ref>', 'Move into a folder by name or id:xxx (workspace projects only)')
|
|
112
114
|
.option('--no-folder', 'Remove from folder (workspace projects only)')
|
|
115
|
+
.option('--parent <ref>', 'Re-nest under a personal parent project (name or id:xxx)')
|
|
116
|
+
.option('--no-parent', 'Move to top level (no parent)')
|
|
113
117
|
.addOption(withCaseInsensitiveChoices(new Option('--view-style <style>', 'View style (list, board, or calendar)'), VIEW_STYLE_CHOICES))
|
|
114
118
|
.option('--json', 'Output the updated project as JSON')
|
|
115
119
|
.option('--dry-run', 'Preview what would happen without executing')
|
|
@@ -168,6 +172,26 @@ Examples:
|
|
|
168
172
|
}
|
|
169
173
|
return moveProject(ref, options);
|
|
170
174
|
});
|
|
175
|
+
const reorderCmd = project
|
|
176
|
+
.command('reorder [ref]')
|
|
177
|
+
.description('Reorder a personal project among its siblings')
|
|
178
|
+
.option('--before <ref>', 'Place before this sibling (name or id:xxx)')
|
|
179
|
+
.option('--after <ref>', 'Place after this sibling (name or id:xxx)')
|
|
180
|
+
.option('--position <n>', 'Move to a 0-indexed position among siblings', parseOrderArg)
|
|
181
|
+
.option('--json', 'Output the new ordering as JSON')
|
|
182
|
+
.option('--dry-run', 'Preview what would happen without executing')
|
|
183
|
+
.addHelpText('after', `
|
|
184
|
+
Examples:
|
|
185
|
+
td project reorder "Roadmap" --before "Marketing"
|
|
186
|
+
td project reorder "Roadmap" --after "Marketing"
|
|
187
|
+
td project reorder "Roadmap" --position 0`)
|
|
188
|
+
.action((ref, options) => {
|
|
189
|
+
if (!ref) {
|
|
190
|
+
reorderCmd.help();
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
return reorderProject(ref, options);
|
|
194
|
+
});
|
|
171
195
|
project
|
|
172
196
|
.command('archived')
|
|
173
197
|
.description('List archived projects')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACnD,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,iBAAiB,CAAC;SAC9B,WAAW,CACR,OAAO,EACP;;;;uCAI2B,CAC9B,CAAA;IAEL,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC;SAC/C,MAAM,CAAC,YAAY,EAAE,6BAA6B,CAAC;SACnD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;SAC3D,MAAM,CAAC,YAAY,CAAC,CAAA;IAEzB,OAAO;SACF,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC1C,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,YAAY,EAAE,2DAA2D,CAAC;SACjF,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;SACxD,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,EAAE,CAAA;YACd,OAAM;QACV,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC;SACnC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC1C,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC;SACxC,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SAC3D,SAAS,CACN,0BAA0B,CACtB,IAAI,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC,EAC3E,kBAAkB,CACrB,CACJ;SACA,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAChB,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACtC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;SAChD,MAAM,CAAC,gBAAgB,EAAE,gEAAgE,CAAC;SAC1F,MAAM,CAAC,aAAa,EAAE,8CAA8C,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,0DAA0D,CAAC;SACpF,MAAM,CAAC,aAAa,EAAE,+BAA+B,CAAC;SACtD,SAAS,CACN,0BAA0B,CACtB,IAAI,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,CAAC,EAC3E,kBAAkB,CACrB,CACJ;SACA,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;SACtD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,OAAO;SACrB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,UAAU,CAAC,IAAI,EAAE,CAAA;YACjB,OAAM;QACV,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEN,MAAM,YAAY,GAAG,OAAO;SACvB,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,YAAY,CAAC,IAAI,EAAE,CAAA;YACnB,OAAM;QACV,CAAC;QACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACZ,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEN,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,sBAAsB,EAAE,mCAAmC,CAAC;SACnE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;SAC3C,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACvE,MAAM,CAAC,sBAAsB,EAAE,8CAA8C,CAAC;SAC9E,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;SAC/B,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,EAAE,CAAA;YACd,OAAM;QACV,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,OAAO;SACrB,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,4CAA4C,CAAC;SACtE,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,gBAAgB,EAAE,6CAA6C,EAAE,aAAa,CAAC;SACtF,MAAM,CAAC,QAAQ,EAAE,iCAAiC,CAAC;SACnD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,WAAW,CACR,OAAO,EACP;;;;4CAIgC,CACnC;SACA,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,UAAU,CAAC,IAAI,EAAE,CAAA;YACjB,OAAM;QACV,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEN,OAAO;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,OAAO,EAAE,8BAA8B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,UAAU,EAAE,kCAAkC,CAAC;SACtD,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,aAAa,EAAE,oCAAoC,CAAC;SAC3D,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAEjC,OAAO;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SACrE,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC;SAChD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE1B,OAAO;SACF,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,eAAe,CAAC,CAAA;IAE5B,OAAO;SACF,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;SACrD,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;QACpB,OAAO,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;IAEN,MAAM,WAAW,GAAG,OAAO;SACtB,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,WAAW,CAAC,IAAI,EAAE,CAAA;YAClB,OAAM;QACV,CAAC;QACD,OAAO,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,OAAO;SACpB,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,SAAS,CAAC,IAAI,EAAE,CAAA;YAChB,OAAM;QACV,CAAC;QACD,OAAO,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,sEAAsE,CAAC;SACnF,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;SAC1D,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEN,MAAM,gBAAgB,GAAG,OAAO;SAC3B,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,WAAW,EAAE,6CAA6C,CAAC;SAClE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACrB,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,gBAAgB,CAAC,IAAI,EAAE,CAAA;YACvB,OAAM;QACV,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type ReorderOptions = {
|
|
2
|
+
before?: string;
|
|
3
|
+
after?: string;
|
|
4
|
+
position?: number;
|
|
5
|
+
json?: boolean;
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function reorderProject(ref: string, options: ReorderOptions): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=reorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorder.d.ts","sourceRoot":"","sources":["../../../src/commands/project/reorder.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,cAAc,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGxF"}
|