electron-reactive-event-cli 1.0.29 → 1.0.31
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/Distribution/Select.Types.d.ts +5 -0
- package/Distribution/Select.Types.d.ts.map +1 -0
- package/Distribution/Select.Types.js +7 -0
- package/Distribution/Select.Types.js.map +1 -0
- package/Distribution/Select.d.ts +8 -1
- package/Distribution/Select.d.ts.map +1 -1
- package/Distribution/Select.js +309 -96
- package/Distribution/Select.js.map +1 -1
- package/Distribution/Setup.js +45 -2
- package/Distribution/Setup.js.map +1 -1
- package/Distribution/index.d.ts +1 -0
- package/Distribution/index.d.ts.map +1 -1
- package/Distribution/index.js +1 -0
- package/Distribution/index.js.map +1 -1
- package/ReadMe.md +2 -2
- package/package.json +4 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.Types.d.ts","sourceRoot":"","sources":["../Source/Select.Types.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,mBAAmB,GAC3B;IACI,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.Types.js","sourceRoot":"","sources":["../Source/Select.Types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/Distribution/Select.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import type { FSelectedInterfaces } from "./Select.Types.js";
|
|
2
|
+
export declare function PromptModule(ProjectRootDirectoryPathArgument: string, SelectedInterfaces: FSelectedInterfaces | undefined): Promise<string>;
|
|
3
|
+
export type FRegistrarInterfaceNames = Readonly<{
|
|
4
|
+
Main: ReadonlyArray<string>;
|
|
5
|
+
Renderer: ReadonlyArray<string>;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const GoBackChoice: string;
|
|
8
|
+
export declare function SelectInterfacesFromModule(Path: string, SelectedThusFar: FSelectedInterfaces | undefined): Promise<FSelectedInterfaces>;
|
|
2
9
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../Source/Select.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../Source/Select.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAkI7D,wBAAsB,YAAY,CAC9B,gCAAgC,EAAE,MAAM,EACxC,kBAAkB,EAAE,mBAAmB,GAAG,SAAS,GACpD,OAAO,CAAC,MAAM,CAAC,CA2FjB;AAED,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC,CAAC;AAuJH,eAAO,MAAM,YAAY,EAAE,MAA2C,CAAC;AAEvE,wBAAsB,0BAA0B,CAC5C,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,mBAAmB,GAAG,SAAS,GACjD,OAAO,CAAC,mBAAmB,CAAC,CA4E9B"}
|
package/Distribution/Select.js
CHANGED
|
@@ -3,112 +3,325 @@
|
|
|
3
3
|
* Copyright: (c) 2026 Gage Sorrell
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
|
+
/* eslint-disable no-console */
|
|
7
|
+
import { fileSelector } from "inquirer-file-selector";
|
|
8
|
+
import { basename, resolve } from "path";
|
|
6
9
|
import { confirm, select } from "@inquirer/prompts";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
import { Code } from "@sorrell/cli-utilities";
|
|
11
|
+
import { stat } from "fs/promises";
|
|
12
|
+
import ts from "typescript";
|
|
13
|
+
// type FMenuSelection =
|
|
14
|
+
// | {
|
|
15
|
+
// Kind: "Parent";
|
|
16
|
+
// }
|
|
17
|
+
// | {
|
|
18
|
+
// Kind: "Directory";
|
|
19
|
+
// AbsolutePath: string;
|
|
20
|
+
// }
|
|
21
|
+
// | {
|
|
22
|
+
// Kind: "File";
|
|
23
|
+
// AbsolutePath: string;
|
|
24
|
+
// };
|
|
25
|
+
// type TChoice<ValueType> =
|
|
26
|
+
// {
|
|
27
|
+
// description?: string;
|
|
28
|
+
// disabled?: boolean | string;
|
|
29
|
+
// name: string;
|
|
30
|
+
// value: ValueType;
|
|
31
|
+
// };
|
|
32
|
+
// function IsTypeScriptModuleFile(FileName: string): boolean
|
|
33
|
+
// {
|
|
34
|
+
// const Extension: string = extname(FileName).toLowerCase();
|
|
35
|
+
// return Extension === ".ts" || Extension === ".tsx";
|
|
36
|
+
// }
|
|
37
|
+
// function GetDisplayDirectory(ProjectRootDirectoryPath: string, CurrentDirectoryPath: string): string
|
|
38
|
+
// {
|
|
39
|
+
// const RelativeDirectoryPath: string = relative(ProjectRootDirectoryPath, CurrentDirectoryPath);
|
|
40
|
+
// return RelativeDirectoryPath === "" ? "." : RelativeDirectoryPath;
|
|
41
|
+
// }
|
|
42
|
+
// async function ReadMenuChoices(
|
|
43
|
+
// ProjectRootDirectoryPath: string,
|
|
44
|
+
// CurrentDirectoryPath: string
|
|
45
|
+
// ): Promise<ReadonlyArray<TChoice<FMenuSelection>>>
|
|
46
|
+
// {
|
|
47
|
+
// type FDirectory = Dirent<string>;
|
|
48
|
+
// const DirectoryEntries: ReadonlyArray<FDirectory> =
|
|
49
|
+
// await readdir(CurrentDirectoryPath, { withFileTypes: true });
|
|
50
|
+
// const SortDirectories = (A: FDirectory, B: FDirectory): number =>
|
|
51
|
+
// {
|
|
52
|
+
// return A.name.localeCompare(
|
|
53
|
+
// B.name,
|
|
54
|
+
// undefined,
|
|
55
|
+
// {
|
|
56
|
+
// numeric: true,
|
|
57
|
+
// sensitivity: "base"
|
|
58
|
+
// });
|
|
59
|
+
// };
|
|
60
|
+
// const GetDirectoryChoice = (DirectoryEntry: FDirectory): TChoice<FMenuSelection> =>
|
|
61
|
+
// {
|
|
62
|
+
// const AbsolutePath: string = resolve(CurrentDirectoryPath, DirectoryEntry.name);
|
|
63
|
+
// return {
|
|
64
|
+
// description: "Open directory",
|
|
65
|
+
// name: `${DirectoryEntry.name}/`,
|
|
66
|
+
// value: {
|
|
67
|
+
// AbsolutePath,
|
|
68
|
+
// Kind: "Directory"
|
|
69
|
+
// }
|
|
70
|
+
// };
|
|
71
|
+
// };
|
|
72
|
+
// const IsDirectory = (DirectoryEntry: FDirectory): boolean =>
|
|
73
|
+
// {
|
|
74
|
+
// return DirectoryEntry.isDirectory();
|
|
75
|
+
// };
|
|
76
|
+
// const DirectoryChoices: Array<TChoice<FMenuSelection>> =
|
|
77
|
+
// DirectoryEntries
|
|
78
|
+
// .filter(IsDirectory)
|
|
79
|
+
// .sort(SortDirectories)
|
|
80
|
+
// .map(GetDirectoryChoice);
|
|
81
|
+
// const IsModule = (DirectoryEntry: FDirectory): boolean =>
|
|
82
|
+
// {
|
|
83
|
+
// return (
|
|
84
|
+
// DirectoryEntry.isFile() &&
|
|
85
|
+
// IsTypeScriptModuleFile(DirectoryEntry.name)
|
|
86
|
+
// );
|
|
87
|
+
// };
|
|
88
|
+
// const GetModuleChoice = (DirectoryEntry: FDirectory): TChoice<FMenuSelection> =>
|
|
89
|
+
// {
|
|
90
|
+
// const AbsolutePath: string = resolve(CurrentDirectoryPath, DirectoryEntry.name);
|
|
91
|
+
// return {
|
|
92
|
+
// description: "Select module",
|
|
93
|
+
// name: DirectoryEntry.name,
|
|
94
|
+
// value: {
|
|
95
|
+
// AbsolutePath,
|
|
96
|
+
// Kind: "File"
|
|
97
|
+
// }
|
|
98
|
+
// };
|
|
99
|
+
// };
|
|
100
|
+
// const FileChoices: Array<TChoice<FMenuSelection>> =
|
|
101
|
+
// DirectoryEntries
|
|
102
|
+
// .filter(IsModule)
|
|
103
|
+
// .sort(SortDirectories)
|
|
104
|
+
// .map(GetModuleChoice);
|
|
105
|
+
// const Choices: Array<TChoice<FMenuSelection>> = [ ];
|
|
106
|
+
// if (CurrentDirectoryPath !== ProjectRootDirectoryPath)
|
|
107
|
+
// {
|
|
108
|
+
// Choices.push({
|
|
109
|
+
// description: "Go to parent directory",
|
|
110
|
+
// name: "../",
|
|
111
|
+
// value: {
|
|
112
|
+
// Kind: "Parent"
|
|
113
|
+
// }
|
|
114
|
+
// });
|
|
115
|
+
// }
|
|
116
|
+
// Choices.push(...DirectoryChoices);
|
|
117
|
+
// Choices.push(...FileChoices);
|
|
118
|
+
// return Choices;
|
|
119
|
+
// }
|
|
120
|
+
export async function PromptModule(ProjectRootDirectoryPathArgument, SelectedInterfaces) {
|
|
121
|
+
const ProjectRootDirectoryPath = resolve(ProjectRootDirectoryPathArgument);
|
|
122
|
+
const ProjectRootDirectoryStats = await stat(ProjectRootDirectoryPath);
|
|
123
|
+
if (!ProjectRootDirectoryStats.isDirectory()) {
|
|
124
|
+
throw new Error(`The path "${ProjectRootDirectoryPath}" is not a directory.`);
|
|
125
|
+
}
|
|
126
|
+
const IsModuleOrDirectory = (InItem) => {
|
|
127
|
+
return (InItem.name.endsWith(".ts") ||
|
|
128
|
+
InItem.name.endsWith(".tsx") ||
|
|
129
|
+
InItem.isDirectory);
|
|
130
|
+
};
|
|
131
|
+
const InterfaceTypesRemaining = SelectedInterfaces?.Main === undefined
|
|
132
|
+
? SelectedInterfaces?.Renderer === undefined
|
|
133
|
+
? "one (or both) of your registrar interfaces"
|
|
134
|
+
: "your Main registrar interface"
|
|
135
|
+
: "your Renderer registrar interface";
|
|
136
|
+
console.log(`Choose the module that contains ${InterfaceTypesRemaining}.`);
|
|
137
|
+
const Selection = await fileSelector({
|
|
138
|
+
basePath: ProjectRootDirectoryPath,
|
|
139
|
+
filter: IsModuleOrDirectory,
|
|
140
|
+
loop: true,
|
|
141
|
+
message: "Select a file or directory:"
|
|
142
|
+
});
|
|
143
|
+
return Selection.path;
|
|
144
|
+
// let CurrentDirectoryPath: string = ProjectRootDirectoryPath;
|
|
145
|
+
// while (true)
|
|
146
|
+
// {
|
|
147
|
+
// const Choices: ReadonlyArray<TChoice<FMenuSelection>> = await ReadMenuChoices(
|
|
148
|
+
// ProjectRootDirectoryPath,
|
|
149
|
+
// CurrentDirectoryPath
|
|
150
|
+
// );
|
|
151
|
+
// if (Choices.length === 0)
|
|
152
|
+
// {
|
|
153
|
+
// throw new Error(
|
|
154
|
+
// `No subdirectories or TypeScript modules were found under "${ProjectRootDirectoryPath}".`
|
|
155
|
+
// );
|
|
156
|
+
// }
|
|
157
|
+
// const DisplayDirectory: string = GetDisplayDirectory(
|
|
158
|
+
// ProjectRootDirectoryPath,
|
|
159
|
+
// CurrentDirectoryPath
|
|
160
|
+
// );
|
|
161
|
+
// // const Selection: FMenuSelection = await select<FMenuSelection>({
|
|
162
|
+
// // choices: Choices,
|
|
163
|
+
// // loop: true,
|
|
164
|
+
// // message: `Select a TypeScript module (${ DisplayDirectory })`
|
|
165
|
+
// // });
|
|
166
|
+
// // switch (Selection.Kind)
|
|
167
|
+
// // {
|
|
168
|
+
// // case "Parent":
|
|
169
|
+
// // CurrentDirectoryPath = resolve(CurrentDirectoryPath, "..");
|
|
170
|
+
// // break;
|
|
171
|
+
// // case "Directory":
|
|
172
|
+
// // CurrentDirectoryPath = Selection.AbsolutePath;
|
|
173
|
+
// // break;
|
|
174
|
+
// // case "File":
|
|
175
|
+
// // {
|
|
176
|
+
// // const RelativeModulePath: string = relative(
|
|
177
|
+
// // ProjectRootDirectoryPath,
|
|
178
|
+
// // Selection.AbsolutePath
|
|
179
|
+
// // );
|
|
180
|
+
// // const Confirmed: boolean = await confirm({
|
|
181
|
+
// // message: `Use "${RelativeModulePath}"?`
|
|
182
|
+
// // });
|
|
183
|
+
// // if (Confirmed)
|
|
184
|
+
// // {
|
|
185
|
+
// // return Selection.AbsolutePath;
|
|
186
|
+
// // }
|
|
187
|
+
// // break;
|
|
188
|
+
// // }
|
|
189
|
+
// // }
|
|
190
|
+
// }
|
|
12
191
|
}
|
|
13
|
-
function
|
|
14
|
-
const
|
|
15
|
-
return
|
|
192
|
+
function NormalizePathForComparison(FilePath) {
|
|
193
|
+
const ResolvedPath = resolve(FilePath);
|
|
194
|
+
return ts.sys.useCaseSensitiveFileNames
|
|
195
|
+
? ResolvedPath
|
|
196
|
+
: ResolvedPath.toLowerCase();
|
|
16
197
|
}
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
AbsolutePath,
|
|
54
|
-
Kind: "File"
|
|
198
|
+
function GetSourceFileFromProgram(Program, ModulePath) {
|
|
199
|
+
const NormalizedModulePath = NormalizePathForComparison(ModulePath);
|
|
200
|
+
const SourceFile = Program
|
|
201
|
+
.getSourceFiles()
|
|
202
|
+
.find((CurrentSourceFile) => {
|
|
203
|
+
return NormalizePathForComparison(CurrentSourceFile.fileName) === NormalizedModulePath;
|
|
204
|
+
});
|
|
205
|
+
if (SourceFile === undefined) {
|
|
206
|
+
throw new Error(`Could not load source file "${ModulePath}".`);
|
|
207
|
+
}
|
|
208
|
+
return SourceFile;
|
|
209
|
+
}
|
|
210
|
+
function IsInterfaceExportedFromModule(Checker, SourceFile, InterfaceDeclaration) {
|
|
211
|
+
const ModuleSymbol = Checker.getSymbolAtLocation(SourceFile);
|
|
212
|
+
const InterfaceSymbol = Checker.getSymbolAtLocation(InterfaceDeclaration.name);
|
|
213
|
+
if (ModuleSymbol === undefined || InterfaceSymbol === undefined) {
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
const ExportSymbols = Checker.getExportsOfModule(ModuleSymbol);
|
|
217
|
+
return ExportSymbols.some((ExportSymbol) => {
|
|
218
|
+
const TargetSymbol = (ExportSymbol.flags & ts.SymbolFlags.Alias) !== 0
|
|
219
|
+
? Checker.getAliasedSymbol(ExportSymbol)
|
|
220
|
+
: ExportSymbol;
|
|
221
|
+
return TargetSymbol === InterfaceSymbol;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
function GetExtendedBaseInterfaceNames(Checker, InterfaceDeclaration) {
|
|
225
|
+
const BaseInterfaceNames = new Set();
|
|
226
|
+
const ExtendsClauses = InterfaceDeclaration.heritageClauses?.filter((HeritageClause) => {
|
|
227
|
+
return HeritageClause.token === ts.SyntaxKind.ExtendsKeyword;
|
|
228
|
+
}) ?? [];
|
|
229
|
+
for (const ExtendsClause of ExtendsClauses) {
|
|
230
|
+
for (const HeritageType of ExtendsClause.types) {
|
|
231
|
+
let Symbol = Checker.getSymbolAtLocation(HeritageType.expression);
|
|
232
|
+
if (Symbol === undefined) {
|
|
233
|
+
continue;
|
|
55
234
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const FileChoices = DirectoryEntries
|
|
59
|
-
.filter(IsModule)
|
|
60
|
-
.sort(SortDirectories)
|
|
61
|
-
.map(GetModuleChoice);
|
|
62
|
-
const Choices = [];
|
|
63
|
-
if (CurrentDirectoryPath !== ProjectRootDirectoryPath) {
|
|
64
|
-
Choices.push({
|
|
65
|
-
description: "Go to parent directory",
|
|
66
|
-
name: "../",
|
|
67
|
-
value: {
|
|
68
|
-
Kind: "Parent"
|
|
235
|
+
if ((Symbol.flags & ts.SymbolFlags.Alias) !== 0) {
|
|
236
|
+
Symbol = Checker.getAliasedSymbol(Symbol);
|
|
69
237
|
}
|
|
70
|
-
|
|
238
|
+
BaseInterfaceNames.add(Symbol.getName());
|
|
239
|
+
}
|
|
71
240
|
}
|
|
72
|
-
|
|
73
|
-
Choices.push(...FileChoices);
|
|
74
|
-
return Choices;
|
|
241
|
+
return BaseInterfaceNames;
|
|
75
242
|
}
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
243
|
+
function GetExportedRegistrarInterfaceNames(ModulePath) {
|
|
244
|
+
const ResolvedModulePath = resolve(ModulePath);
|
|
245
|
+
const Program = ts.createProgram([ResolvedModulePath], {
|
|
246
|
+
jsx: ts.JsxEmit.ReactJSX,
|
|
247
|
+
module: ts.ModuleKind.NodeNext,
|
|
248
|
+
moduleResolution: ts.ModuleResolutionKind.NodeNext,
|
|
249
|
+
noEmit: true,
|
|
250
|
+
skipLibCheck: true,
|
|
251
|
+
target: ts.ScriptTarget.ESNext
|
|
252
|
+
});
|
|
253
|
+
const Checker = Program.getTypeChecker();
|
|
254
|
+
const SourceFile = GetSourceFileFromProgram(Program, ResolvedModulePath);
|
|
255
|
+
const MainNames = new Set();
|
|
256
|
+
const RendererNames = new Set();
|
|
257
|
+
for (const Statement of SourceFile.statements) {
|
|
258
|
+
if (!ts.isInterfaceDeclaration(Statement)) {
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
if (!IsInterfaceExportedFromModule(Checker, SourceFile, Statement)) {
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
const BaseInterfaceNames = GetExtendedBaseInterfaceNames(Checker, Statement);
|
|
265
|
+
if (BaseInterfaceNames.has("IMainRegistrar")) {
|
|
266
|
+
MainNames.add(Statement.name.text);
|
|
267
|
+
}
|
|
268
|
+
if (BaseInterfaceNames.has("IRendererRegistrar")) {
|
|
269
|
+
RendererNames.add(Statement.name.text);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return {
|
|
273
|
+
Main: [...MainNames],
|
|
274
|
+
Renderer: [...RendererNames]
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
export const GoBackChoice = "Choose another module (go back).";
|
|
278
|
+
export async function SelectInterfacesFromModule(Path, SelectedThusFar) {
|
|
279
|
+
const Interfaces = await GetExportedRegistrarInterfaceNames(Path);
|
|
280
|
+
const GetChoices = (Interfaces) => {
|
|
281
|
+
return [...Interfaces, GoBackChoice];
|
|
282
|
+
};
|
|
283
|
+
const Out = {
|
|
284
|
+
Main: undefined,
|
|
285
|
+
Renderer: undefined
|
|
286
|
+
};
|
|
287
|
+
const NoneFound = Interfaces.Main.length === 0 && Interfaces.Renderer.length === 0;
|
|
288
|
+
if (NoneFound) {
|
|
289
|
+
return Out;
|
|
81
290
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
291
|
+
const GetSelection = async (Owner) => {
|
|
292
|
+
if (Interfaces[Owner].length > 1) {
|
|
293
|
+
const choices = [...GetChoices(Interfaces[Owner]), GoBackChoice];
|
|
294
|
+
/* eslint-disable-next-line @stylistic/max-len */
|
|
295
|
+
const message = `There were ${Interfaces[Owner].length} interfaces found in the module that ${Code("extend IMainRegistrar")}.\nSelect the interface that you would like to use.`;
|
|
296
|
+
const Selection = await select({
|
|
297
|
+
choices,
|
|
298
|
+
loop: true,
|
|
299
|
+
message
|
|
300
|
+
});
|
|
301
|
+
return Selection;
|
|
87
302
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
case "Parent":
|
|
95
|
-
CurrentDirectoryPath = resolve(CurrentDirectoryPath, "..");
|
|
96
|
-
break;
|
|
97
|
-
case "Directory":
|
|
98
|
-
CurrentDirectoryPath = Selection.AbsolutePath;
|
|
99
|
-
break;
|
|
100
|
-
case "File":
|
|
101
|
-
{
|
|
102
|
-
const RelativeModulePath = relative(ProjectRootDirectoryPath, Selection.AbsolutePath);
|
|
103
|
-
const Confirmed = await confirm({
|
|
104
|
-
message: `Use "${RelativeModulePath}"?`
|
|
105
|
-
});
|
|
106
|
-
if (Confirmed) {
|
|
107
|
-
return Selection.AbsolutePath;
|
|
108
|
-
}
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
303
|
+
else {
|
|
304
|
+
/* eslint-disable-next-line @stylistic/max-len */
|
|
305
|
+
const message = `The interface ${Code(Interfaces[Owner][0] || "")} is the only exported interface in ${Code(basename(Path))} that ${Code(`extends I${Owner}RegistrarBase`)}.\nUse this interface?`;
|
|
306
|
+
return (await confirm({ default: true, message }))
|
|
307
|
+
? Interfaces[Owner][0]
|
|
308
|
+
: GoBackChoice;
|
|
111
309
|
}
|
|
310
|
+
};
|
|
311
|
+
const PromptMainInterface = (Interfaces.Main.length > 0 &&
|
|
312
|
+
(SelectedThusFar === undefined ||
|
|
313
|
+
SelectedThusFar.Main === undefined ||
|
|
314
|
+
SelectedThusFar.Main === GoBackChoice));
|
|
315
|
+
if (PromptMainInterface) {
|
|
316
|
+
Out.Main = await GetSelection("Main");
|
|
317
|
+
}
|
|
318
|
+
const PromptRendererInterface = (Interfaces.Renderer.length > 0 &&
|
|
319
|
+
(SelectedThusFar === undefined ||
|
|
320
|
+
SelectedThusFar.Renderer === undefined ||
|
|
321
|
+
SelectedThusFar.Renderer === GoBackChoice));
|
|
322
|
+
if (PromptRendererInterface) {
|
|
323
|
+
Out.Renderer = await GetSelection("Renderer");
|
|
112
324
|
}
|
|
325
|
+
return Out;
|
|
113
326
|
}
|
|
114
327
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../Source/Select.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../Source/Select.ts"],"names":[],"mappings":"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"}
|
package/Distribution/Setup.js
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
*/
|
|
7
7
|
/* eslint-disable no-console */
|
|
8
8
|
import { GetPackageRootDirectory, GetSafeNewPath, TryAsync } from "@sorrell/utilities";
|
|
9
|
+
import { GoBackChoice, PromptModule, SelectInterfacesFromModule } from "./Select.js";
|
|
9
10
|
import { basename, resolve } from "path";
|
|
10
11
|
import { Code } from "@sorrell/cli-utilities";
|
|
11
12
|
import { Command } from "commander";
|
|
12
|
-
import { PromptModule } from "./Select.js";
|
|
13
13
|
import { RunCommand } from "./Shared.js";
|
|
14
14
|
import ora from "ora";
|
|
15
15
|
import { writeFile } from "fs/promises";
|
|
@@ -48,7 +48,50 @@ async function WriteCliConfig(FileName, CliConfig) {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
async function SetupInteractive() {
|
|
51
|
-
|
|
51
|
+
let SelectedModule = undefined;
|
|
52
|
+
let SelectedInterfaces = undefined;
|
|
53
|
+
const HasSelectedEverything = (InInterfaces) => {
|
|
54
|
+
return (InInterfaces?.Main !== undefined &&
|
|
55
|
+
InInterfaces?.Renderer !== undefined &&
|
|
56
|
+
InInterfaces?.Main !== GoBackChoice &&
|
|
57
|
+
InInterfaces?.Renderer !== GoBackChoice);
|
|
58
|
+
};
|
|
59
|
+
while (!HasSelectedEverything(SelectedInterfaces)) {
|
|
60
|
+
const ThisSelectedModule = await PromptModule(await GetPackageRootDirectory(), SelectedInterfaces);
|
|
61
|
+
const TheseInterfaces = await SelectInterfacesFromModule(ThisSelectedModule, SelectedInterfaces);
|
|
62
|
+
if (TheseInterfaces.Main === undefined && TheseInterfaces.Renderer === undefined) {
|
|
63
|
+
/* eslint-disable-next-line @stylistic/max-len */
|
|
64
|
+
console.log(`No interfaces were found in this module that ${Code("extend IMainRegistrar")} or ${Code("IRendererRegistrar")}.\nPlease choose another module.`);
|
|
65
|
+
}
|
|
66
|
+
if (TheseInterfaces.Main !== undefined && TheseInterfaces.Main !== GoBackChoice) {
|
|
67
|
+
if (SelectedInterfaces === undefined) {
|
|
68
|
+
SelectedInterfaces =
|
|
69
|
+
{
|
|
70
|
+
Main: TheseInterfaces.Main,
|
|
71
|
+
Renderer: undefined
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
SelectedInterfaces.Main = TheseInterfaces.Main;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (TheseInterfaces.Renderer !== undefined && TheseInterfaces.Renderer !== GoBackChoice) {
|
|
79
|
+
if (SelectedInterfaces === undefined) {
|
|
80
|
+
SelectedInterfaces =
|
|
81
|
+
{
|
|
82
|
+
Main: undefined,
|
|
83
|
+
Renderer: TheseInterfaces.Renderer
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
SelectedInterfaces.Renderer = TheseInterfaces.Renderer;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
if (HasSelectedEverything(TheseInterfaces)) {
|
|
91
|
+
SelectedModule = ThisSelectedModule;
|
|
92
|
+
SelectedInterfaces = TheseInterfaces;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
52
95
|
console.log(`SelectedModule === ${SelectedModule}`);
|
|
53
96
|
}
|
|
54
97
|
async function SetupNoInteractive() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Setup.js","sourceRoot":"","sources":["../Source/Setup.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,+BAA+B;AAE/B,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Setup.js","sourceRoot":"","sources":["../Source/Setup.ts"],"names":[],"mappings":"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"}
|
package/Distribution/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./Register.js";
|
|
|
3
3
|
export * from "./Register.Types.js";
|
|
4
4
|
export * from "./Schema.Types.js";
|
|
5
5
|
export * from "./Select.js";
|
|
6
|
+
export * from "./Select.Types.js";
|
|
6
7
|
export * from "./Setup.js";
|
|
7
8
|
export * from "./Shared.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAMA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAMA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
package/Distribution/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./Register.js";
|
|
|
8
8
|
export * from "./Register.Types.js";
|
|
9
9
|
export * from "./Schema.Types.js";
|
|
10
10
|
export * from "./Select.js";
|
|
11
|
+
export * from "./Select.Types.js";
|
|
11
12
|
export * from "./Setup.js";
|
|
12
13
|
export * from "./Shared.js";
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../Source/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
package/ReadMe.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# `
|
|
1
|
+
# `electron-reactive-event-cli`
|
|
2
2
|
|
|
3
3
|
This package provides commands that make it easy to integrate `electron-reactive-event` into your Electron/React app.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
|
7
|
-
See the documentation in the [source for the `electron-reactive-event` package](../ElectronReactiveEvent/Documentation/
|
|
7
|
+
See the documentation in the [source for the `electron-reactive-event` package](../ElectronReactiveEvent/Documentation/Cli.md).
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"setup": "./Distribution/Setup.js"
|
|
5
5
|
},
|
|
6
6
|
"name": "electron-reactive-event-cli",
|
|
7
|
-
"version": "1.0.
|
|
7
|
+
"version": "1.0.31",
|
|
8
8
|
"description": "Helper package to integrate electron-reactive-event in your Electron- and React-based app.",
|
|
9
9
|
"keywords": [
|
|
10
10
|
"electron",
|
|
@@ -39,7 +39,6 @@
|
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^25.5.0",
|
|
41
41
|
"@typescript/native-preview": "^7.0.0-dev.20260326.1",
|
|
42
|
-
"typescript": "^5.9.3",
|
|
43
42
|
"typescript-json-schema": "^0.67.1"
|
|
44
43
|
},
|
|
45
44
|
"dependencies": {
|
|
@@ -50,6 +49,8 @@
|
|
|
50
49
|
"cli-table3": "^0.6.5",
|
|
51
50
|
"clipboardy": "^5.3.1",
|
|
52
51
|
"commander": "^14.0.3",
|
|
53
|
-
"
|
|
52
|
+
"inquirer-file-selector": "^1.0.1",
|
|
53
|
+
"ora": "^9.3.0",
|
|
54
|
+
"typescript": "^6.0.2"
|
|
54
55
|
}
|
|
55
56
|
}
|