@urugus/slack-cli 0.2.7 → 0.2.9
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/.claude/settings.local.json +13 -55
- package/.github/workflows/ci.yml +2 -2
- package/dist/commands/history-display.d.ts +1 -1
- package/dist/commands/history-display.d.ts.map +1 -1
- package/dist/commands/history-display.js +8 -28
- package/dist/commands/history-display.js.map +1 -1
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +9 -2
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/unread.d.ts.map +1 -1
- package/dist/commands/unread.js +32 -16
- package/dist/commands/unread.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/types/commands.d.ts +1 -0
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +1 -5
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/formatters/history-formatters.d.ts +8 -0
- package/dist/utils/formatters/history-formatters.d.ts.map +1 -0
- package/dist/utils/formatters/history-formatters.js +105 -0
- package/dist/utils/formatters/history-formatters.js.map +1 -0
- package/dist/utils/validators.d.ts +4 -0
- package/dist/utils/validators.d.ts.map +1 -1
- package/dist/utils/validators.js +12 -0
- package/dist/utils/validators.js.map +1 -1
- package/eslint.config.js +38 -0
- package/package.json +12 -14
- package/src/commands/history-display.ts +9 -28
- package/src/commands/history.ts +9 -2
- package/src/commands/unread.ts +52 -22
- package/src/types/commands.ts +1 -0
- package/src/utils/errors.ts +1 -5
- package/src/utils/formatters/history-formatters.ts +123 -0
- package/src/utils/validators.ts +13 -0
- package/tests/commands/history.test.ts +115 -0
- package/tests/index.test.ts +2 -2
- package/.eslintrc.json +0 -25
- package/dist/utils/config.d.ts +0 -10
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -94
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/formatters/output-formatter.d.ts +0 -7
- package/dist/utils/formatters/output-formatter.d.ts.map +0 -1
- package/dist/utils/formatters/output-formatter.js +0 -7
- package/dist/utils/formatters/output-formatter.js.map +0 -1
- package/dist/utils/profile-config-refactored.d.ts +0 -20
- package/dist/utils/profile-config-refactored.d.ts.map +0 -1
- package/dist/utils/profile-config-refactored.js +0 -174
- package/dist/utils/profile-config-refactored.js.map +0 -1
- package/src/utils/formatters/output-formatter.ts +0 -7
- package/tests/utils/slack-operations/channel-operations-refactored.test.ts +0 -179
|
@@ -1,70 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"permissions": {
|
|
3
3
|
"allow": [
|
|
4
|
-
"Bash(mkdir:*)",
|
|
5
|
-
"Bash(ls:*)",
|
|
6
|
-
"Bash(npm install)",
|
|
7
|
-
"Bash(npm run test:*)",
|
|
8
4
|
"Bash(find:*)",
|
|
5
|
+
"Bash(npm install:*)",
|
|
6
|
+
"Bash(gh issue list:*)",
|
|
7
|
+
"Bash(gh pr list:*)",
|
|
8
|
+
"Bash(gh pr checkout:*)",
|
|
9
9
|
"Bash(npm test)",
|
|
10
|
-
"Bash(npm run build:*)",
|
|
11
10
|
"Bash(npm run lint)",
|
|
12
|
-
"Bash(npm run
|
|
13
|
-
"Bash(npm run format:*)",
|
|
14
|
-
"Bash(npm test:*)",
|
|
15
|
-
"Bash(node:*)",
|
|
11
|
+
"Bash(npm run build:*)",
|
|
16
12
|
"Bash(git add:*)",
|
|
17
13
|
"Bash(git commit:*)",
|
|
18
|
-
"Bash(grep:*)",
|
|
19
|
-
"Bash(true)",
|
|
20
|
-
"Bash(npx vitest run:*)",
|
|
21
|
-
"Bash(NODE_ENV=test npx vitest run --reporter=tap 2 >& 1)",
|
|
22
|
-
"Bash(npm ls:*)",
|
|
23
|
-
"Bash(/opt/homebrew/bin/slack-cli config:*)",
|
|
24
|
-
"Bash(npm bin:*)",
|
|
25
|
-
"Bash(npm root:*)",
|
|
26
|
-
"Bash(strace:*)",
|
|
27
|
-
"Bash(npx vitest list:*)",
|
|
28
|
-
"Bash(NODE_OPTIONS=\"--trace-warnings\" npx vitest run --no-threads 2 >& 1)",
|
|
29
|
-
"Bash(NODE_ENV=test npx vitest run --reporter=tap tests/commands/config.test.ts 2 >& 1)",
|
|
30
|
-
"Bash(echo:*)",
|
|
31
|
-
"Bash(git reset:*)",
|
|
32
|
-
"Bash(npm uninstall:*)",
|
|
33
|
-
"Bash(pkill:*)",
|
|
34
|
-
"Bash(/opt/homebrew/bin/slack:*)",
|
|
35
|
-
"Bash(brew list:*)",
|
|
36
|
-
"Bash(brew info:*)",
|
|
37
|
-
"Bash(npm link:*)",
|
|
38
|
-
"Bash(slack-cli:*)",
|
|
39
14
|
"Bash(git push:*)",
|
|
40
|
-
"Bash(
|
|
15
|
+
"Bash(git config:*)",
|
|
16
|
+
"Bash(gh pr view:*)",
|
|
41
17
|
"Bash(gh run view:*)",
|
|
42
|
-
"Bash(gh run watch:*)",
|
|
43
|
-
"Bash(cat:*)",
|
|
44
|
-
"Bash(mv:*)",
|
|
45
|
-
"Bash(rm:*)",
|
|
46
|
-
"WebFetch(domain:api.slack.com)",
|
|
47
|
-
"Bash(npm run typecheck:*)",
|
|
48
|
-
"Bash(npm run:*)",
|
|
49
|
-
"Bash(npm whoami:*)",
|
|
50
|
-
"Bash(npm unlink:*)",
|
|
51
|
-
"Bash(npm update:*)",
|
|
52
|
-
"Bash(npm install:*)",
|
|
53
|
-
"Bash(npm view:*)",
|
|
54
|
-
"Bash(npm publish:*)",
|
|
55
|
-
"Bash(rg:*)",
|
|
56
|
-
"Bash(npm version:*)",
|
|
57
|
-
"Bash(npx tsx:*)",
|
|
58
|
-
"Bash(gh workflow view:*)",
|
|
59
|
-
"Bash(git tag:*)",
|
|
60
|
-
"Bash(./bin/dev:*)",
|
|
61
18
|
"Bash(git checkout:*)",
|
|
62
|
-
"Bash(gh pr create:*)",
|
|
63
|
-
"Bash(gh pr checks:*)",
|
|
64
|
-
"Bash(gh pr view:*)",
|
|
65
|
-
"Bash(gh pr merge:*)",
|
|
66
19
|
"Bash(git pull:*)",
|
|
67
|
-
"Bash(
|
|
20
|
+
"Bash(git rebase:*)",
|
|
21
|
+
"WebFetch(domain:github.com)",
|
|
22
|
+
"Bash(rm:*)",
|
|
23
|
+
"Bash(gh pr comment:*)",
|
|
24
|
+
"Bash(gh pr close:*)",
|
|
25
|
+
"Bash(npm publish:*)"
|
|
68
26
|
],
|
|
69
27
|
"deny": []
|
|
70
28
|
}
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -12,7 +12,7 @@ jobs:
|
|
|
12
12
|
|
|
13
13
|
strategy:
|
|
14
14
|
matrix:
|
|
15
|
-
node-version: [
|
|
15
|
+
node-version: [20.x]
|
|
16
16
|
|
|
17
17
|
steps:
|
|
18
18
|
- uses: actions/checkout@v4
|
|
@@ -42,7 +42,7 @@ jobs:
|
|
|
42
42
|
run: npm run test:coverage
|
|
43
43
|
|
|
44
44
|
- name: Upload coverage reports
|
|
45
|
-
uses: codecov/codecov-action@
|
|
45
|
+
uses: codecov/codecov-action@v5
|
|
46
46
|
if: matrix.node-version == '20.x'
|
|
47
47
|
with:
|
|
48
48
|
files: ./coverage/coverage-final.json
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Message } from '../utils/slack-api-client';
|
|
2
|
-
export declare function displayHistoryResults(messages: Message[], users: Map<string, string>, channelName: string): void;
|
|
2
|
+
export declare function displayHistoryResults(messages: Message[], users: Map<string, string>, channelName: string, format?: string): void;
|
|
3
3
|
//# sourceMappingURL=history-display.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-display.d.ts","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history-display.d.ts","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAGpD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,SAAU,GACf,IAAI,CAUN"}
|
|
@@ -1,35 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.displayHistoryResults = displayHistoryResults;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const format_utils_1 = require("../utils/format-utils");
|
|
10
|
-
function displayHistoryResults(messages, users, channelName) {
|
|
11
|
-
if (messages.length === 0) {
|
|
12
|
-
console.log(chalk_1.default.yellow('No messages found in the specified channel.'));
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
console.log(chalk_1.default.bold(`\nMessage History for #${channelName}:\n`));
|
|
4
|
+
const history_formatters_1 = require("../utils/formatters/history-formatters");
|
|
5
|
+
function displayHistoryResults(messages, users, channelName, format = 'table') {
|
|
16
6
|
// Display messages in reverse order (oldest first)
|
|
17
|
-
messages.reverse()
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
else if (message.bot_id) {
|
|
24
|
-
author = 'Bot';
|
|
25
|
-
}
|
|
26
|
-
console.log(chalk_1.default.gray(`[${timestamp}]`) + ' ' + chalk_1.default.cyan(author));
|
|
27
|
-
if (message.text) {
|
|
28
|
-
const formattedText = (0, format_utils_1.formatMessageWithMentions)(message.text, users);
|
|
29
|
-
console.log(formattedText);
|
|
30
|
-
}
|
|
31
|
-
console.log(''); // Empty line between messages
|
|
7
|
+
const orderedMessages = [...messages].reverse();
|
|
8
|
+
const formatter = (0, history_formatters_1.createHistoryFormatter)(format);
|
|
9
|
+
formatter.format({
|
|
10
|
+
channelName,
|
|
11
|
+
messages: orderedMessages,
|
|
12
|
+
users,
|
|
32
13
|
});
|
|
33
|
-
console.log(chalk_1.default.green(`✓ Displayed ${messages.length} message(s)`));
|
|
34
14
|
}
|
|
35
15
|
//# sourceMappingURL=history-display.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-display.js","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history-display.js","sourceRoot":"","sources":["../../src/commands/history-display.ts"],"names":[],"mappings":";;AAGA,sDAeC;AAjBD,+EAAgF;AAEhF,SAAgB,qBAAqB,CACnC,QAAmB,EACnB,KAA0B,EAC1B,WAAmB,EACnB,MAAM,GAAG,OAAO;IAEhB,mDAAmD;IACnD,MAAM,eAAe,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAEhD,MAAM,SAAS,GAAG,IAAA,2CAAsB,EAAC,MAAM,CAAC,CAAC;IACjD,SAAS,CAAC,MAAM,CAAC;QACf,WAAW;QACX,QAAQ,EAAE,eAAe;QACzB,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,mBAAmB,IAAI,OAAO,CAgD7C"}
|
package/dist/commands/history.js
CHANGED
|
@@ -7,6 +7,7 @@ const client_factory_1 = require("../utils/client-factory");
|
|
|
7
7
|
const constants_1 = require("../utils/constants");
|
|
8
8
|
const option_parsers_1 = require("../utils/option-parsers");
|
|
9
9
|
const validators_1 = require("../utils/validators");
|
|
10
|
+
const option_parsers_2 = require("../utils/option-parsers");
|
|
10
11
|
const history_validators_1 = require("./history-validators");
|
|
11
12
|
const history_display_1 = require("./history-display");
|
|
12
13
|
function setupHistoryCommand() {
|
|
@@ -15,8 +16,13 @@ function setupHistoryCommand() {
|
|
|
15
16
|
.requiredOption('-c, --channel <channel>', 'Target channel name or ID')
|
|
16
17
|
.option('-n, --number <number>', 'Number of messages to retrieve', constants_1.API_LIMITS.DEFAULT_MESSAGE_COUNT.toString())
|
|
17
18
|
.option('--since <date>', 'Get messages since specific date (YYYY-MM-DD HH:MM:SS)')
|
|
19
|
+
.option('--format <format>', 'Output format: table, simple, json', 'table')
|
|
18
20
|
.option('--profile <profile>', 'Use specific workspace profile')
|
|
19
|
-
.hook('preAction', (0, validators_1.createValidationHook)([
|
|
21
|
+
.hook('preAction', (0, validators_1.createValidationHook)([
|
|
22
|
+
validators_1.optionValidators.messageCount,
|
|
23
|
+
validators_1.optionValidators.sinceDate,
|
|
24
|
+
validators_1.optionValidators.format,
|
|
25
|
+
]))
|
|
20
26
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
21
27
|
const profile = (0, option_parsers_1.parseProfile)(options.profile);
|
|
22
28
|
const client = await (0, client_factory_1.createSlackClient)(profile);
|
|
@@ -29,7 +35,8 @@ function setupHistoryCommand() {
|
|
|
29
35
|
historyOptions.oldest = oldest;
|
|
30
36
|
}
|
|
31
37
|
const { messages, users } = await client.getHistory(options.channel, historyOptions);
|
|
32
|
-
(0,
|
|
38
|
+
const format = (0, option_parsers_2.parseFormat)(options.format);
|
|
39
|
+
(0, history_display_1.displayHistoryResults)(messages, users, options.channel, format);
|
|
33
40
|
}));
|
|
34
41
|
return historyCommand;
|
|
35
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";;AAYA,kDAgDC;AA5DD,yCAAoC;AAEpC,8DAAuD;AACvD,4DAA4D;AAE5D,kDAAgD;AAChD,4DAAmE;AACnE,oDAA6E;AAC7E,4DAAsD;AACtD,6DAA6D;AAC7D,uDAA0D;AAE1D,SAAgB,mBAAmB;IACjC,MAAM,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC1C,WAAW,CAAC,0CAA0C,CAAC;SACvD,cAAc,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;SACtE,MAAM,CACL,uBAAuB,EACvB,gCAAgC,EAChC,sBAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAC5C;SACA,MAAM,CAAC,gBAAgB,EAAE,wDAAwD,CAAC;SAClF,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC;SAC1E,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,IAAI,CACH,WAAW,EACX,IAAA,iCAAoB,EAAC;QACnB,6BAAgB,CAAC,YAAY;QAC7B,6BAAgB,CAAC,SAAS;QAC1B,6BAAgB,CAAC,MAAM;KACxB,CAAC,CACH;SACA,MAAM,CACL,IAAA,6BAAW,EAAC,KAAK,EAAE,OAAuB,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,IAAA,6BAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAA,2BAAU,EACtB,OAAO,CAAC,MAAM,EACd,sBAAU,CAAC,qBAAqB,EAChC,sBAAU,CAAC,iBAAiB,EAC5B,sBAAU,CAAC,iBAAiB,CAC7B,CAAC;QAEF,MAAM,cAAc,GAAsB;YACxC,KAAK;SACN,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,0CAAqB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,IAAA,4BAAW,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAA,uCAAqB,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC,CAAC,CACH,CAAC;IAEJ,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unread.d.ts","sourceRoot":"","sources":["../../src/commands/unread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"unread.d.ts","sourceRoot":"","sources":["../../src/commands/unread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+FpC,wBAAgB,kBAAkB,IAAI,OAAO,CA0B5C"}
|
package/dist/commands/unread.js
CHANGED
|
@@ -12,10 +12,10 @@ const channel_formatters_1 = require("../utils/formatters/channel-formatters");
|
|
|
12
12
|
const message_formatters_1 = require("../utils/formatters/message-formatters");
|
|
13
13
|
const constants_1 = require("../utils/constants");
|
|
14
14
|
const option_parsers_1 = require("../utils/option-parsers");
|
|
15
|
-
async function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
async function fetchChannelUnreadData(client, channelName) {
|
|
16
|
+
return await client.getChannelUnread(channelName);
|
|
17
|
+
}
|
|
18
|
+
function formatChannelUnreadOutput(result, format, countOnly) {
|
|
19
19
|
const formatter = (0, message_formatters_1.createMessageFormatter)(format);
|
|
20
20
|
formatter.format({
|
|
21
21
|
channel: result.channel,
|
|
@@ -24,30 +24,46 @@ async function handleSpecificChannelUnread(client, options) {
|
|
|
24
24
|
countOnly: countOnly,
|
|
25
25
|
format: format,
|
|
26
26
|
});
|
|
27
|
+
}
|
|
28
|
+
async function markChannelAsRead(client, channel) {
|
|
29
|
+
await client.markAsRead(channel.id);
|
|
30
|
+
console.log(chalk_1.default.green(`✓ Marked messages in #${channel.name} as read`));
|
|
31
|
+
}
|
|
32
|
+
async function handleSpecificChannelUnread(client, options) {
|
|
33
|
+
const result = await fetchChannelUnreadData(client, options.channel);
|
|
34
|
+
const format = (0, option_parsers_1.parseFormat)(options.format);
|
|
35
|
+
const countOnly = (0, option_parsers_1.parseBoolean)(options.countOnly);
|
|
36
|
+
formatChannelUnreadOutput(result, format, countOnly);
|
|
27
37
|
if ((0, option_parsers_1.parseBoolean)(options.markRead)) {
|
|
28
|
-
await client
|
|
29
|
-
|
|
38
|
+
await markChannelAsRead(client, result.channel);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function fetchAllUnreadChannels(client) {
|
|
42
|
+
return await client.listUnreadChannels();
|
|
43
|
+
}
|
|
44
|
+
function formatAllChannelsOutput(channels, format, countOnly, limit) {
|
|
45
|
+
const displayChannels = channels.slice(0, limit);
|
|
46
|
+
const formatter = (0, channel_formatters_1.createChannelFormatter)(format, countOnly);
|
|
47
|
+
formatter.format({ channels: displayChannels, countOnly: countOnly });
|
|
48
|
+
}
|
|
49
|
+
async function markAllChannelsAsRead(client, channels) {
|
|
50
|
+
for (const channel of channels) {
|
|
51
|
+
await client.markAsRead(channel.id);
|
|
30
52
|
}
|
|
53
|
+
console.log(chalk_1.default.green('✓ Marked all messages as read'));
|
|
31
54
|
}
|
|
32
55
|
async function handleAllChannelsUnread(client, options) {
|
|
33
|
-
const channels = await client
|
|
56
|
+
const channels = await fetchAllUnreadChannels(client);
|
|
34
57
|
if (channels.length === 0) {
|
|
35
58
|
console.log(chalk_1.default.green('✓ No unread messages'));
|
|
36
59
|
return;
|
|
37
60
|
}
|
|
38
|
-
// Apply limit
|
|
39
61
|
const limit = (0, option_parsers_1.parseLimit)(options.limit, constants_1.DEFAULTS.UNREAD_DISPLAY_LIMIT);
|
|
40
|
-
const displayChannels = channels.slice(0, limit);
|
|
41
62
|
const format = (0, option_parsers_1.parseFormat)(options.format);
|
|
42
63
|
const countOnly = (0, option_parsers_1.parseBoolean)(options.countOnly);
|
|
43
|
-
|
|
44
|
-
formatter.format({ channels: displayChannels, countOnly: countOnly });
|
|
64
|
+
formatAllChannelsOutput(channels, format, countOnly, limit);
|
|
45
65
|
if ((0, option_parsers_1.parseBoolean)(options.markRead)) {
|
|
46
|
-
|
|
47
|
-
for (const channel of channels) {
|
|
48
|
-
await client.markAsRead(channel.id);
|
|
49
|
-
}
|
|
50
|
-
console.log(chalk_1.default.green('✓ Marked all messages as read'));
|
|
66
|
+
await markAllChannelsAsRead(client, channels);
|
|
51
67
|
}
|
|
52
68
|
}
|
|
53
69
|
function setupUnreadCommand() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unread.js","sourceRoot":"","sources":["../../src/commands/unread.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"unread.js","sourceRoot":"","sources":["../../src/commands/unread.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/types/commands.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;IACnD,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/types/commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;IACnD,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IAG7B,IAAI,CAAC,EAAE,MAAM;gBADpB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,OAAO,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IAG7B,IAAI,CAAC,EAAE,MAAM;gBADpB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAED,qBAAa,kBAAmB,SAAQ,aAAa;gBACvC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,QAAS,SAAQ,aAAa;gBAC7B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,SAAU,SAAQ,aAAa;gBAC9B,OAAO,EAAE,MAAM;CAG5B"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -5,35 +5,31 @@ class SlackCliError extends Error {
|
|
|
5
5
|
constructor(message, code) {
|
|
6
6
|
super(message);
|
|
7
7
|
this.code = code;
|
|
8
|
-
this.name =
|
|
8
|
+
this.name = this.constructor.name;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.SlackCliError = SlackCliError;
|
|
12
12
|
class ConfigurationError extends SlackCliError {
|
|
13
13
|
constructor(message) {
|
|
14
14
|
super(message, 'CONFIGURATION_ERROR');
|
|
15
|
-
this.name = 'ConfigurationError';
|
|
16
15
|
}
|
|
17
16
|
}
|
|
18
17
|
exports.ConfigurationError = ConfigurationError;
|
|
19
18
|
class ValidationError extends SlackCliError {
|
|
20
19
|
constructor(message) {
|
|
21
20
|
super(message, 'VALIDATION_ERROR');
|
|
22
|
-
this.name = 'ValidationError';
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
23
|
exports.ValidationError = ValidationError;
|
|
26
24
|
class ApiError extends SlackCliError {
|
|
27
25
|
constructor(message) {
|
|
28
26
|
super(message, 'API_ERROR');
|
|
29
|
-
this.name = 'ApiError';
|
|
30
27
|
}
|
|
31
28
|
}
|
|
32
29
|
exports.ApiError = ApiError;
|
|
33
30
|
class FileError extends SlackCliError {
|
|
34
31
|
constructor(message) {
|
|
35
32
|
super(message, 'FILE_ERROR');
|
|
36
|
-
this.name = 'FileError';
|
|
37
33
|
}
|
|
38
34
|
}
|
|
39
35
|
exports.FileError = FileError;
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACR,IAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,SAAI,GAAJ,IAAI,CAAS;QAGpB,IAAI,CAAC,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IACtC,YACE,OAAe,EACR,IAAa;QAEpB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,SAAI,GAAJ,IAAI,CAAS;QAGpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AARD,sCAQC;AAED,MAAa,kBAAmB,SAAQ,aAAa;IACnD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,eAAgB,SAAQ,aAAa;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACrC,CAAC;CACF;AAJD,0CAIC;AAED,MAAa,QAAS,SAAQ,aAAa;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9B,CAAC;CACF;AAJD,4BAIC;AAED,MAAa,SAAU,SAAQ,aAAa;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/B,CAAC;CACF;AAJD,8BAIC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Message as SlackMessage } from '../slack-api-client';
|
|
2
|
+
export interface HistoryFormatterOptions {
|
|
3
|
+
channelName: string;
|
|
4
|
+
messages: SlackMessage[];
|
|
5
|
+
users: Map<string, string>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createHistoryFormatter(format: string): import("./base-formatter").BaseFormatter<HistoryFormatterOptions>;
|
|
8
|
+
//# sourceMappingURL=history-formatters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-formatters.d.ts","sourceRoot":"","sources":["../../../src/utils/formatters/history-formatters.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAkGD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,qEAEpD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createHistoryFormatter = createHistoryFormatter;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const base_formatter_1 = require("./base-formatter");
|
|
9
|
+
function formatTimestampFixed(slackTimestamp) {
|
|
10
|
+
const timestamp = parseFloat(slackTimestamp);
|
|
11
|
+
const date = new Date(timestamp * 1000);
|
|
12
|
+
const year = date.getUTCFullYear();
|
|
13
|
+
const month = String(date.getUTCMonth() + 1).padStart(2, '0');
|
|
14
|
+
const day = String(date.getUTCDate()).padStart(2, '0');
|
|
15
|
+
const hours = String(date.getUTCHours()).padStart(2, '0');
|
|
16
|
+
const minutes = String(date.getUTCMinutes()).padStart(2, '0');
|
|
17
|
+
const seconds = String(date.getUTCSeconds()).padStart(2, '0');
|
|
18
|
+
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
|
19
|
+
}
|
|
20
|
+
const format_utils_1 = require("../format-utils");
|
|
21
|
+
class TableHistoryFormatter extends base_formatter_1.AbstractFormatter {
|
|
22
|
+
format(options) {
|
|
23
|
+
const { channelName, messages, users } = options;
|
|
24
|
+
console.log(chalk_1.default.bold(`\nMessage History for #${channelName}:`));
|
|
25
|
+
if (messages.length === 0) {
|
|
26
|
+
console.log(chalk_1.default.yellow('No messages found'));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
console.log('');
|
|
30
|
+
messages.forEach((message) => {
|
|
31
|
+
const timestamp = formatTimestampFixed(message.ts);
|
|
32
|
+
const username = this.getUsername(message, users);
|
|
33
|
+
console.log(`${chalk_1.default.gray(`[${timestamp}]`)} ${chalk_1.default.cyan(username)}`);
|
|
34
|
+
const text = message.text ? (0, format_utils_1.formatMessageWithMentions)(message.text, users) : '(no text)';
|
|
35
|
+
console.log(text);
|
|
36
|
+
console.log('');
|
|
37
|
+
});
|
|
38
|
+
console.log(chalk_1.default.green(`✓ Displayed ${messages.length} message(s)`));
|
|
39
|
+
}
|
|
40
|
+
getUsername(message, users) {
|
|
41
|
+
if (message.user) {
|
|
42
|
+
return users.get(message.user) || 'Unknown User';
|
|
43
|
+
}
|
|
44
|
+
if (message.bot_id) {
|
|
45
|
+
return 'Bot';
|
|
46
|
+
}
|
|
47
|
+
return 'Unknown';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
class SimpleHistoryFormatter extends base_formatter_1.AbstractFormatter {
|
|
51
|
+
format(options) {
|
|
52
|
+
const { messages, users } = options;
|
|
53
|
+
if (messages.length === 0) {
|
|
54
|
+
console.log('No messages found');
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
messages.forEach((message) => {
|
|
58
|
+
const timestamp = formatTimestampFixed(message.ts);
|
|
59
|
+
const username = this.getUsername(message, users);
|
|
60
|
+
const text = message.text ? (0, format_utils_1.formatMessageWithMentions)(message.text, users) : '(no text)';
|
|
61
|
+
console.log(`[${timestamp}] ${username}: ${text}`);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
getUsername(message, users) {
|
|
65
|
+
if (message.user) {
|
|
66
|
+
return users.get(message.user) || 'Unknown User';
|
|
67
|
+
}
|
|
68
|
+
if (message.bot_id) {
|
|
69
|
+
return 'Bot';
|
|
70
|
+
}
|
|
71
|
+
return 'Unknown';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
class JsonHistoryFormatter extends base_formatter_1.JsonFormatter {
|
|
75
|
+
transform(options) {
|
|
76
|
+
const { channelName, messages, users } = options;
|
|
77
|
+
return {
|
|
78
|
+
channel: channelName,
|
|
79
|
+
messages: messages.map((message) => ({
|
|
80
|
+
timestamp: formatTimestampFixed(message.ts),
|
|
81
|
+
user: this.getUsername(message, users),
|
|
82
|
+
text: message.text || '(no text)',
|
|
83
|
+
})),
|
|
84
|
+
total: messages.length,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
getUsername(message, users) {
|
|
88
|
+
if (message.user) {
|
|
89
|
+
return users.get(message.user) || 'Unknown User';
|
|
90
|
+
}
|
|
91
|
+
if (message.bot_id) {
|
|
92
|
+
return 'Bot';
|
|
93
|
+
}
|
|
94
|
+
return 'Unknown';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const historyFormatterFactory = (0, base_formatter_1.createFormatterFactory)({
|
|
98
|
+
table: new TableHistoryFormatter(),
|
|
99
|
+
simple: new SimpleHistoryFormatter(),
|
|
100
|
+
json: new JsonHistoryFormatter(),
|
|
101
|
+
});
|
|
102
|
+
function createHistoryFormatter(format) {
|
|
103
|
+
return historyFormatterFactory.create(format);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=history-formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-formatters.js","sourceRoot":"","sources":["../../../src/utils/formatters/history-formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,10 @@ export declare const optionValidators: {
|
|
|
71
71
|
* Validates date format for history command
|
|
72
72
|
*/
|
|
73
73
|
sinceDate: (options: Record<string, unknown>) => string | null;
|
|
74
|
+
/**
|
|
75
|
+
* Validates format option
|
|
76
|
+
*/
|
|
77
|
+
format: (options: Record<string, unknown>) => string | null;
|
|
74
78
|
};
|
|
75
79
|
/**
|
|
76
80
|
* Creates a validated option parser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AAEH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CASf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAKf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,SAAU,GAClB,MAAM,GAAG,IAAI,CAQf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMpE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;6BACsB,MAAM,KAAG,MAAM,GAAG,IAAI;IAK/C;;OAEG;uBACgB,MAAM,KAAG,MAAM,GAAG,IAAI;IAKzC;;OAEG;0BACmB,MAAM,KAAG,MAAM,GAAG,IAAI;CAO7C,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC,GACxF,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAYhC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;6BACsB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAUhE;;OAEG;+BACwB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAOlE;;OAEG;4BACqB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAW/D;;OAEG;yBACkB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AAEH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EAAE,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CASf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,GAAG,IAAI,CAKf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,SAAU,GAClB,MAAM,GAAG,IAAI,CAQf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMpE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;6BACsB,MAAM,KAAG,MAAM,GAAG,IAAI;IAK/C;;OAEG;uBACgB,MAAM,KAAG,MAAM,GAAG,IAAI;IAKzC;;OAEG;0BACmB,MAAM,KAAG,MAAM,GAAG,IAAI;CAO7C,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC,GACxF,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAYhC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;6BACsB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAUhE;;OAEG;+BACwB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAOlE;;OAEG;4BACqB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAW/D;;OAEG;yBACkB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;IAU5D;;OAEG;sBACe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,GAAG,IAAI;CAS1D,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,EACzD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,GACtC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,CAWnD"}
|
package/dist/utils/validators.js
CHANGED
|
@@ -156,6 +156,18 @@ exports.optionValidators = {
|
|
|
156
156
|
}
|
|
157
157
|
return null;
|
|
158
158
|
},
|
|
159
|
+
/**
|
|
160
|
+
* Validates format option
|
|
161
|
+
*/
|
|
162
|
+
format: (options) => {
|
|
163
|
+
if (options.format) {
|
|
164
|
+
const validFormats = ['table', 'simple', 'json'];
|
|
165
|
+
if (!validFormats.includes(options.format)) {
|
|
166
|
+
return `Invalid format '${options.format}'. Must be one of: ${validFormats.join(', ')}`;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return null;
|
|
170
|
+
},
|
|
159
171
|
};
|
|
160
172
|
/**
|
|
161
173
|
* Creates a validated option parser
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":";;;AAoBA,4CAKC;AAKD,8DAaC;AAKD,wCASC;AAKD,sCAaC;AAKD,gDAMC;AAqCD,oDAcC;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
package/eslint.config.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import eslint from '@eslint/js';
|
|
2
|
+
import tseslint from 'typescript-eslint';
|
|
3
|
+
import prettierConfig from 'eslint-config-prettier';
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
{
|
|
7
|
+
ignores: ['dist/**', 'node_modules/**', 'coverage/**', 'vitest.config.ts']
|
|
8
|
+
},
|
|
9
|
+
eslint.configs.recommended,
|
|
10
|
+
...tseslint.configs.recommended,
|
|
11
|
+
prettierConfig,
|
|
12
|
+
{
|
|
13
|
+
languageOptions: {
|
|
14
|
+
ecmaVersion: 2020,
|
|
15
|
+
sourceType: 'module',
|
|
16
|
+
parserOptions: {
|
|
17
|
+
project: './tsconfig.json'
|
|
18
|
+
},
|
|
19
|
+
globals: {
|
|
20
|
+
console: 'readonly',
|
|
21
|
+
process: 'readonly',
|
|
22
|
+
Buffer: 'readonly',
|
|
23
|
+
__dirname: 'readonly',
|
|
24
|
+
__filename: 'readonly',
|
|
25
|
+
exports: 'readonly',
|
|
26
|
+
module: 'readonly',
|
|
27
|
+
require: 'readonly',
|
|
28
|
+
global: 'readonly'
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
rules: {
|
|
32
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
33
|
+
'@typescript-eslint/no-explicit-any': 'warn',
|
|
34
|
+
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
|
35
|
+
'no-console': 'off'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
];
|