@dittowords/cli 3.6.1 → 3.7.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/.idea/cli.iml +13 -0
- package/.idea/codeStyles/Project.xml +65 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.idea/workspace.xml +101 -0
- package/bin/ditto.js +5 -2
- package/bin/ditto.js.map +1 -1
- package/bin/generate-suggestions.js +3 -1
- package/bin/generate-suggestions.js.map +1 -1
- package/bin/http/fetchComponents.js +15 -3
- package/bin/http/fetchComponents.js.map +1 -1
- package/lib/ditto.ts +5 -3
- package/lib/generate-suggestions.ts +9 -6
- package/lib/http/fetchComponents.ts +20 -10
- package/package.json +1 -3
- package/testfiles/test2.jsx +1 -1
- package/.eslintrc.js +0 -17
package/.idea/cli.iml
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="WEB_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager">
|
|
4
|
+
<content url="file://$MODULE_DIR$">
|
|
5
|
+
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
|
6
|
+
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
|
7
|
+
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
|
8
|
+
<excludeFolder url="file://$MODULE_DIR$/bin" />
|
|
9
|
+
</content>
|
|
10
|
+
<orderEntry type="inheritedJdk" />
|
|
11
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
12
|
+
</component>
|
|
13
|
+
</module>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<component name="ProjectCodeStyleConfiguration">
|
|
2
|
+
<code_scheme name="Project" version="173">
|
|
3
|
+
<HTMLCodeStyleSettings>
|
|
4
|
+
<option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
|
|
5
|
+
<option name="HTML_ENFORCE_QUOTES" value="true" />
|
|
6
|
+
</HTMLCodeStyleSettings>
|
|
7
|
+
<JSCodeStyleSettings version="0">
|
|
8
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
9
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
10
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
11
|
+
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
|
|
12
|
+
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
13
|
+
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
14
|
+
</JSCodeStyleSettings>
|
|
15
|
+
<TypeScriptCodeStyleSettings version="0">
|
|
16
|
+
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
|
17
|
+
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
|
|
18
|
+
<option name="FORCE_QUOTE_STYlE" value="true" />
|
|
19
|
+
<option name="ENFORCE_TRAILING_COMMA" value="Remove" />
|
|
20
|
+
<option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
|
|
21
|
+
<option name="SPACES_WITHIN_IMPORTS" value="true" />
|
|
22
|
+
</TypeScriptCodeStyleSettings>
|
|
23
|
+
<VueCodeStyleSettings>
|
|
24
|
+
<option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
|
|
25
|
+
<option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
|
|
26
|
+
</VueCodeStyleSettings>
|
|
27
|
+
<codeStyleSettings language="CSS">
|
|
28
|
+
<indentOptions>
|
|
29
|
+
<option name="INDENT_SIZE" value="2" />
|
|
30
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
31
|
+
<option name="TAB_SIZE" value="2" />
|
|
32
|
+
</indentOptions>
|
|
33
|
+
</codeStyleSettings>
|
|
34
|
+
<codeStyleSettings language="HTML">
|
|
35
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
36
|
+
<indentOptions>
|
|
37
|
+
<option name="INDENT_SIZE" value="2" />
|
|
38
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
39
|
+
<option name="TAB_SIZE" value="2" />
|
|
40
|
+
</indentOptions>
|
|
41
|
+
</codeStyleSettings>
|
|
42
|
+
<codeStyleSettings language="JavaScript">
|
|
43
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
44
|
+
<indentOptions>
|
|
45
|
+
<option name="INDENT_SIZE" value="2" />
|
|
46
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
47
|
+
<option name="TAB_SIZE" value="2" />
|
|
48
|
+
</indentOptions>
|
|
49
|
+
</codeStyleSettings>
|
|
50
|
+
<codeStyleSettings language="TypeScript">
|
|
51
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
52
|
+
<indentOptions>
|
|
53
|
+
<option name="INDENT_SIZE" value="2" />
|
|
54
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
55
|
+
<option name="TAB_SIZE" value="2" />
|
|
56
|
+
</indentOptions>
|
|
57
|
+
</codeStyleSettings>
|
|
58
|
+
<codeStyleSettings language="Vue">
|
|
59
|
+
<option name="SOFT_MARGINS" value="80" />
|
|
60
|
+
<indentOptions>
|
|
61
|
+
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
|
62
|
+
</indentOptions>
|
|
63
|
+
</codeStyleSettings>
|
|
64
|
+
</code_scheme>
|
|
65
|
+
</component>
|
package/.idea/vcs.xml
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ChangeListManager">
|
|
4
|
+
<list default="true" id="d2834f12-3435-41b5-8efa-c62f3f4baa0d" name="Changes" comment="Remove redundant variable" />
|
|
5
|
+
<option name="SHOW_DIALOG" value="false" />
|
|
6
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
7
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
8
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
9
|
+
</component>
|
|
10
|
+
<component name="Git.Settings">
|
|
11
|
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
12
|
+
</component>
|
|
13
|
+
<component name="GitSEFilterConfiguration">
|
|
14
|
+
<file-type-list>
|
|
15
|
+
<filtered-out-file-type name="LOCAL_BRANCH" />
|
|
16
|
+
<filtered-out-file-type name="REMOTE_BRANCH" />
|
|
17
|
+
<filtered-out-file-type name="TAG" />
|
|
18
|
+
<filtered-out-file-type name="COMMIT_BY_MESSAGE" />
|
|
19
|
+
</file-type-list>
|
|
20
|
+
</component>
|
|
21
|
+
<component name="ProjectId" id="2QnCWGsMrfsa99lySJEn0m45dgP" />
|
|
22
|
+
<component name="ProjectViewState">
|
|
23
|
+
<option name="hideEmptyMiddlePackages" value="true" />
|
|
24
|
+
<option name="showLibraryContents" value="true" />
|
|
25
|
+
<option name="showMembers" value="true" />
|
|
26
|
+
</component>
|
|
27
|
+
<component name="PropertiesComponent">
|
|
28
|
+
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
|
29
|
+
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
|
30
|
+
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
31
|
+
<property name="node.js.detected.package.eslint" value="true" />
|
|
32
|
+
<property name="node.js.detected.package.standard" value="true" />
|
|
33
|
+
<property name="node.js.selected.package.eslint" value="(autodetect)" />
|
|
34
|
+
<property name="node.js.selected.package.standard" value="" />
|
|
35
|
+
<property name="nodejs_package_manager_path" value="yarn" />
|
|
36
|
+
<property name="settings.editor.selected.configurable" value="web-ide.project.structure" />
|
|
37
|
+
<property name="ts.external.directory.path" value="$PROJECT_DIR$/node_modules/typescript/lib" />
|
|
38
|
+
<property name="vue.rearranger.settings.migration" value="true" />
|
|
39
|
+
</component>
|
|
40
|
+
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
41
|
+
<component name="TaskManager">
|
|
42
|
+
<task active="true" id="Default" summary="Default task">
|
|
43
|
+
<changelist id="d2834f12-3435-41b5-8efa-c62f3f4baa0d" name="Changes" comment="" />
|
|
44
|
+
<created>1685979990050</created>
|
|
45
|
+
<option name="number" value="Default" />
|
|
46
|
+
<option name="presentableId" value="Default" />
|
|
47
|
+
<updated>1685979990050</updated>
|
|
48
|
+
<workItem from="1685979994523" duration="162000" />
|
|
49
|
+
<workItem from="1685980169522" duration="92000" />
|
|
50
|
+
<workItem from="1685980274824" duration="41000" />
|
|
51
|
+
<workItem from="1685980327587" duration="27000" />
|
|
52
|
+
<workItem from="1685980367078" duration="303000" />
|
|
53
|
+
<workItem from="1685980682884" duration="824000" />
|
|
54
|
+
<workItem from="1685986712012" duration="5115000" />
|
|
55
|
+
</task>
|
|
56
|
+
<task id="LOCAL-00001" summary="Remove eslint">
|
|
57
|
+
<created>1685986802039</created>
|
|
58
|
+
<option name="number" value="00001" />
|
|
59
|
+
<option name="presentableId" value="LOCAL-00001" />
|
|
60
|
+
<option name="project" value="LOCAL" />
|
|
61
|
+
<updated>1685986802039</updated>
|
|
62
|
+
</task>
|
|
63
|
+
<task id="LOCAL-00002" summary="Add -cf flag to generate-suggestions">
|
|
64
|
+
<created>1685993746601</created>
|
|
65
|
+
<option name="number" value="00002" />
|
|
66
|
+
<option name="presentableId" value="LOCAL-00002" />
|
|
67
|
+
<option name="project" value="LOCAL" />
|
|
68
|
+
<updated>1685993746601</updated>
|
|
69
|
+
</task>
|
|
70
|
+
<task id="LOCAL-00003" summary="Remove redundant variable">
|
|
71
|
+
<created>1685993770336</created>
|
|
72
|
+
<option name="number" value="00003" />
|
|
73
|
+
<option name="presentableId" value="LOCAL-00003" />
|
|
74
|
+
<option name="project" value="LOCAL" />
|
|
75
|
+
<updated>1685993770336</updated>
|
|
76
|
+
</task>
|
|
77
|
+
<option name="localTasksCounter" value="4" />
|
|
78
|
+
<servers />
|
|
79
|
+
</component>
|
|
80
|
+
<component name="TypeScriptGeneratedFilesManager">
|
|
81
|
+
<option name="version" value="3" />
|
|
82
|
+
</component>
|
|
83
|
+
<component name="Vcs.Log.Tabs.Properties">
|
|
84
|
+
<option name="TAB_STATES">
|
|
85
|
+
<map>
|
|
86
|
+
<entry key="MAIN">
|
|
87
|
+
<value>
|
|
88
|
+
<State />
|
|
89
|
+
</value>
|
|
90
|
+
</entry>
|
|
91
|
+
</map>
|
|
92
|
+
</option>
|
|
93
|
+
<option name="oldMeFiltersMigrated" value="true" />
|
|
94
|
+
</component>
|
|
95
|
+
<component name="VcsManagerConfiguration">
|
|
96
|
+
<MESSAGE value="Remove eslint" />
|
|
97
|
+
<MESSAGE value="Add -cf flag to generate-suggestions" />
|
|
98
|
+
<MESSAGE value="Remove redundant variable" />
|
|
99
|
+
<option name="LAST_COMMIT_MESSAGE" value="Remove redundant variable" />
|
|
100
|
+
</component>
|
|
101
|
+
</project>
|
package/bin/ditto.js
CHANGED
|
@@ -22,8 +22,7 @@ function getVersion() {
|
|
|
22
22
|
const packageJsonPath = path_1.default.join(__dirname, "..", "package.json");
|
|
23
23
|
const packageJsonContent = fs_1.default.readFileSync(packageJsonPath, "utf8");
|
|
24
24
|
const packageJson = JSON.parse(packageJsonContent);
|
|
25
|
-
|
|
26
|
-
return version;
|
|
25
|
+
return packageJson.version;
|
|
27
26
|
}
|
|
28
27
|
const VERSION = getVersion();
|
|
29
28
|
const COMMANDS = [
|
|
@@ -56,6 +55,9 @@ const COMMANDS = [
|
|
|
56
55
|
description: "Files to search for text (will override -d)",
|
|
57
56
|
processor: (value) => value.split(","),
|
|
58
57
|
},
|
|
58
|
+
"-cf, --component-folder [value]": {
|
|
59
|
+
description: "Component folder to search for matches",
|
|
60
|
+
},
|
|
59
61
|
},
|
|
60
62
|
},
|
|
61
63
|
{
|
|
@@ -140,6 +142,7 @@ const executeCommand = async (command, options) => {
|
|
|
140
142
|
return (0, generate_suggestions_1.generateSuggestions)({
|
|
141
143
|
...(options.directory ? { directory: options.directory } : {}),
|
|
142
144
|
...(options.files ? { files: options.files } : {}),
|
|
145
|
+
...(options.componentFolder ? { componentFolder: options.componentFolder } : {}),
|
|
143
146
|
});
|
|
144
147
|
}
|
|
145
148
|
case "replace": {
|
package/bin/ditto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ditto.js","sourceRoot":"","sources":["../lib/ditto.ts"],"names":[],"mappings":";;;;;;AACA,0DAA0D;AAC1D,yCAAoC;AACpC,wDAAwD;AACxD,4BAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AAExB,sCAAuD;AACvD,iCAA8B;AAC9B,uCAAoC;AACpC,gEAAuC;AACvC,sEAA6C;AAC7C,uCAAoC;AACpC,iEAA6D;AAE7D,kFAA0D;AAE1D,SAAS,UAAU;IACjB,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAwB,CAAC;IAC1E,
|
|
1
|
+
{"version":3,"file":"ditto.js","sourceRoot":"","sources":["../lib/ditto.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,9 @@ const parser_1 = require("@babel/parser");
|
|
|
10
10
|
const traverse_1 = __importDefault(require("@babel/traverse"));
|
|
11
11
|
const fetchComponents_1 = require("./http/fetchComponents");
|
|
12
12
|
async function generateSuggestions(flags) {
|
|
13
|
-
const components = await (0, fetchComponents_1.fetchComponents)(
|
|
13
|
+
const components = await (0, fetchComponents_1.fetchComponents)({
|
|
14
|
+
...(flags.componentFolder ? { componentFolder: flags.componentFolder } : {})
|
|
15
|
+
});
|
|
14
16
|
const directory = flags.directory || ".";
|
|
15
17
|
const results = await findComponentsInJSXFiles({
|
|
16
18
|
directory,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-suggestions.js","sourceRoot":"","sources":["../lib/generate-suggestions.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,0CAAsC;AACtC,+DAAuC;AAEvC,4DAIgC;AAchC,KAAK,UAAU,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"generate-suggestions.js","sourceRoot":"","sources":["../lib/generate-suggestions.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fetchComponents = void 0;
|
|
4
4
|
const api_1 = require("../api");
|
|
5
|
-
async function fetchComponents() {
|
|
5
|
+
async function fetchComponents(options) {
|
|
6
6
|
const api = (0, api_1.createApiClient)();
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
if (options.componentFolder) {
|
|
8
|
+
try {
|
|
9
|
+
const { data } = await api.get(`/component-folders/${options.componentFolder}/components`, {});
|
|
10
|
+
return data;
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
console.log(`Failed to get components for ${options.componentFolder}. Please verify the folder's API ID.`);
|
|
14
|
+
return {};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const { data } = await api.get("/components", {});
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
9
21
|
}
|
|
10
22
|
exports.fetchComponents = fetchComponents;
|
|
11
23
|
//# sourceMappingURL=fetchComponents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchComponents.js","sourceRoot":"","sources":["../../lib/http/fetchComponents.ts"],"names":[],"mappings":";;;AAAA,gCAAyC;AAalC,KAAK,UAAU,eAAe;
|
|
1
|
+
{"version":3,"file":"fetchComponents.js","sourceRoot":"","sources":["../../lib/http/fetchComponents.ts"],"names":[],"mappings":";;;AAAA,gCAAyC;AAalC,KAAK,UAAU,eAAe,CAAC,OAErC;IACC,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,eAAe,EAAE;QAC3B,IAAI;YACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAyB,sBAAsB,OAAO,CAAC,eAAe,aAAa,EAAE,EAAE,CAAC,CAAC;YAEvH,OAAO,IAAI,CAAC;SACb;QACD,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,CAAC,eAAe,sCAAsC,CAAC,CAAA;YAC1G,OAAO,EAAE,CAAA;SACV;KAEF;SACI;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAyB,aAAa,EAAE,EAAE,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAtBD,0CAsBC"}
|
package/lib/ditto.ts
CHANGED
|
@@ -20,9 +20,7 @@ function getVersion(): string {
|
|
|
20
20
|
const packageJsonPath = path.join(__dirname, "..", "package.json");
|
|
21
21
|
const packageJsonContent = fs.readFileSync(packageJsonPath, "utf8");
|
|
22
22
|
const packageJson = JSON.parse(packageJsonContent) as { version: string };
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return version;
|
|
23
|
+
return packageJson.version;
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
const VERSION = getVersion();
|
|
@@ -74,6 +72,9 @@ const COMMANDS: CommandConfig<Command>[] = [
|
|
|
74
72
|
description: "Files to search for text (will override -d)",
|
|
75
73
|
processor: (value: string) => value.split(","),
|
|
76
74
|
},
|
|
75
|
+
"-cf, --component-folder [value]": {
|
|
76
|
+
description: "Component folder to search for matches",
|
|
77
|
+
},
|
|
77
78
|
},
|
|
78
79
|
},
|
|
79
80
|
{
|
|
@@ -172,6 +173,7 @@ const executeCommand = async (
|
|
|
172
173
|
return generateSuggestions({
|
|
173
174
|
...(options.directory ? { directory: options.directory } : {}),
|
|
174
175
|
...(options.files ? { files: options.files } : {}),
|
|
176
|
+
...(options.componentFolder ? { componentFolder: options.componentFolder } : {}),
|
|
175
177
|
});
|
|
176
178
|
}
|
|
177
179
|
case "replace": {
|
|
@@ -9,6 +9,11 @@ import {
|
|
|
9
9
|
fetchComponents,
|
|
10
10
|
} from "./http/fetchComponents";
|
|
11
11
|
|
|
12
|
+
interface Occurrence {
|
|
13
|
+
lineNumber: number;
|
|
14
|
+
preview: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
12
17
|
interface Result extends FetchComponentResponseComponent {
|
|
13
18
|
apiId: string;
|
|
14
19
|
occurrences: {
|
|
@@ -16,16 +21,14 @@ interface Result extends FetchComponentResponseComponent {
|
|
|
16
21
|
};
|
|
17
22
|
}
|
|
18
23
|
|
|
19
|
-
interface Occurrence {
|
|
20
|
-
lineNumber: number;
|
|
21
|
-
preview: string;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
24
|
async function generateSuggestions(flags: {
|
|
25
25
|
directory?: string;
|
|
26
26
|
files?: string[];
|
|
27
|
+
componentFolder?: string;
|
|
27
28
|
}) {
|
|
28
|
-
const components = await fetchComponents(
|
|
29
|
+
const components = await fetchComponents({
|
|
30
|
+
...(flags.componentFolder ? { componentFolder: flags.componentFolder} : {})
|
|
31
|
+
});
|
|
29
32
|
const directory = flags.directory || ".";
|
|
30
33
|
|
|
31
34
|
const results: { [apiId: string]: Result } = await findComponentsInJSXFiles({
|
|
@@ -11,16 +11,26 @@ export interface FetchComponentResponse {
|
|
|
11
11
|
[compApiId: string]: FetchComponentResponseComponent;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export async function fetchComponents(
|
|
14
|
+
export async function fetchComponents(options: {
|
|
15
|
+
componentFolder?: string;
|
|
16
|
+
}): Promise<FetchComponentResponse> {
|
|
15
17
|
const api = createApiClient();
|
|
16
|
-
const { data } = await api.get<{
|
|
17
|
-
[compApiId: string]: {
|
|
18
|
-
name: string;
|
|
19
|
-
text: string;
|
|
20
|
-
status: "NONE" | "WIP" | "REVIEW" | "FINAL";
|
|
21
|
-
folder: "string" | null;
|
|
22
|
-
};
|
|
23
|
-
}>("/components", {});
|
|
24
18
|
|
|
25
|
-
|
|
19
|
+
if (options.componentFolder) {
|
|
20
|
+
try {
|
|
21
|
+
const { data } = await api.get<FetchComponentResponse>(`/component-folders/${options.componentFolder}/components`, {});
|
|
22
|
+
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
catch (e) {
|
|
26
|
+
console.log(`Failed to get components for ${options.componentFolder}. Please verify the folder's API ID.`)
|
|
27
|
+
return {}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
const { data } = await api.get<FetchComponentResponse>("/components", {});
|
|
33
|
+
|
|
34
|
+
return data;
|
|
35
|
+
}
|
|
26
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dittowords/cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "Command Line Interface for Ditto (dittowords.com).",
|
|
5
5
|
"main": "bin/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -40,8 +40,6 @@
|
|
|
40
40
|
"@types/js-yaml": "^4.0.5",
|
|
41
41
|
"@types/node": "^18.0.0",
|
|
42
42
|
"babel-jest": "^29.3.1",
|
|
43
|
-
"eslint": "^8.27.0",
|
|
44
|
-
"eslint-config-airbnb-base": "^14.2.0",
|
|
45
43
|
"husky": "^7.0.4",
|
|
46
44
|
"jest": "^29.3.1",
|
|
47
45
|
"lint-staged": "^11.2.4",
|
package/testfiles/test2.jsx
CHANGED
package/.eslintrc.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
env: {
|
|
3
|
-
browser: true,
|
|
4
|
-
commonjs: true,
|
|
5
|
-
es2020: true,
|
|
6
|
-
"jest/globals": true,
|
|
7
|
-
},
|
|
8
|
-
extends: ["airbnb-base"],
|
|
9
|
-
parserOptions: {
|
|
10
|
-
ecmaVersion: 11,
|
|
11
|
-
},
|
|
12
|
-
plugins: ["jest"],
|
|
13
|
-
rules: {
|
|
14
|
-
"no-console": "off",
|
|
15
|
-
"no-underscore-dangle": ["error", { allow: ["_id", "__get__"] }],
|
|
16
|
-
},
|
|
17
|
-
};
|