create-squire-workspace 0.0.123 → 0.0.125
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/create-workspace.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { SqFolderUtils, SqPathUtils, SqProcessManager } from "@code-squire/utils";
|
|
3
3
|
import { SqTerminal, TerminalColor } from "@code-squire/terminal";
|
|
4
4
|
import { WorkspaceLogger } from "@code-squire/workspace";
|
|
5
|
+
import { CreateWorkspaceInteraction } from "./interactions/architect-interactions";
|
|
5
6
|
class CreateWorkspace {
|
|
6
7
|
terminal = new SqTerminal();
|
|
7
8
|
logger = new WorkspaceLogger();
|
|
@@ -15,18 +16,33 @@ class CreateWorkspace {
|
|
|
15
16
|
await processManager.execute(`npm init -y`, { folder: workspacePath });
|
|
16
17
|
this.renderLogo();
|
|
17
18
|
this.logger.startLoading('architect', 'installing workspace-architect');
|
|
18
|
-
await processManager.execute(`npm i -D @code-squire/workspace-architect@0.0.
|
|
19
|
+
await processManager.execute(`npm i -D @code-squire/workspace-architect@0.0.13`, { folder: workspacePath });
|
|
19
20
|
this.logger.stopLoading('architect', 'Workspace architect installed');
|
|
20
21
|
this.logger.startLoading('generate-workspace', 'Architecting workspace');
|
|
21
|
-
|
|
22
|
+
this.logger.newLine();
|
|
23
|
+
const options = await this.askUserNeeds();
|
|
24
|
+
const input = this.buildOptionString(options);
|
|
25
|
+
const { x, y } = await this.terminal.getCursorPosition();
|
|
26
|
+
await processManager.execute(`npx @code-squire/workspace-architect ${target} ${input}`, {
|
|
22
27
|
folder: workspacePath,
|
|
23
28
|
printOutput: true,
|
|
24
29
|
showExitCode: false,
|
|
25
|
-
outputFn: (data) =>
|
|
26
|
-
this.terminal.log(data.trim());
|
|
27
|
-
}
|
|
30
|
+
outputFn: (data) => this.terminal.write(data)
|
|
28
31
|
});
|
|
32
|
+
const postPosition = await this.terminal.getCursorPosition();
|
|
33
|
+
this.terminal.setCursor({ x, y: y - 1 });
|
|
29
34
|
this.logger.stopLoading('generate-workspace', 'Workspace is ready!');
|
|
35
|
+
this.terminal.setCursor(postPosition);
|
|
36
|
+
}
|
|
37
|
+
async askUserNeeds() {
|
|
38
|
+
const linting = await CreateWorkspaceInteraction.lintingTool.ask();
|
|
39
|
+
return { linting };
|
|
40
|
+
}
|
|
41
|
+
buildOptionString(options = {}) {
|
|
42
|
+
return Object.entries(options).reduce((result, [key, value]) => {
|
|
43
|
+
result += `${key}=${value}`;
|
|
44
|
+
return result;
|
|
45
|
+
}, '');
|
|
30
46
|
}
|
|
31
47
|
renderLogo() {
|
|
32
48
|
this.terminal.setCursor({ x: 0, y: 0 });
|
package/create-workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-workspace.js","sourceRoot":"","sources":["../../../../squire/create-workspace/src/create-workspace.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-workspace.js","sourceRoot":"","sources":["../../../../squire/create-workspace/src/create-workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createInteraction } from "@code-squire/node-cli";
|
|
2
|
+
export class CreateWorkspaceInteraction {
|
|
3
|
+
static lintingTool = createInteraction({
|
|
4
|
+
type: 'radio',
|
|
5
|
+
prompt: 'What type of linting tool would you like to use?',
|
|
6
|
+
items: [
|
|
7
|
+
{ label: 'None', value: void (0) },
|
|
8
|
+
{ label: 'EsLint', value: 'es-lint' }
|
|
9
|
+
]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=architect-interactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"architect-interactions.js","sourceRoot":"","sources":["../../../../../squire/create-workspace/src/interactions/architect-interactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,OAAO,0BAA0B;IACrC,MAAM,CAAC,WAAW,GAA4B,iBAAiB,CAAC;QAC9D,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,kDAAkD;QAC1D,KAAK,EAAE;YACL,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAI,CAAC,CAAC,CAAC,EAAE;YACjC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;SACtC;KACF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-squire-workspace",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.125",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"main": "./create-workspace.js",
|
|
5
6
|
"bin": "./create-workspace.js",
|
|
6
7
|
"dependencies": {
|
|
7
8
|
"@code-squire/utils": "0.0.9",
|
|
8
|
-
"@code-squire/terminal": "
|
|
9
|
-
"@code-squire/workspace": "0.0.32"
|
|
9
|
+
"@code-squire/terminal": "0.0.7",
|
|
10
|
+
"@code-squire/workspace": "0.0.32",
|
|
11
|
+
"@code-squire/node-cli": "0.0.6"
|
|
10
12
|
}
|
|
11
13
|
}
|