@dittowords/cli 3.10.1 → 4.0.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/README.md +125 -36
- package/bin/add-project.js +101 -33
- package/bin/add-project.js.map +1 -1
- package/bin/api.js +49 -15
- package/bin/api.js.map +1 -1
- package/bin/component-folders.js +56 -7
- package/bin/component-folders.js.map +1 -1
- package/bin/config.js +206 -170
- package/bin/config.js.map +1 -1
- package/bin/config.test.js +92 -0
- package/bin/config.test.js.map +1 -0
- package/bin/consts.js +64 -18
- package/bin/consts.js.map +1 -1
- package/bin/ditto.js +250 -200
- package/bin/ditto.js.map +1 -1
- package/bin/generate-suggestions.js +155 -78
- package/bin/generate-suggestions.js.map +1 -1
- package/bin/generate-suggestions.test.js +189 -0
- package/bin/generate-suggestions.test.js.map +1 -0
- package/bin/http/fetchComponentFolders.js +60 -8
- package/bin/http/fetchComponentFolders.js.map +1 -1
- package/bin/http/fetchComponents.js +65 -18
- package/bin/http/fetchComponents.js.map +1 -1
- package/bin/http/fetchVariants.js +74 -14
- package/bin/http/fetchVariants.js.map +1 -1
- package/bin/http/importComponents.js +100 -49
- package/bin/http/importComponents.js.map +1 -1
- package/bin/importComponents.js +61 -10
- package/bin/importComponents.js.map +1 -1
- package/bin/init/init.js +120 -44
- package/bin/init/init.js.map +1 -1
- package/bin/init/project.js +160 -83
- package/bin/init/project.js.map +1 -1
- package/bin/init/project.test.js +49 -0
- package/bin/init/project.test.js.map +1 -0
- package/bin/init/token.js +134 -74
- package/bin/init/token.js.map +1 -1
- package/bin/init/token.test.js +69 -0
- package/bin/init/token.test.js.map +1 -0
- package/bin/output.js +72 -30
- package/bin/output.js.map +1 -1
- package/bin/pull.js +424 -213
- package/bin/pull.js.map +1 -1
- package/bin/pull.test.js +410 -0
- package/bin/pull.test.js.map +1 -0
- package/bin/remove-project.js +91 -27
- package/bin/remove-project.js.map +1 -1
- package/bin/replace.js +140 -100
- package/bin/replace.js.map +1 -1
- package/bin/replace.test.js +155 -0
- package/bin/replace.test.js.map +1 -0
- package/bin/sentry-test.js.map +1 -0
- package/bin/types.js +20 -2
- package/bin/types.js.map +1 -1
- package/bin/utils/cleanFileName.js +32 -8
- package/bin/utils/cleanFileName.js.map +1 -1
- package/bin/utils/createSentryContext.js +43 -0
- package/bin/utils/createSentryContext.js.map +1 -0
- package/bin/utils/generateJsDriver.js +114 -51
- package/bin/utils/generateJsDriver.js.map +1 -1
- package/bin/utils/getSelectedProjects.js +58 -52
- package/bin/utils/getSelectedProjects.js.map +1 -1
- package/bin/utils/processMetaOption.js +36 -11
- package/bin/utils/processMetaOption.js.map +1 -1
- package/bin/utils/processMetaOption.test.js +45 -0
- package/bin/utils/processMetaOption.test.js.map +1 -0
- package/bin/utils/projectsToText.js +52 -19
- package/bin/utils/projectsToText.js.map +1 -1
- package/bin/utils/promptForProject.js +89 -36
- package/bin/utils/promptForProject.js.map +1 -1
- package/bin/utils/quit.js +36 -7
- package/bin/utils/quit.js.map +1 -1
- package/bin/utils/sourcesToText.js +51 -19
- package/bin/utils/sourcesToText.js.map +1 -1
- package/etsc.config.js +13 -0
- package/lib/config.ts +27 -8
- package/lib/ditto.ts +6 -0
- package/lib/init/project.ts +3 -3
- package/lib/pull.ts +190 -52
- package/lib/types.ts +24 -7
- package/lib/utils/createSentryContext.ts +20 -0
- package/lib/utils/generateJsDriver.ts +40 -6
- package/lib/utils/quit.ts +2 -3
- package/package.json +10 -6
- package/tsconfig.json +4 -1
- package/bin/lib/add-project.js +0 -36
- package/bin/lib/add-project.js.map +0 -1
- package/bin/lib/api.js +0 -20
- package/bin/lib/api.js.map +0 -1
- package/bin/lib/config.js +0 -202
- package/bin/lib/config.js.map +0 -1
- package/bin/lib/consts.js +0 -21
- package/bin/lib/consts.js.map +0 -1
- package/bin/lib/ditto.js +0 -121
- package/bin/lib/ditto.js.map +0 -1
- package/bin/lib/generate-suggestions.js +0 -71
- package/bin/lib/generate-suggestions.js.map +0 -1
- package/bin/lib/http/fetchComponents.js +0 -13
- package/bin/lib/http/fetchComponents.js.map +0 -1
- package/bin/lib/http/fetchVariants.js +0 -26
- package/bin/lib/http/fetchVariants.js.map +0 -1
- package/bin/lib/init/init.js +0 -50
- package/bin/lib/init/init.js.map +0 -1
- package/bin/lib/init/project.js +0 -108
- package/bin/lib/init/project.js.map +0 -1
- package/bin/lib/init/token.js +0 -91
- package/bin/lib/init/token.js.map +0 -1
- package/bin/lib/output.js +0 -34
- package/bin/lib/output.js.map +0 -1
- package/bin/lib/pull.js +0 -264
- package/bin/lib/pull.js.map +0 -1
- package/bin/lib/remove-project.js +0 -35
- package/bin/lib/remove-project.js.map +0 -1
- package/bin/lib/replace.js +0 -107
- package/bin/lib/replace.js.map +0 -1
- package/bin/lib/types.js +0 -3
- package/bin/lib/types.js.map +0 -1
- package/bin/lib/utils/cleanFileName.js +0 -11
- package/bin/lib/utils/cleanFileName.js.map +0 -1
- package/bin/lib/utils/generateJsDriver.js +0 -56
- package/bin/lib/utils/generateJsDriver.js.map +0 -1
- package/bin/lib/utils/getSelectedProjects.js +0 -61
- package/bin/lib/utils/getSelectedProjects.js.map +0 -1
- package/bin/lib/utils/processMetaOption.js +0 -15
- package/bin/lib/utils/processMetaOption.js.map +0 -1
- package/bin/lib/utils/projectsToText.js +0 -25
- package/bin/lib/utils/projectsToText.js.map +0 -1
- package/bin/lib/utils/promptForProject.js +0 -43
- package/bin/lib/utils/promptForProject.js.map +0 -1
- package/bin/lib/utils/quit.js +0 -10
- package/bin/lib/utils/quit.js.map +0 -1
- package/bin/lib/utils/sourcesToText.js +0 -25
- package/bin/lib/utils/sourcesToText.js.map +0 -1
- package/bin/package.json +0 -76
package/bin/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../lib/consts.ts"],"sourcesContent":["import { homedir } from \"os\";\nimport path from \"path\";\n\nexport const API_HOST =\n process.env.DITTO_API_HOST || \"https://api.dittowords.com\";\nexport const CONFIG_FILE =\n process.env.DITTO_CONFIG_FILE || path.join(homedir(), \".config\", \"ditto\");\nexport const PROJECT_CONFIG_FILE = path.normalize(\n path.join(\"ditto\", \"config.yml\")\n);\nexport const TEXT_DIR = process.env.DITTO_TEXT_DIR || \"ditto\";\nexport const TEXT_FILE = path.normalize(path.join(TEXT_DIR, \"text.json\"));\n\nexport default {\n API_HOST,\n CONFIG_FILE,\n PROJECT_CONFIG_FILE,\n TEXT_DIR,\n TEXT_FILE,\n};\n"],"names":["path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAwB;AACxB,kBAAiB;AAEV,MAAM,WACX,QAAQ,IAAI,kBAAkB;AACzB,MAAM,cACX,QAAQ,IAAI,qBAAqB,YAAAA,QAAK,SAAK,mBAAQ,GAAG,WAAW,OAAO;AACnE,MAAM,sBAAsB,YAAAA,QAAK;AAAA,EACtC,YAAAA,QAAK,KAAK,SAAS,YAAY;AACjC;AACO,MAAM,WAAW,QAAQ,IAAI,kBAAkB;AAC/C,MAAM,YAAY,YAAAA,QAAK,UAAU,YAAAA,QAAK,KAAK,UAAU,WAAW,CAAC;AAExE,IAAO,iBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF","debug_id":"2f4fc790-aa3c-5658-8839-9af5301ee3e0"}
|
package/bin/ditto.js
CHANGED
|
@@ -1,218 +1,268 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var
|
|
4
|
-
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1aef5e25-454d-575d-89a4-19671b4381dc")}catch(e){}}();
|
|
4
|
+
|
|
5
|
+
var __create = Object.create;
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
9
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
10
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
13
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
|
+
var __spreadValues = (a, b) => {
|
|
15
|
+
for (var prop in b || (b = {}))
|
|
16
|
+
if (__hasOwnProp.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
if (__getOwnPropSymbols)
|
|
19
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
20
|
+
if (__propIsEnum.call(b, prop))
|
|
21
|
+
__defNormalProp(a, prop, b[prop]);
|
|
22
|
+
}
|
|
23
|
+
return a;
|
|
24
|
+
};
|
|
25
|
+
var __copyProps = (to, from, except, desc) => {
|
|
26
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
27
|
+
for (let key of __getOwnPropNames(from))
|
|
28
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
29
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
30
|
+
}
|
|
31
|
+
return to;
|
|
32
|
+
};
|
|
33
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
34
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
35
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
36
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
37
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
38
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
39
|
+
mod
|
|
40
|
+
));
|
|
41
|
+
var __async = (__this, __arguments, generator) => {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
|
+
var fulfilled = (value) => {
|
|
44
|
+
try {
|
|
45
|
+
step(generator.next(value));
|
|
46
|
+
} catch (e) {
|
|
47
|
+
reject(e);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var rejected = (value) => {
|
|
51
|
+
try {
|
|
52
|
+
step(generator.throw(value));
|
|
53
|
+
} catch (e) {
|
|
54
|
+
reject(e);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
58
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
59
|
+
});
|
|
5
60
|
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
require("
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
61
|
+
var import_commander = require("commander");
|
|
62
|
+
var import_v8_compile_cache = require("v8-compile-cache");
|
|
63
|
+
var import_fs = __toESM(require("fs"));
|
|
64
|
+
var import_path = __toESM(require("path"));
|
|
65
|
+
var Sentry = __toESM(require("@sentry/node"));
|
|
66
|
+
var import_package = require("../package.json");
|
|
67
|
+
var import_init = require("./init/init");
|
|
68
|
+
var import_pull = require("./pull");
|
|
69
|
+
var import_quit = require("./utils/quit");
|
|
70
|
+
var import_add_project = __toESM(require("./add-project"));
|
|
71
|
+
var import_remove_project = __toESM(require("./remove-project"));
|
|
72
|
+
var import_replace = require("./replace");
|
|
73
|
+
var import_generate_suggestions = require("./generate-suggestions");
|
|
74
|
+
var import_processMetaOption = __toESM(require("./utils/processMetaOption"));
|
|
75
|
+
var import_importComponents = require("./importComponents");
|
|
76
|
+
var import_component_folders = require("./component-folders");
|
|
77
|
+
const environment = "production";
|
|
78
|
+
Sentry.init({ dsn: "https://9c1d99fa4267f54c6b914f720b4ed3a2@o979374.ingest.sentry.io/4505705213919232", environment, release: import_package.version });
|
|
23
79
|
function getVersion() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
80
|
+
const packageJsonPath = import_path.default.join(__dirname, "..", "package.json");
|
|
81
|
+
const packageJsonContent = import_fs.default.readFileSync(packageJsonPath, "utf8");
|
|
82
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
83
|
+
return packageJson.version;
|
|
28
84
|
}
|
|
29
85
|
const VERSION = getVersion();
|
|
30
86
|
const COMMANDS = [
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
87
|
+
{
|
|
88
|
+
name: "pull",
|
|
89
|
+
description: "Sync copy from Ditto into the current working directory"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
name: "project",
|
|
93
|
+
description: "Add a Ditto project to sync copy from",
|
|
94
|
+
commands: [
|
|
95
|
+
{
|
|
96
|
+
name: "add",
|
|
97
|
+
description: "Add a Ditto project to sync copy from"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: "remove",
|
|
101
|
+
description: "Stop syncing copy from a Ditto project"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "component-folders",
|
|
107
|
+
description: "List component folders in your workspace. More information about component folders can be found here: https://www.dittowords.com/docs/component-folders."
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "generate-suggestions",
|
|
111
|
+
description: "Find text that can be potentially replaced with Ditto text",
|
|
112
|
+
flags: {
|
|
113
|
+
"-d, --directory [value]": {
|
|
114
|
+
description: "Directory to search for text"
|
|
115
|
+
},
|
|
116
|
+
"-f, --files [value]": {
|
|
117
|
+
description: "Files to search for text (will override -d)",
|
|
118
|
+
processor: (value) => value.split(",")
|
|
119
|
+
},
|
|
120
|
+
"-cf, --component-folder [value]": {
|
|
121
|
+
description: "Component folder to search for matches"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: "replace",
|
|
127
|
+
description: "Find and replace Ditto text with code",
|
|
128
|
+
flags: {
|
|
129
|
+
"-ln, --line-numbers [value]": {
|
|
130
|
+
description: "Only replace text on a specific line number",
|
|
131
|
+
processor: (value) => value.split(",").map(Number)
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: "import-components",
|
|
137
|
+
description: "Import components via a file. For more information please see: https://www.dittowords.com/docs/importing-string-files.",
|
|
138
|
+
flags: {
|
|
139
|
+
"-t, --text [value]": {
|
|
140
|
+
description: "Text column index (.csv format only)"
|
|
141
|
+
},
|
|
142
|
+
"-n, --component-name [value]": {
|
|
143
|
+
description: "Name column indexes (comma separated) (.csv format only)"
|
|
144
|
+
},
|
|
145
|
+
"-no, --notes [value]": {
|
|
146
|
+
description: "Notes column index (.csv format only)"
|
|
147
|
+
},
|
|
148
|
+
"-t, --tags [value]": {
|
|
149
|
+
description: "Tags column index (.csv format only)"
|
|
150
|
+
},
|
|
151
|
+
"-s, --status [value]": {
|
|
152
|
+
description: "Status column index (.csv format only)"
|
|
153
|
+
},
|
|
154
|
+
"-c, --component-id [value]": {
|
|
155
|
+
description: "Component ID column index (.csv format only)"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
103
159
|
];
|
|
104
160
|
const setupCommands = () => {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
.description(commandConfig.description)
|
|
110
|
-
.action((options) => {
|
|
111
|
-
return executeCommand(commandConfig.name, options);
|
|
112
|
-
});
|
|
113
|
-
if (commandConfig.flags) {
|
|
114
|
-
Object.entries(commandConfig.flags).forEach(([flags, { description, processor }]) => {
|
|
115
|
-
if (processor) {
|
|
116
|
-
cmd.option(flags, description, processor);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
cmd.option(flags, description);
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
if ("commands" in commandConfig && commandConfig.commands) {
|
|
124
|
-
commandConfig.commands.forEach((nestedCommand) => {
|
|
125
|
-
cmd
|
|
126
|
-
.command(nestedCommand.name)
|
|
127
|
-
.description(nestedCommand.description)
|
|
128
|
-
.action((str, options) => {
|
|
129
|
-
if (commandConfig.name === "project") {
|
|
130
|
-
const command = `${commandConfig.name} ${nestedCommand.name}`;
|
|
131
|
-
return executeCommand(command, options);
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
}
|
|
161
|
+
import_commander.program.name("ditto-cli");
|
|
162
|
+
COMMANDS.forEach((commandConfig) => {
|
|
163
|
+
const cmd = import_commander.program.command(commandConfig.name).description(commandConfig.description).action((options) => {
|
|
164
|
+
return executeCommand(commandConfig.name, options);
|
|
136
165
|
});
|
|
166
|
+
if (commandConfig.flags) {
|
|
167
|
+
Object.entries(commandConfig.flags).forEach(
|
|
168
|
+
([flags, { description, processor }]) => {
|
|
169
|
+
if (processor) {
|
|
170
|
+
cmd.option(flags, description, processor);
|
|
171
|
+
} else {
|
|
172
|
+
cmd.option(flags, description);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
if ("commands" in commandConfig && commandConfig.commands) {
|
|
178
|
+
commandConfig.commands.forEach((nestedCommand) => {
|
|
179
|
+
cmd.command(nestedCommand.name).description(nestedCommand.description).action((str, options) => {
|
|
180
|
+
if (commandConfig.name === "project") {
|
|
181
|
+
const command = `${commandConfig.name} ${nestedCommand.name}`;
|
|
182
|
+
return executeCommand(command, options);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
});
|
|
137
188
|
};
|
|
138
189
|
const setupOptions = () => {
|
|
139
|
-
|
|
140
|
-
|
|
190
|
+
import_commander.program.option(
|
|
191
|
+
"-m, --meta <data...>",
|
|
192
|
+
"Include arbitrary data in requests to the Ditto API. Ex: -m githubActionRequest:true trigger:manual"
|
|
193
|
+
);
|
|
194
|
+
import_commander.program.version(VERSION, "-v, --version", "Output the current version");
|
|
141
195
|
};
|
|
142
|
-
const executeCommand =
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
196
|
+
const executeCommand = (command, options) => __async(exports, null, function* () {
|
|
197
|
+
const needsInitialization = (0, import_init.needsTokenOrSource)();
|
|
198
|
+
if (needsInitialization) {
|
|
199
|
+
try {
|
|
200
|
+
yield (0, import_init.init)();
|
|
201
|
+
} catch (error) {
|
|
202
|
+
(0, import_quit.quit)("Exiting Ditto CLI...");
|
|
203
|
+
return;
|
|
152
204
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
case "project":
|
|
160
|
-
case "project add": {
|
|
161
|
-
// initialization already includes the selection of a source,
|
|
162
|
-
// so if `project add` is called during initialization, don't
|
|
163
|
-
// prompt the user to select a source again
|
|
164
|
-
if (needsInitialization)
|
|
165
|
-
return;
|
|
166
|
-
return (0, add_project_1.default)();
|
|
167
|
-
}
|
|
168
|
-
case "project remove": {
|
|
169
|
-
return (0, remove_project_1.default)();
|
|
170
|
-
}
|
|
171
|
-
case "component-folders": {
|
|
172
|
-
return (0, component_folders_1.showComponentFolders)();
|
|
173
|
-
}
|
|
174
|
-
case "generate-suggestions": {
|
|
175
|
-
return (0, generate_suggestions_1.generateSuggestions)({
|
|
176
|
-
directory: options.directory,
|
|
177
|
-
files: options.files,
|
|
178
|
-
componentFolder: options.componentFolder,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
case "replace": {
|
|
182
|
-
return (0, replace_1.replace)(options.args, {
|
|
183
|
-
...(options?.lineNumbers ? { lineNumbers: options.lineNumbers } : {}),
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
case "import-components": {
|
|
187
|
-
if (options.args.length === 0) {
|
|
188
|
-
console.info("Please provide a file path.");
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
return (0, importComponents_1.importComponents)(options.args[0], {
|
|
192
|
-
csvColumnMapping: {
|
|
193
|
-
name: options.componentName,
|
|
194
|
-
text: options.text,
|
|
195
|
-
notes: options.notes,
|
|
196
|
-
tags: options.tags,
|
|
197
|
-
status: options.status,
|
|
198
|
-
componentId: options.componentId,
|
|
199
|
-
},
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
default: {
|
|
203
|
-
(0, quit_1.quit)("Exiting Ditto CLI...");
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
205
|
+
}
|
|
206
|
+
const { meta } = import_commander.program.opts();
|
|
207
|
+
switch (command) {
|
|
208
|
+
case "none":
|
|
209
|
+
case "pull": {
|
|
210
|
+
return (0, import_pull.pull)({ meta: (0, import_processMetaOption.default)(meta) });
|
|
206
211
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
setupOptions();
|
|
211
|
-
if (process.argv.length <= 2 && process.argv[1].includes("ditto-cli")) {
|
|
212
|
-
await executeCommand("none", []);
|
|
212
|
+
case "project":
|
|
213
|
+
case "project add": {
|
|
214
|
+
if (needsInitialization)
|
|
213
215
|
return;
|
|
216
|
+
return (0, import_add_project.default)();
|
|
214
217
|
}
|
|
215
|
-
|
|
216
|
-
|
|
218
|
+
case "project remove": {
|
|
219
|
+
return (0, import_remove_project.default)();
|
|
220
|
+
}
|
|
221
|
+
case "component-folders": {
|
|
222
|
+
return (0, import_component_folders.showComponentFolders)();
|
|
223
|
+
}
|
|
224
|
+
case "generate-suggestions": {
|
|
225
|
+
return (0, import_generate_suggestions.generateSuggestions)({
|
|
226
|
+
directory: options.directory,
|
|
227
|
+
files: options.files,
|
|
228
|
+
componentFolder: options.componentFolder
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
case "replace": {
|
|
232
|
+
return (0, import_replace.replace)(options.args, __spreadValues({}, (options == null ? void 0 : options.lineNumbers) ? { lineNumbers: options.lineNumbers } : {}));
|
|
233
|
+
}
|
|
234
|
+
case "import-components": {
|
|
235
|
+
if (options.args.length === 0) {
|
|
236
|
+
console.info("Please provide a file path.");
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
return (0, import_importComponents.importComponents)(options.args[0], {
|
|
240
|
+
csvColumnMapping: {
|
|
241
|
+
name: options.componentName,
|
|
242
|
+
text: options.text,
|
|
243
|
+
notes: options.notes,
|
|
244
|
+
tags: options.tags,
|
|
245
|
+
status: options.status,
|
|
246
|
+
componentId: options.componentId
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
default: {
|
|
251
|
+
(0, import_quit.quit)("Exiting Ditto CLI...");
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
const main = () => __async(exports, null, function* () {
|
|
257
|
+
setupCommands();
|
|
258
|
+
setupOptions();
|
|
259
|
+
if (process.argv.length <= 2 && process.argv[1].includes("ditto-cli")) {
|
|
260
|
+
yield executeCommand("none", []);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
import_commander.program.parse(process.argv);
|
|
264
|
+
});
|
|
217
265
|
main();
|
|
218
|
-
//# sourceMappingURL=ditto.js.map
|
|
266
|
+
//# sourceMappingURL=ditto.js.map
|
|
267
|
+
|
|
268
|
+
//# debugId=1aef5e25-454d-575d-89a4-19671b4381dc
|
package/bin/ditto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ditto.js","sourceRoot":"","sources":["../lib/ditto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../lib/ditto.ts"],"sourcesContent":["#!/usr/bin/env node\n// This is the main entry point for the ditto-cli command.\nimport { program } from \"commander\";\n// to use V8's code cache to speed up instantiation time\nimport \"v8-compile-cache\";\nimport fs from \"fs\";\nimport path from \"path\";\nimport * as Sentry from \"@sentry/node\";\nimport { version as release } from \"../package.json\";\n\nimport { init, needsTokenOrSource } from \"./init/init\";\nimport { pull } from \"./pull\";\nimport { quit } from \"./utils/quit\";\nimport addProject from \"./add-project\";\nimport removeProject from \"./remove-project\";\nimport { replace } from \"./replace\";\nimport { generateSuggestions } from \"./generate-suggestions\";\n\nimport processMetaOption from \"./utils/processMetaOption\";\nimport { importComponents } from \"./importComponents\";\nimport { showComponentFolders } from \"./component-folders\";\n\nconst environment = process.env.ENV || \"development\";\nSentry.init({ dsn: process.env.SENTRY_DSN, environment, release });\n\nfunction getVersion(): string {\n const packageJsonPath = path.join(__dirname, \"..\", \"package.json\");\n const packageJsonContent = fs.readFileSync(packageJsonPath, \"utf8\");\n const packageJson = JSON.parse(packageJsonContent) as { version: string };\n return packageJson.version;\n}\n\nconst VERSION = getVersion();\n\ntype Command =\n | \"pull\"\n | \"project\"\n | \"project add\"\n | \"project remove\"\n | \"component-folders\"\n | \"generate-suggestions\"\n | \"replace\"\n | \"import-components\";\n\ninterface CommandConfig<T extends Command | \"add\" | \"remove\"> {\n name: T;\n description: string;\n commands?: CommandConfig<\"add\" | \"remove\">[];\n flags?: {\n [flag: string]: { description: string; processor?: (value: string) => any };\n };\n}\n\nconst COMMANDS: CommandConfig<Command>[] = [\n {\n name: \"pull\",\n description: \"Sync copy from Ditto into the current working directory\",\n },\n {\n name: \"project\",\n description: \"Add a Ditto project to sync copy from\",\n commands: [\n {\n name: \"add\",\n description: \"Add a Ditto project to sync copy from\",\n },\n {\n name: \"remove\",\n description: \"Stop syncing copy from a Ditto project\",\n },\n ],\n },\n {\n name: \"component-folders\",\n description:\n \"List component folders in your workspace. More information about component folders can be found here: https://www.dittowords.com/docs/component-folders.\",\n },\n {\n name: \"generate-suggestions\",\n description: \"Find text that can be potentially replaced with Ditto text\",\n flags: {\n \"-d, --directory [value]\": {\n description: \"Directory to search for text\",\n },\n \"-f, --files [value]\": {\n description: \"Files to search for text (will override -d)\",\n processor: (value: string) => value.split(\",\"),\n },\n \"-cf, --component-folder [value]\": {\n description: \"Component folder to search for matches\",\n },\n },\n },\n {\n name: \"replace\",\n description: \"Find and replace Ditto text with code\",\n flags: {\n \"-ln, --line-numbers [value]\": {\n description: \"Only replace text on a specific line number\",\n processor: (value: string) => value.split(\",\").map(Number),\n },\n },\n },\n {\n name: \"import-components\",\n description:\n \"Import components via a file. For more information please see: https://www.dittowords.com/docs/importing-string-files.\",\n flags: {\n \"-t, --text [value]\": {\n description: \"Text column index (.csv format only)\",\n },\n \"-n, --component-name [value]\": {\n description: \"Name column indexes (comma separated) (.csv format only)\",\n },\n \"-no, --notes [value]\": {\n description: \"Notes column index (.csv format only)\",\n },\n \"-t, --tags [value]\": {\n description: \"Tags column index (.csv format only)\",\n },\n \"-s, --status [value]\": {\n description: \"Status column index (.csv format only)\",\n },\n \"-c, --component-id [value]\": {\n description: \"Component ID column index (.csv format only)\",\n },\n },\n },\n];\n\nconst setupCommands = () => {\n program.name(\"ditto-cli\");\n\n COMMANDS.forEach((commandConfig) => {\n const cmd = program\n .command(commandConfig.name)\n .description(commandConfig.description)\n .action((options) => {\n return executeCommand(commandConfig.name, options);\n });\n\n if (commandConfig.flags) {\n Object.entries(commandConfig.flags).forEach(\n ([flags, { description, processor }]) => {\n if (processor) {\n cmd.option(flags, description, processor);\n } else {\n cmd.option(flags, description);\n }\n }\n );\n }\n\n if (\"commands\" in commandConfig && commandConfig.commands) {\n commandConfig.commands.forEach((nestedCommand) => {\n cmd\n .command(nestedCommand.name)\n .description(nestedCommand.description)\n .action((str, options) => {\n if (commandConfig.name === \"project\") {\n const command =\n `${commandConfig.name} ${nestedCommand.name}` as Command;\n\n return executeCommand(command, options);\n }\n });\n });\n }\n });\n};\n\nconst setupOptions = () => {\n program.option(\n \"-m, --meta <data...>\",\n \"Include arbitrary data in requests to the Ditto API. Ex: -m githubActionRequest:true trigger:manual\"\n );\n program.version(VERSION, \"-v, --version\", \"Output the current version\");\n};\n\nconst executeCommand = async (\n command: Command | \"none\",\n options: any\n): Promise<void> => {\n const needsInitialization = needsTokenOrSource();\n if (needsInitialization) {\n try {\n await init();\n } catch (error) {\n quit(\"Exiting Ditto CLI...\");\n return;\n }\n }\n\n const { meta } = program.opts();\n switch (command) {\n case \"none\":\n case \"pull\": {\n return pull({ meta: processMetaOption(meta) });\n }\n case \"project\":\n case \"project add\": {\n // initialization already includes the selection of a source,\n // so if `project add` is called during initialization, don't\n // prompt the user to select a source again\n if (needsInitialization) return;\n\n return addProject();\n }\n case \"project remove\": {\n return removeProject();\n }\n case \"component-folders\": {\n return showComponentFolders();\n }\n case \"generate-suggestions\": {\n return generateSuggestions({\n directory: options.directory,\n files: options.files,\n componentFolder: options.componentFolder,\n });\n }\n case \"replace\": {\n return replace(options.args, {\n ...(options?.lineNumbers ? { lineNumbers: options.lineNumbers } : {}),\n });\n }\n case \"import-components\": {\n if (options.args.length === 0) {\n console.info(\"Please provide a file path.\");\n return;\n }\n return importComponents(options.args[0], {\n csvColumnMapping: {\n name: options.componentName,\n text: options.text,\n notes: options.notes,\n tags: options.tags,\n status: options.status,\n componentId: options.componentId,\n },\n });\n }\n default: {\n quit(\"Exiting Ditto CLI...\");\n return;\n }\n }\n};\n\nconst main = async () => {\n setupCommands();\n setupOptions();\n\n if (process.argv.length <= 2 && process.argv[1].includes(\"ditto-cli\")) {\n await executeCommand(\"none\", []);\n return;\n }\n\n program.parse(process.argv);\n};\n\nmain();\n"],"names":["release","path","fs","processMetaOption","addProject","removeProject"],"mappings":"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","debug_id":"1aef5e25-454d-575d-89a4-19671b4381dc"}
|