@jujulego/jill 2.0.0-alpha.1 → 2.0.0-alpha.3
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/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +16 -15
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/tree.d.ts +3 -0
- package/dist/commands/tree.d.ts.map +1 -0
- package/dist/commands/tree.js +35 -0
- package/dist/commands/tree.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +5 -2
- package/dist/main.js.map +1 -1
- package/dist/middlewares/global-config.d.ts +5 -0
- package/dist/middlewares/global-config.d.ts.map +1 -0
- package/dist/middlewares/global-config.js +29 -0
- package/dist/middlewares/global-config.js.map +1 -0
- package/dist/{modifiers → middlewares}/index.d.ts +2 -1
- package/dist/middlewares/index.d.ts.map +1 -0
- package/dist/{modifiers → middlewares}/index.js +2 -1
- package/dist/middlewares/index.js.map +1 -0
- package/dist/{modifiers → middlewares}/load-project.d.ts +1 -2
- package/dist/middlewares/load-project.d.ts.map +1 -0
- package/dist/middlewares/load-project.js +41 -0
- package/dist/middlewares/load-project.js.map +1 -0
- package/dist/middlewares/load-workspace.d.ts +3 -0
- package/dist/middlewares/load-workspace.d.ts.map +1 -0
- package/dist/middlewares/load-workspace.js +42 -0
- package/dist/middlewares/load-workspace.js.map +1 -0
- package/dist/middlewares/setup-ink.d.ts +1 -0
- package/dist/middlewares/setup-ink.d.ts.map +1 -0
- package/dist/{modifiers → middlewares}/setup-ink.js +9 -6
- package/dist/middlewares/setup-ink.js.map +1 -0
- package/dist/services/inversify.config.d.ts +1 -1
- package/dist/services/inversify.config.d.ts.map +1 -1
- package/dist/services/inversify.config.js +2 -2
- package/dist/services/inversify.config.js.map +1 -1
- package/dist/services/logger.service.d.ts +3 -2
- package/dist/services/logger.service.d.ts.map +1 -1
- package/dist/services/logger.service.js +32 -15
- package/dist/services/logger.service.js.map +1 -1
- package/dist/services/spinner.service.d.ts +6 -2
- package/dist/services/spinner.service.d.ts.map +1 -1
- package/dist/services/spinner.service.js +22 -9
- package/dist/services/spinner.service.js.map +1 -1
- package/dist/ui/global-spinner.d.ts.map +1 -1
- package/dist/ui/global-spinner.js +31 -9
- package/dist/ui/global-spinner.js.map +1 -1
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +2 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/layout.d.ts.map +1 -1
- package/dist/ui/layout.js +3 -2
- package/dist/ui/layout.js.map +1 -1
- package/dist/ui/list.d.ts +6 -0
- package/dist/ui/list.d.ts.map +1 -0
- package/dist/ui/list.js +30 -0
- package/dist/ui/list.js.map +1 -0
- package/dist/ui/static-logs.d.ts.map +1 -1
- package/dist/ui/static-logs.js +28 -44
- package/dist/ui/static-logs.js.map +1 -1
- package/dist/ui/workspace-tree.d.ts +8 -0
- package/dist/ui/workspace-tree.d.ts.map +1 -0
- package/dist/ui/workspace-tree.js +87 -0
- package/dist/ui/workspace-tree.js.map +1 -0
- package/dist/utils.d.ts +9 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +16 -5
- package/dist/utils.js.map +1 -1
- package/package.json +3 -1
- package/dist/modifiers/global-config.d.ts +0 -6
- package/dist/modifiers/global-config.d.ts.map +0 -1
- package/dist/modifiers/global-config.js +0 -24
- package/dist/modifiers/global-config.js.map +0 -1
- package/dist/modifiers/index.d.ts.map +0 -1
- package/dist/modifiers/index.js.map +0 -1
- package/dist/modifiers/load-project.d.ts.map +0 -1
- package/dist/modifiers/load-project.js +0 -39
- package/dist/modifiers/load-project.js.map +0 -1
- package/dist/modifiers/setup-ink.d.ts +0 -2
- package/dist/modifiers/setup-ink.d.ts.map +0 -1
- package/dist/modifiers/setup-ink.js.map +0 -1
- package/dist/ui/cli-list.d.ts +0 -15
- package/dist/ui/cli-list.d.ts.map +0 -1
- package/dist/ui/cli-list.js +0 -66
- package/dist/ui/cli-list.js.map +0 -1
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
consoleFormat: ()=>consoleFormat,
|
|
13
|
+
Logger: ()=>Logger
|
|
8
14
|
});
|
|
9
15
|
const _chalk = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
|
|
10
16
|
const _inversify = require("inversify");
|
|
@@ -26,6 +32,28 @@ const VERBOSITY_LEVEL = {
|
|
|
26
32
|
1: 'verbose',
|
|
27
33
|
2: 'debug'
|
|
28
34
|
};
|
|
35
|
+
const consoleFormat = _winston.default.format.combine(_winston.default.format.errors(), _winston.default.format.colorize({
|
|
36
|
+
message: true,
|
|
37
|
+
colors: {
|
|
38
|
+
debug: 'grey',
|
|
39
|
+
verbose: 'blue',
|
|
40
|
+
info: 'white',
|
|
41
|
+
error: 'red'
|
|
42
|
+
}
|
|
43
|
+
}), _winston.default.format.printf(({ label , message , ms })=>{
|
|
44
|
+
const lines = message.split('\n');
|
|
45
|
+
// Format
|
|
46
|
+
let spaces = '';
|
|
47
|
+
let formatted = `${lines[0]} ${_chalk.default.magenta(ms)}`;
|
|
48
|
+
if (label) {
|
|
49
|
+
spaces = ' '.repeat(label.length + 3);
|
|
50
|
+
formatted = `${_chalk.default.grey(`[${label}]`)} ${lines[0]} ${_chalk.default.magenta(ms)}`;
|
|
51
|
+
}
|
|
52
|
+
for(let i = 1; i < lines.length; ++i){
|
|
53
|
+
formatted += `\n${spaces}${lines[i]}`;
|
|
54
|
+
}
|
|
55
|
+
return formatted;
|
|
56
|
+
}));
|
|
29
57
|
let Logger = class Logger {
|
|
30
58
|
};
|
|
31
59
|
Logger = __decorate([
|
|
@@ -38,18 +66,7 @@ _inversifyConfig.container.bind(Logger).toDynamicValue((context)=>{
|
|
|
38
66
|
format: _winston.default.format.combine(_winston.default.format.timestamp(), _winston.default.format.ms()),
|
|
39
67
|
transports: [
|
|
40
68
|
new _winston.default.transports.Console({
|
|
41
|
-
format:
|
|
42
|
-
message: true,
|
|
43
|
-
colors: {
|
|
44
|
-
debug: 'grey',
|
|
45
|
-
verbose: 'blue',
|
|
46
|
-
info: 'white',
|
|
47
|
-
error: 'red'
|
|
48
|
-
}
|
|
49
|
-
}), _winston.default.format.printf(({ label , message })=>message.split('\n').map((line)=>[
|
|
50
|
-
label && _chalk.default.grey(`[${label}]`),
|
|
51
|
-
line
|
|
52
|
-
].filter((p)=>p).join(' ')).join('\n')))
|
|
69
|
+
format: consoleFormat
|
|
53
70
|
})
|
|
54
71
|
]
|
|
55
72
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["services/logger.service.js"],"sourcesContent":["import chalk from 'chalk';\nimport { injectable } from 'inversify';\nimport winston from 'winston';\n\nimport { type GlobalConfig, GLOBAL_CONFIG, container } from './inversify.config';\n\n// Constants\nconst VERBOSITY_LEVEL: Record<number, string> = {\n 1: 'verbose',\n 2: 'debug',\n};\n\n//
|
|
1
|
+
{"version":3,"sources":["services/logger.service.js"],"sourcesContent":["import chalk from 'chalk';\nimport { injectable } from 'inversify';\nimport winston from 'winston';\n\nimport { type GlobalConfig, GLOBAL_CONFIG, container } from './inversify.config';\n\n// Constants\nconst VERBOSITY_LEVEL: Record<number, string> = {\n 1: 'verbose',\n 2: 'debug',\n};\n\n// Utils\nexport const consoleFormat = winston.format.combine(\n winston.format.errors(),\n winston.format.colorize({\n message: true,\n colors: { debug: 'grey', verbose: 'blue', info: 'white', error: 'red' }\n }),\n winston.format.printf(({ label, message, ms }) => {\n const lines = message.split('\\n');\n\n // Format\n let spaces = '';\n let formatted = `${lines[0]} ${chalk.magenta(ms)}`;\n\n if (label) {\n spaces = ' '.repeat(label.length + 3);\n formatted = `${chalk.grey(`[${label}]`)} ${lines[0]} ${chalk.magenta(ms)}`;\n }\n\n for (let i = 1; i < lines.length; ++i) {\n formatted += `\\n${spaces}${lines[i]}`;\n }\n\n return formatted;\n }),\n);\n\n// Service\n@injectable()\nexport class Logger {}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface Logger extends winston.Logger {}\n\ncontainer.bind(Logger)\n .toDynamicValue((context) => {\n const config = context.container.get<GlobalConfig>(GLOBAL_CONFIG);\n\n return winston.createLogger({\n level: VERBOSITY_LEVEL[Math.min(config.verbose, 2)],\n format: winston.format.combine(\n winston.format.timestamp(),\n winston.format.ms(),\n ),\n transports: [\n new winston.transports.Console({\n format: consoleFormat\n })\n ]\n });\n })\n .inSingletonScope();\n"],"names":["consoleFormat","Logger","VERBOSITY_LEVEL","winston","format","combine","errors","colorize","message","colors","debug","verbose","info","error","printf","label","ms","lines","split","spaces","formatted","chalk","magenta","repeat","length","grey","i","injectable","container","bind","toDynamicValue","context","config","get","GLOBAL_CONFIG","createLogger","level","Math","min","timestamp","transports","Console","inSingletonScope"],"mappings":"AAAA;;;;;;;;;;;IAaaA,aAAa,MAAbA;IA4BAC,MAAM,MAANA;;4DAzCK;2BACS;8DACP;iCAEwC;;;;;;;;;;;;AAE5D,YAAY;AACZ,MAAMC,kBAA0C;IAC9C,GAAG;IACH,GAAG;AACL;AAGO,MAAMF,gBAAgBG,gBAAO,CAACC,MAAM,CAACC,OAAO,CACjDF,gBAAO,CAACC,MAAM,CAACE,MAAM,IACrBH,gBAAO,CAACC,MAAM,CAACG,QAAQ,CAAC;IACtBC,SAAS,IAAI;IACbC,QAAQ;QAAEC,OAAO;QAAQC,SAAS;QAAQC,MAAM;QAASC,OAAO;IAAM;AACxE,IACAV,gBAAO,CAACC,MAAM,CAACU,MAAM,CAAC,CAAC,EAAEC,MAAK,EAAEP,QAAO,EAAEQ,GAAE,EAAE,GAAK;IAChD,MAAMC,QAAQT,QAAQU,KAAK,CAAC;IAE5B,SAAS;IACT,IAAIC,SAAS;IACb,IAAIC,YAAY,CAAC,EAAEH,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEI,cAAK,CAACC,OAAO,CAACN,IAAI,CAAC;IAElD,IAAID,OAAO;QACTI,SAAS,IAAII,MAAM,CAACR,MAAMS,MAAM,GAAG;QACnCJ,YAAY,CAAC,EAAEC,cAAK,CAACI,IAAI,CAAC,CAAC,CAAC,EAAEV,MAAM,CAAC,CAAC,EAAE,CAAC,EAAEE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEI,cAAK,CAACC,OAAO,CAACN,IAAI,CAAC;IAC5E,CAAC;IAED,IAAK,IAAIU,IAAI,GAAGA,IAAIT,MAAMO,MAAM,EAAE,EAAEE,EAAG;QACrCN,aAAa,CAAC,EAAE,EAAED,OAAO,EAAEF,KAAK,CAACS,EAAE,CAAC,CAAC;IACvC;IAEA,OAAON;AACT;IAKWnB,SAAN;AAAc;AAARA;IADZ0B,IAAAA,qBAAU;GACE1B;AAKb2B,0BAAS,CAACC,IAAI,CAAC5B,QACZ6B,cAAc,CAAC,CAACC,UAAY;IAC3B,MAAMC,SAASD,QAAQH,SAAS,CAACK,GAAG,CAAeC,8BAAa;IAEhE,OAAO/B,gBAAO,CAACgC,YAAY,CAAC;QAC1BC,OAAOlC,eAAe,CAACmC,KAAKC,GAAG,CAACN,OAAOrB,OAAO,EAAE,GAAG;QACnDP,QAAQD,gBAAO,CAACC,MAAM,CAACC,OAAO,CAC5BF,gBAAO,CAACC,MAAM,CAACmC,SAAS,IACxBpC,gBAAO,CAACC,MAAM,CAACY,EAAE;QAEnBwB,YAAY;YACV,IAAIrC,gBAAO,CAACqC,UAAU,CAACC,OAAO,CAAC;gBAC7BrC,QAAQJ;YACV;SACD;IACH;AACF,GACC0C,gBAAgB","file":"logger.service.js"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
export declare type SpinnerStatus = 'spin' | 'stop' | 'success' | 'failed';
|
|
1
2
|
export interface SpinnerState {
|
|
2
|
-
|
|
3
|
+
status: SpinnerStatus;
|
|
3
4
|
label: string;
|
|
4
5
|
}
|
|
5
6
|
export declare type SpinnerStateListener = (state: SpinnerState) => void;
|
|
6
7
|
export declare class SpinnerService {
|
|
7
|
-
private
|
|
8
|
+
private _status;
|
|
8
9
|
private _label;
|
|
9
10
|
private readonly _listeners;
|
|
11
|
+
private _propagate;
|
|
10
12
|
subscribe(listener: SpinnerStateListener): () => void;
|
|
11
13
|
spin(label: string): void;
|
|
14
|
+
success(label: string): void;
|
|
15
|
+
failed(label: string): void;
|
|
12
16
|
stop(): void;
|
|
13
17
|
get state(): SpinnerState;
|
|
14
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["services/spinner.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["services/spinner.service.ts"],"names":[],"mappings":"AAKA,oBAAY,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,oBAAoB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAGjE,qBACa,cAAc;IAEzB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAG9D,OAAO,CAAC,UAAU;IAMlB,SAAS,CAAC,QAAQ,EAAE,oBAAoB;IAQxC,IAAI,CAAC,KAAK,EAAE,MAAM;IAOlB,OAAO,CAAC,KAAK,EAAE,MAAM;IAOrB,MAAM,CAAC,KAAK,EAAE,MAAM;IAOpB,IAAI;IASJ,IAAI,KAAK,IAAI,YAAY,CAKxB;CACF","file":"spinner.service.d.ts","sourcesContent":["import { injectable } from 'inversify';\n\nimport { container } from './inversify.config';\n\n// Interface\nexport type SpinnerStatus = 'spin' | 'stop' | 'success' | 'failed';\nexport interface SpinnerState {\n status: SpinnerStatus;\n label: string;\n}\n\nexport type SpinnerStateListener = (state: SpinnerState) => void;\n\n// Service\n@injectable()\nexport class SpinnerService {\n // Attributes\n private _status: SpinnerStatus = 'stop';\n private _label = '';\n\n private readonly _listeners = new Set<SpinnerStateListener>();\n\n // Methods\n private _propagate() {\n for (const listener of this._listeners) {\n listener(this.state);\n }\n }\n\n subscribe(listener: SpinnerStateListener) {\n this._listeners.add(listener);\n\n return () => {\n this._listeners.delete(listener);\n };\n }\n\n spin(label: string) {\n this._status = 'spin';\n this._label = label;\n\n this._propagate();\n }\n\n success(label: string) {\n this._status = 'success';\n this._label = label;\n\n this._propagate();\n }\n\n failed(label: string) {\n this._status = 'failed';\n this._label = label;\n\n this._propagate();\n }\n\n stop() {\n if (this._status === 'spin') {\n this._status = 'stop';\n\n this._propagate();\n }\n }\n\n // Properties\n get state(): SpinnerState {\n return {\n status: this._status,\n label: this._label,\n };\n }\n}\n\ncontainer.bind(SpinnerService)\n .toSelf()\n .inSingletonScope();\n"]}
|
|
@@ -16,10 +16,15 @@ var __decorate = (void 0) && (void 0).__decorate || function(decorators, target,
|
|
|
16
16
|
};
|
|
17
17
|
let SpinnerService = class SpinnerService {
|
|
18
18
|
// Attributes
|
|
19
|
-
|
|
19
|
+
_status = 'stop';
|
|
20
20
|
_label = '';
|
|
21
21
|
_listeners = new Set();
|
|
22
22
|
// Methods
|
|
23
|
+
_propagate() {
|
|
24
|
+
for (const listener of this._listeners){
|
|
25
|
+
listener(this.state);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
23
28
|
subscribe(listener) {
|
|
24
29
|
this._listeners.add(listener);
|
|
25
30
|
return ()=>{
|
|
@@ -27,22 +32,30 @@ let SpinnerService = class SpinnerService {
|
|
|
27
32
|
};
|
|
28
33
|
}
|
|
29
34
|
spin(label) {
|
|
30
|
-
this.
|
|
35
|
+
this._status = 'spin';
|
|
31
36
|
this._label = label;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
this._propagate();
|
|
38
|
+
}
|
|
39
|
+
success(label) {
|
|
40
|
+
this._status = 'success';
|
|
41
|
+
this._label = label;
|
|
42
|
+
this._propagate();
|
|
43
|
+
}
|
|
44
|
+
failed(label) {
|
|
45
|
+
this._status = 'failed';
|
|
46
|
+
this._label = label;
|
|
47
|
+
this._propagate();
|
|
35
48
|
}
|
|
36
49
|
stop() {
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
50
|
+
if (this._status === 'spin') {
|
|
51
|
+
this._status = 'stop';
|
|
52
|
+
this._propagate();
|
|
40
53
|
}
|
|
41
54
|
}
|
|
42
55
|
// Properties
|
|
43
56
|
get state() {
|
|
44
57
|
return {
|
|
45
|
-
|
|
58
|
+
status: this._status,
|
|
46
59
|
label: this._label
|
|
47
60
|
};
|
|
48
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["services/spinner.service.js"],"sourcesContent":["import { injectable } from 'inversify';\nimport { container } from './inversify.config';\n\n// Interface\nexport interface SpinnerState {\n
|
|
1
|
+
{"version":3,"sources":["services/spinner.service.js"],"sourcesContent":["import { injectable } from 'inversify';\n\nimport { container } from './inversify.config';\n\n// Interface\nexport type SpinnerStatus = 'spin' | 'stop' | 'success' | 'failed';\nexport interface SpinnerState {\n status: SpinnerStatus;\n label: string;\n}\n\nexport type SpinnerStateListener = (state: SpinnerState) => void;\n\n// Service\n@injectable()\nexport class SpinnerService {\n // Attributes\n private _status: SpinnerStatus = 'stop';\n private _label = '';\n\n private readonly _listeners = new Set<SpinnerStateListener>();\n\n // Methods\n private _propagate() {\n for (const listener of this._listeners) {\n listener(this.state);\n }\n }\n\n subscribe(listener: SpinnerStateListener) {\n this._listeners.add(listener);\n\n return () => {\n this._listeners.delete(listener);\n };\n }\n\n spin(label: string) {\n this._status = 'spin';\n this._label = label;\n\n this._propagate();\n }\n\n success(label: string) {\n this._status = 'success';\n this._label = label;\n\n this._propagate();\n }\n\n failed(label: string) {\n this._status = 'failed';\n this._label = label;\n\n this._propagate();\n }\n\n stop() {\n if (this._status === 'spin') {\n this._status = 'stop';\n\n this._propagate();\n }\n }\n\n // Properties\n get state(): SpinnerState {\n return {\n status: this._status,\n label: this._label,\n };\n }\n}\n\ncontainer.bind(SpinnerService)\n .toSelf()\n .inSingletonScope();\n"],"names":["SpinnerService","_status","_label","_listeners","Set","_propagate","listener","state","subscribe","add","delete","spin","label","success","failed","stop","status","injectable","container","bind","toSelf","inSingletonScope"],"mappings":"AAAA;;;;+BAeaA;;aAAAA;;2BAfc;iCAED;;;;;;;IAabA,iBAAN;IACL,aAAa;IACLC,UAAyB,OAAO;IAChCC,SAAS,GAAG;IAEHC,aAAa,IAAIC,MAA4B;IAE9D,UAAU;IACFC,aAAa;QACnB,KAAK,MAAMC,YAAY,IAAI,CAACH,UAAU,CAAE;YACtCG,SAAS,IAAI,CAACC,KAAK;QACrB;IACF;IAEAC,UAAUF,QAA8B,EAAE;QACxC,IAAI,CAACH,UAAU,CAACM,GAAG,CAACH;QAEpB,OAAO,IAAM;YACX,IAAI,CAACH,UAAU,CAACO,MAAM,CAACJ;QACzB;IACF;IAEAK,KAAKC,KAAa,EAAE;QAClB,IAAI,CAACX,OAAO,GAAG;QACf,IAAI,CAACC,MAAM,GAAGU;QAEd,IAAI,CAACP,UAAU;IACjB;IAEAQ,QAAQD,KAAa,EAAE;QACrB,IAAI,CAACX,OAAO,GAAG;QACf,IAAI,CAACC,MAAM,GAAGU;QAEd,IAAI,CAACP,UAAU;IACjB;IAEAS,OAAOF,KAAa,EAAE;QACpB,IAAI,CAACX,OAAO,GAAG;QACf,IAAI,CAACC,MAAM,GAAGU;QAEd,IAAI,CAACP,UAAU;IACjB;IAEAU,OAAO;QACL,IAAI,IAAI,CAACd,OAAO,KAAK,QAAQ;YAC3B,IAAI,CAACA,OAAO,GAAG;YAEf,IAAI,CAACI,UAAU;QACjB,CAAC;IACH;IAEA,aAAa;IACb,IAAIE,QAAsB;QACxB,OAAO;YACLS,QAAQ,IAAI,CAACf,OAAO;YACpBW,OAAO,IAAI,CAACV,MAAM;QACpB;IACF;AACF;AA1DaF;IADZiB,IAAAA,qBAAU;GACEjB;AA4DbkB,0BAAS,CAACC,IAAI,CAACnB,gBACZoB,MAAM,GACNC,gBAAgB","file":"spinner.service.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/global-spinner.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["ui/global-spinner.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAA6B,MAAM,OAAO,CAAC;AAKtD,eAAO,MAAM,aAAa,EAAE,EAuC3B,CAAC","file":"global-spinner.d.ts","sourcesContent":["import { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport symbols from 'log-symbols';\nimport { FC, useLayoutEffect, useState } from 'react';\n\nimport { container, SpinnerService, SpinnerState } from '../services';\n\n// Components\nexport const GlobalSpinner: FC = () => {\n // State\n const [state, setState] = useState<SpinnerState>({ status: 'stop', label: '' });\n\n // Effect\n useLayoutEffect(() => {\n const spinner = container.get(SpinnerService);\n setState(spinner.state);\n\n return spinner.subscribe(setState);\n }, []);\n\n // Render\n switch (state.status) {\n case 'spin':\n return (\n <Text>\n <Spinner />{' ' + state.label}\n </Text>\n );\n\n case 'success':\n return (\n <Text color=\"green\">\n {symbols.success} {state.label}\n </Text>\n );\n\n case 'failed':\n return (\n <Text color=\"red\">\n {symbols.error} {state.label}\n </Text>\n );\n\n case 'stop':\n default:\n return null;\n }\n};\n"]}
|
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "GlobalSpinner", {
|
|
|
9
9
|
const _jsxRuntime = require("react/jsx-runtime");
|
|
10
10
|
const _ink = require("ink");
|
|
11
11
|
const _inkSpinner = /*#__PURE__*/ _interopRequireDefault(require("ink-spinner"));
|
|
12
|
+
const _logSymbols = /*#__PURE__*/ _interopRequireDefault(require("log-symbols"));
|
|
12
13
|
const _react = require("react");
|
|
13
14
|
const _services = require("../services");
|
|
14
15
|
function _interopRequireDefault(obj) {
|
|
@@ -19,7 +20,7 @@ function _interopRequireDefault(obj) {
|
|
|
19
20
|
const GlobalSpinner = ()=>{
|
|
20
21
|
// State
|
|
21
22
|
const [state, setState] = (0, _react.useState)({
|
|
22
|
-
|
|
23
|
+
status: 'stop',
|
|
23
24
|
label: ''
|
|
24
25
|
});
|
|
25
26
|
// Effect
|
|
@@ -29,15 +30,36 @@ const GlobalSpinner = ()=>{
|
|
|
29
30
|
return spinner.subscribe(setState);
|
|
30
31
|
}, []);
|
|
31
32
|
// Render
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
33
|
+
switch(state.status){
|
|
34
|
+
case 'spin':
|
|
35
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
36
|
+
children: [
|
|
37
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_inkSpinner.default, {}),
|
|
38
|
+
' ' + state.label
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
case 'success':
|
|
42
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
43
|
+
color: "green",
|
|
44
|
+
children: [
|
|
45
|
+
_logSymbols.default.success,
|
|
46
|
+
" ",
|
|
47
|
+
state.label
|
|
48
|
+
]
|
|
49
|
+
});
|
|
50
|
+
case 'failed':
|
|
51
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
52
|
+
color: "red",
|
|
53
|
+
children: [
|
|
54
|
+
_logSymbols.default.error,
|
|
55
|
+
" ",
|
|
56
|
+
state.label
|
|
57
|
+
]
|
|
58
|
+
});
|
|
59
|
+
case 'stop':
|
|
60
|
+
default:
|
|
61
|
+
return null;
|
|
39
62
|
}
|
|
40
|
-
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
|
|
41
63
|
};
|
|
42
64
|
|
|
43
65
|
//# sourceMappingURL=global-spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/global-spinner.js"],"sourcesContent":["import { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport { FC, useLayoutEffect, useState } from 'react';\n\nimport { container, SpinnerService, SpinnerState } from '../services';\n\n// Components\nexport const GlobalSpinner: FC = () => {\n // State\n const [state, setState] = useState<SpinnerState>({
|
|
1
|
+
{"version":3,"sources":["ui/global-spinner.js"],"sourcesContent":["import { Text } from 'ink';\nimport Spinner from 'ink-spinner';\nimport symbols from 'log-symbols';\nimport { FC, useLayoutEffect, useState } from 'react';\n\nimport { container, SpinnerService, SpinnerState } from '../services';\n\n// Components\nexport const GlobalSpinner: FC = () => {\n // State\n const [state, setState] = useState<SpinnerState>({ status: 'stop', label: '' });\n\n // Effect\n useLayoutEffect(() => {\n const spinner = container.get(SpinnerService);\n setState(spinner.state);\n\n return spinner.subscribe(setState);\n }, []);\n\n // Render\n switch (state.status) {\n case 'spin':\n return (\n <Text>\n <Spinner />{' ' + state.label}\n </Text>\n );\n\n case 'success':\n return (\n <Text color=\"green\">\n {symbols.success} {state.label}\n </Text>\n );\n\n case 'failed':\n return (\n <Text color=\"red\">\n {symbols.error} {state.label}\n </Text>\n );\n\n case 'stop':\n default:\n return null;\n }\n};\n"],"names":["GlobalSpinner","state","setState","useState","status","label","useLayoutEffect","spinner","container","get","SpinnerService","subscribe","Text","Spinner","color","symbols","success","error"],"mappings":"AAAA;;;;+BAQaA;;aAAAA;;;qBARQ;iEACD;iEACA;uBAC0B;0BAEU;;;;;;AAGjD,MAAMA,gBAAoB,IAAM;IACrC,QAAQ;IACR,MAAM,CAACC,OAAOC,SAAS,GAAGC,IAAAA,eAAQ,EAAe;QAAEC,QAAQ;QAAQC,OAAO;IAAG;IAE7E,SAAS;IACTC,IAAAA,sBAAe,EAAC,IAAM;QACpB,MAAMC,UAAUC,mBAAS,CAACC,GAAG,CAACC,wBAAc;QAC5CR,SAASK,QAAQN,KAAK;QAEtB,OAAOM,QAAQI,SAAS,CAACT;IAC3B,GAAG,EAAE;IAEL,SAAS;IACT,OAAQD,MAAMG,MAAM;QAClB,KAAK;YACH,qBACE,sBAACQ,SAAI;;kCACH,qBAACC,mBAAO;oBAAI,MAAMZ,MAAMI,KAAK;;;QAInC,KAAK;YACH,qBACE,sBAACO,SAAI;gBAACE,OAAM;;oBACTC,mBAAO,CAACC,OAAO;oBAAC;oBAAEf,MAAMI,KAAK;;;QAIpC,KAAK;YACH,qBACE,sBAACO,SAAI;gBAACE,OAAM;;oBACTC,mBAAO,CAACE,KAAK;oBAAC;oBAAEhB,MAAMI,KAAK;;;QAIlC,KAAK;QACL;YACE,OAAO,IAAI;IACf;AACF","file":"global-spinner.js"}
|
package/dist/ui/index.d.ts
CHANGED
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"sources":["ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC","file":"index.d.ts","sourcesContent":["export * from './global-spinner';\nexport * from './layout';\nexport * from './list';\nexport * from './static-logs';\nexport * from './workspace-tree';\n"]}
|
package/dist/ui/index.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
_exportStar(require("./cli-list"), exports);
|
|
6
5
|
_exportStar(require("./global-spinner"), exports);
|
|
7
6
|
_exportStar(require("./layout"), exports);
|
|
7
|
+
_exportStar(require("./list"), exports);
|
|
8
8
|
_exportStar(require("./static-logs"), exports);
|
|
9
|
+
_exportStar(require("./workspace-tree"), exports);
|
|
9
10
|
function _exportStar(from, to) {
|
|
10
11
|
Object.keys(from).forEach(function(k) {
|
|
11
12
|
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) Object.defineProperty(to, k, {
|
package/dist/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/index.js"],"sourcesContent":["export * from './
|
|
1
|
+
{"version":3,"sources":["ui/index.js"],"sourcesContent":["export * from './global-spinner';\nexport * from './layout';\nexport * from './list';\nexport * from './static-logs';\nexport * from './workspace-tree';\n"],"names":[],"mappings":"AAAA;;;;oBAAc;oBACA;oBACA;oBACA;oBACA","file":"index.js"}
|
package/dist/ui/layout.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,eAAO,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"sources":["ui/layout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAM3B,eAAO,MAAM,MAAM,EAAE,EAMpB,CAAC","file":"layout.d.ts","sourcesContent":["import { FC } from 'react';\n\nimport { GlobalSpinner } from './global-spinner';\nimport { StaticLogs } from './static-logs';\n\n// Component\nexport const Layout: FC = ({ children }) => (\n <>\n <StaticLogs />\n <GlobalSpinner />\n { children }\n </>\n);\n"]}
|
package/dist/ui/layout.js
CHANGED
|
@@ -9,10 +9,11 @@ Object.defineProperty(exports, "Layout", {
|
|
|
9
9
|
const _jsxRuntime = require("react/jsx-runtime");
|
|
10
10
|
const _globalSpinner = require("./global-spinner");
|
|
11
11
|
const _staticLogs = require("./static-logs");
|
|
12
|
-
const Layout = ()=>/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
12
|
+
const Layout = ({ children })=>/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
13
13
|
children: [
|
|
14
14
|
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_staticLogs.StaticLogs, {}),
|
|
15
|
-
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_globalSpinner.GlobalSpinner, {})
|
|
15
|
+
/*#__PURE__*/ (0, _jsxRuntime.jsx)(_globalSpinner.GlobalSpinner, {}),
|
|
16
|
+
children
|
|
16
17
|
]
|
|
17
18
|
});
|
|
18
19
|
|
package/dist/ui/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/layout.js"],"sourcesContent":["import { FC } from 'react';\n\nimport { GlobalSpinner } from './global-spinner';\nimport { StaticLogs } from './static-logs';\n\n// Component\nexport const Layout: FC = () => (\n <>\n <StaticLogs />\n <GlobalSpinner />\n </>\n);\n"],"names":["Layout","StaticLogs","GlobalSpinner"],"mappings":"AAAA;;;;+BAMaA;;aAAAA;;;+BAJiB;4BACH;AAGpB,MAAMA,SAAa,
|
|
1
|
+
{"version":3,"sources":["ui/layout.js"],"sourcesContent":["import { FC } from 'react';\n\nimport { GlobalSpinner } from './global-spinner';\nimport { StaticLogs } from './static-logs';\n\n// Component\nexport const Layout: FC = ({ children }) => (\n <>\n <StaticLogs />\n <GlobalSpinner />\n { children }\n </>\n);\n"],"names":["Layout","children","StaticLogs","GlobalSpinner"],"mappings":"AAAA;;;;+BAMaA;;aAAAA;;;+BAJiB;4BACH;AAGpB,MAAMA,SAAa,CAAC,EAAEC,SAAQ,EAAE,iBACrC;;0BACE,qBAACC,sBAAU;0BACX,qBAACC,4BAAa;YACZF","file":"layout.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ui/list.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAKrC,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAGD,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAetG","file":"list.d.ts","sourcesContent":["import { Box, Text } from 'ink';\nimport { ReactElement } from 'react';\n\nimport { capitalize } from '../utils';\n\n// Types\nexport interface ListProps<T extends Record<string, unknown>> {\n items: T[];\n headers?: boolean;\n}\n\n// Component\nexport function List<T extends Record<string, unknown>>({ items, headers }: ListProps<T>): ReactElement {\n return (\n <Box>\n { Object.keys(items[0]).map((key) => (\n <Box key={key} flexDirection=\"column\" marginRight={2}>\n { headers && (\n <Text bold>{ capitalize(key) }</Text>\n ) }\n { items.map((item, idx) => (\n <Text key={idx}>{ item[key] }</Text>\n )) }\n </Box>\n )) }\n </Box>\n );\n}\n"]}
|
package/dist/ui/list.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "List", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: ()=>List
|
|
8
|
+
});
|
|
9
|
+
const _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
const _ink = require("ink");
|
|
11
|
+
const _utils = require("../utils");
|
|
12
|
+
function List({ items , headers }) {
|
|
13
|
+
return /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Box, {
|
|
14
|
+
children: Object.keys(items[0]).map((key)=>/*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Box, {
|
|
15
|
+
flexDirection: "column",
|
|
16
|
+
marginRight: 2,
|
|
17
|
+
children: [
|
|
18
|
+
headers && /*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Text, {
|
|
19
|
+
bold: true,
|
|
20
|
+
children: (0, _utils.capitalize)(key)
|
|
21
|
+
}),
|
|
22
|
+
items.map((item, idx)=>/*#__PURE__*/ (0, _jsxRuntime.jsx)(_ink.Text, {
|
|
23
|
+
children: item[key]
|
|
24
|
+
}, idx))
|
|
25
|
+
]
|
|
26
|
+
}, key))
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ui/list.js"],"sourcesContent":["import { Box, Text } from 'ink';\nimport { ReactElement } from 'react';\n\nimport { capitalize } from '../utils';\n\n// Types\nexport interface ListProps<T extends Record<string, unknown>> {\n items: T[];\n headers?: boolean;\n}\n\n// Component\nexport function List<T extends Record<string, unknown>>({ items, headers }: ListProps<T>): ReactElement {\n return (\n <Box>\n { Object.keys(items[0]).map((key) => (\n <Box key={key} flexDirection=\"column\" marginRight={2}>\n { headers && (\n <Text bold>{ capitalize(key) }</Text>\n ) }\n { items.map((item, idx) => (\n <Text key={idx}>{ item[key] }</Text>\n )) }\n </Box>\n )) }\n </Box>\n );\n}\n"],"names":["List","items","headers","Box","Object","keys","map","key","flexDirection","marginRight","Text","bold","capitalize","item","idx"],"mappings":"AAAA;;;;+BAYgBA;;aAAAA;;;qBAZU;uBAGC;AASpB,SAASA,KAAwC,EAAEC,MAAK,EAAEC,QAAO,EAAgB,EAAgB;IACtG,qBACE,qBAACC,QAAG;kBACAC,OAAOC,IAAI,CAACJ,KAAK,CAAC,EAAE,EAAEK,GAAG,CAAC,CAACC,oBAC3B,sBAACJ,QAAG;gBAAWK,eAAc;gBAASC,aAAa;;oBAC/CP,yBACA,qBAACQ,SAAI;wBAACC,IAAI;kCAAGC,IAAAA,iBAAU,EAACL;;oBAExBN,MAAMK,GAAG,CAAC,CAACO,MAAMC,oBACjB,qBAACJ,SAAI;sCAAaG,IAAI,CAACN,IAAI;2BAAhBO;;eALLP;;AAWlB","file":"list.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/static-logs.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"sources":["ui/static-logs.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAoB,MAAM,OAAO,CAAC;AAe7C,eAAO,MAAM,UAAU,EAAE,EA+CxB,CAAC","file":"static-logs.d.ts","sourcesContent":["import { useStderr } from 'ink';\nimport { FC, useLayoutEffect, } from 'react';\nimport Transport from 'winston-transport';\n\nimport { consoleFormat, container, Logger } from '../services';\nimport winston from 'winston';\n\n// Constants\nconst MESSAGE = Symbol.for('message');\n\n// Types\ninterface Info extends Record<string, unknown> {\n [MESSAGE]: string;\n}\n\n// Component\nexport const StaticLogs: FC = () => {\n // State\n const { write } = useStderr();\n\n // Effect\n useLayoutEffect(() => {\n const logger = container.get(Logger);\n\n // Remove Console transport\n for (const transport of logger.transports) {\n if (transport instanceof winston.transports.Console) {\n logger.remove(transport);\n }\n }\n\n // Add custom transport\n const transport = new class extends Transport {\n // Constructor\n constructor() {\n super({\n format: consoleFormat\n });\n }\n\n // Methods\n log(info: Info, next: () => void): void {\n setTimeout(() => {\n this.emit('logged', info);\n }, 0);\n\n write(info[MESSAGE] + '\\n');\n\n next();\n }\n };\n\n logger.add(transport);\n\n return () => {\n logger.remove(transport);\n logger.add(new winston.transports.Console({\n format: consoleFormat\n }));\n };\n }, [write]);\n\n return null;\n};\n"]}
|
package/dist/ui/static-logs.js
CHANGED
|
@@ -6,74 +6,58 @@ Object.defineProperty(exports, "StaticLogs", {
|
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: ()=>StaticLogs
|
|
8
8
|
});
|
|
9
|
-
const _jsxRuntime = require("react/jsx-runtime");
|
|
10
9
|
const _ink = require("ink");
|
|
11
10
|
const _react = require("react");
|
|
12
11
|
const _winstonTransport = /*#__PURE__*/ _interopRequireDefault(require("winston-transport"));
|
|
13
12
|
const _services = require("../services");
|
|
13
|
+
const _winston = /*#__PURE__*/ _interopRequireDefault(require("winston"));
|
|
14
14
|
function _interopRequireDefault(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
// Constants
|
|
20
|
-
const
|
|
21
|
-
debug: 'grey',
|
|
22
|
-
verbose: 'blue',
|
|
23
|
-
warn: 'yellow',
|
|
24
|
-
error: 'red'
|
|
25
|
-
};
|
|
26
|
-
// Utils
|
|
27
|
-
let id = 0;
|
|
20
|
+
const MESSAGE = Symbol.for('message');
|
|
28
21
|
const StaticLogs = ()=>{
|
|
29
22
|
// State
|
|
30
|
-
const
|
|
23
|
+
const { write } = (0, _ink.useStderr)();
|
|
31
24
|
// Effect
|
|
32
25
|
(0, _react.useLayoutEffect)(()=>{
|
|
33
26
|
const logger = _services.container.get(_services.Logger);
|
|
34
|
-
|
|
35
|
-
logger.
|
|
36
|
-
|
|
27
|
+
// Remove Console transport
|
|
28
|
+
for (const transport of logger.transports){
|
|
29
|
+
if (transport instanceof _winston.default.transports.Console) {
|
|
30
|
+
logger.remove(transport);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Add custom transport
|
|
34
|
+
const transport1 = new class extends _winstonTransport.default {
|
|
35
|
+
// Constructor
|
|
36
|
+
constructor(){
|
|
37
|
+
super({
|
|
38
|
+
format: _services.consoleFormat
|
|
39
|
+
});
|
|
40
|
+
}
|
|
37
41
|
// Methods
|
|
38
42
|
log(info, next) {
|
|
39
43
|
setTimeout(()=>{
|
|
40
44
|
this.emit('logged', info);
|
|
41
45
|
}, 0);
|
|
42
|
-
|
|
43
|
-
...old,
|
|
44
|
-
{
|
|
45
|
-
id: ++id,
|
|
46
|
-
...info
|
|
47
|
-
}
|
|
48
|
-
]);
|
|
46
|
+
write(info[MESSAGE] + '\n');
|
|
49
47
|
next();
|
|
50
48
|
}
|
|
51
|
-
}
|
|
49
|
+
};
|
|
50
|
+
logger.add(transport1);
|
|
52
51
|
return ()=>{
|
|
53
|
-
logger.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
52
|
+
logger.remove(transport1);
|
|
53
|
+
logger.add(new _winston.default.transports.Console({
|
|
54
|
+
format: _services.consoleFormat
|
|
55
|
+
}));
|
|
57
56
|
};
|
|
58
|
-
}, [
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
color: COLORS[log.level],
|
|
63
|
-
children: [
|
|
64
|
-
log.label && /*#__PURE__*/ (0, _jsxRuntime.jsxs)(_ink.Text, {
|
|
65
|
-
color: "grey",
|
|
66
|
-
children: [
|
|
67
|
-
"[",
|
|
68
|
-
log.label,
|
|
69
|
-
"]",
|
|
70
|
-
' '
|
|
71
|
-
]
|
|
72
|
-
}),
|
|
73
|
-
log.message
|
|
74
|
-
]
|
|
75
|
-
}, log.id)
|
|
76
|
-
});
|
|
57
|
+
}, [
|
|
58
|
+
write
|
|
59
|
+
]);
|
|
60
|
+
return null;
|
|
77
61
|
};
|
|
78
62
|
|
|
79
63
|
//# sourceMappingURL=static-logs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ui/static-logs.js"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["ui/static-logs.js"],"sourcesContent":["import { useStderr } from 'ink';\nimport { FC, useLayoutEffect, } from 'react';\nimport Transport from 'winston-transport';\n\nimport { consoleFormat, container, Logger } from '../services';\nimport winston from 'winston';\n\n// Constants\nconst MESSAGE = Symbol.for('message');\n\n// Types\ninterface Info extends Record<string, unknown> {\n [MESSAGE]: string;\n}\n\n// Component\nexport const StaticLogs: FC = () => {\n // State\n const { write } = useStderr();\n\n // Effect\n useLayoutEffect(() => {\n const logger = container.get(Logger);\n\n // Remove Console transport\n for (const transport of logger.transports) {\n if (transport instanceof winston.transports.Console) {\n logger.remove(transport);\n }\n }\n\n // Add custom transport\n const transport = new class extends Transport {\n // Constructor\n constructor() {\n super({\n format: consoleFormat\n });\n }\n\n // Methods\n log(info: Info, next: () => void): void {\n setTimeout(() => {\n this.emit('logged', info);\n }, 0);\n\n write(info[MESSAGE] + '\\n');\n\n next();\n }\n };\n\n logger.add(transport);\n\n return () => {\n logger.remove(transport);\n logger.add(new winston.transports.Console({\n format: consoleFormat\n }));\n };\n }, [write]);\n\n return null;\n};\n"],"names":["StaticLogs","MESSAGE","Symbol","for","write","useStderr","useLayoutEffect","logger","container","get","Logger","transport","transports","winston","Console","remove","Transport","constructor","format","consoleFormat","log","info","next","setTimeout","emit","add"],"mappings":"AAAA;;;;+BAgBaA;;aAAAA;;qBAhBa;uBACW;uEACf;0BAE2B;8DAC7B;;;;;;AAEpB,YAAY;AACZ,MAAMC,UAAUC,OAAOC,GAAG,CAAC;AAQpB,MAAMH,aAAiB,IAAM;IAClC,QAAQ;IACR,MAAM,EAAEI,MAAK,EAAE,GAAGC,IAAAA,cAAS;IAE3B,SAAS;IACTC,IAAAA,sBAAe,EAAC,IAAM;QACpB,MAAMC,SAASC,mBAAS,CAACC,GAAG,CAACC,gBAAM;QAEnC,2BAA2B;QAC3B,KAAK,MAAMC,aAAaJ,OAAOK,UAAU,CAAE;YACzC,IAAID,qBAAqBE,gBAAO,CAACD,UAAU,CAACE,OAAO,EAAE;gBACnDP,OAAOQ,MAAM,CAACJ;YAChB,CAAC;QACH;QAEA,uBAAuB;QACvB,MAAMA,aAAY,IAAI,cAAcK,yBAAS;YAC3C,cAAc;YACdC,aAAc;gBACZ,KAAK,CAAC;oBACJC,QAAQC,uBAAa;gBACvB;YACF;YAEA,UAAU;YACVC,IAAIC,IAAU,EAAEC,IAAgB,EAAQ;gBACtCC,WAAW,IAAM;oBACf,IAAI,CAACC,IAAI,CAAC,UAAUH;gBACtB,GAAG;gBAEHjB,MAAMiB,IAAI,CAACpB,QAAQ,GAAG;gBAEtBqB;YACF;QACF;QAEAf,OAAOkB,GAAG,CAACd;QAEX,OAAO,IAAM;YACXJ,OAAOQ,MAAM,CAACJ;YACdJ,OAAOkB,GAAG,CAAC,IAAIZ,gBAAO,CAACD,UAAU,CAACE,OAAO,CAAC;gBACxCI,QAAQC,uBAAa;YACvB;QACF;IACF,GAAG;QAACf;KAAM;IAEV,OAAO,IAAI;AACb","file":"static-logs.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["ui/workspace-tree.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,YAAY,EAAuB,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAMD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAwChD,CAAC","file":"workspace-tree.d.ts","sourcesContent":["import { Newline, Text, TextProps } from 'ink';\nimport { FC, ReactElement, useEffect, useState } from 'react';\n\nimport { Workspace } from '../project';\n\n// Types\nexport interface WorkspaceTreeProps {\n workspace: Workspace;\n dev?: boolean;\n level?: ReactElement;\n}\n\n// Utils\nconst style = (dev: boolean): TextProps => ({ color: dev ? 'blue' : '' });\n\n// Component\nexport const WorkspaceTree: FC<WorkspaceTreeProps> = (props) => {\n const { workspace: wks, dev = false, level = '' } = props;\n\n // State\n const [deps, setDeps] = useState<[Workspace, boolean | null][]>([]);\n\n // Effects\n useEffect(() => void (async () => {\n const deps: [Workspace, boolean | null][] = [];\n\n for await (const dep of wks.dependencies()) {\n deps.push([dep, null]);\n }\n\n for await (const dep of wks.devDependencies()) {\n deps.push([dep, true]);\n }\n\n setDeps(deps);\n })(), [wks]);\n\n // Render\n return (\n <Text>\n <Text {...style(dev)}>{ wks.name }</Text>\n { wks.version && (<Text color=\"grey\">@{ wks.version }</Text>) }\n <Newline />\n\n { deps.map(([dep, isDev], idx) => (\n <Text key={dep.name}>\n { level }<Text {...style(dev)}>{ idx === deps.length - 1 ? '└' : '├'}─{' '}</Text>\n <WorkspaceTree\n workspace={dep}\n dev={isDev ?? dev}\n level={<>{ level }<Text {...style(dev)}>{ idx === deps.length - 1 ? ' ' : '│' }{' '}</Text></>}\n />\n </Text>\n )) }\n </Text>\n );\n};\n"]}
|