@ship-ui/core 0.18.13 → 0.19.2
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/assets/mcp/components.json +57 -34
- package/bin/ship-fg-scanner +0 -0
- package/bin/ship-fg.mjs +3588 -0
- package/bin/ship-fg.ts +1 -2
- package/bin/src/scanner.zig +322 -0
- package/bin/src/ship-fg.ts +101 -183
- package/bin/src/subset.ts +97 -0
- package/bin/src/utilities.js +19 -19
- package/bin/src/utilities.ts +19 -19
- package/fesm2022/ship-ui-core.mjs +520 -334
- package/fesm2022/ship-ui-core.mjs.map +1 -1
- package/package.json +6 -5
- package/snippets/ship-ui.code-snippets +0 -7
- package/styles/components/ship-sidenav.scss +1 -1
- package/styles/components/ship-sortable.scss +13 -22
- package/types/ship-ui-core.d.ts +78 -46
- package/bin/ship-fg-node +0 -40
- package/bin/src/ship-fg-node.js +0 -373
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ship-ui/core",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.19.2",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": ">=20",
|
|
7
7
|
"@angular/core": ">=20",
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
}
|
|
24
24
|
],
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"subset-font": "^2.3.0",
|
|
27
26
|
"@phosphor-icons/web": "^2.1.1",
|
|
28
|
-
"
|
|
27
|
+
"harfbuzzjs": "^0.10.1",
|
|
28
|
+
"wawoff2": "^2.0.1",
|
|
29
29
|
"tslib": "^2.3.0"
|
|
30
30
|
},
|
|
31
31
|
"bin": {
|
|
32
|
-
"ship-fg": "./bin/ship-fg
|
|
32
|
+
"ship-fg": "./bin/ship-fg.mjs",
|
|
33
33
|
"ship-mcp": "./bin/mcp/index.js"
|
|
34
34
|
},
|
|
35
35
|
"libraryIcons": [
|
|
@@ -72,5 +72,6 @@
|
|
|
72
72
|
},
|
|
73
73
|
"sideEffects": false,
|
|
74
74
|
"module": "fesm2022/ship-ui-core.mjs",
|
|
75
|
-
"typings": "types/ship-ui-core.d.ts"
|
|
75
|
+
"typings": "types/ship-ui-core.d.ts",
|
|
76
|
+
"type": "module"
|
|
76
77
|
}
|
|
@@ -34,13 +34,6 @@
|
|
|
34
34
|
],
|
|
35
35
|
"description": "Basic usage of ShipSortable"
|
|
36
36
|
},
|
|
37
|
-
"GridSortable: Basic": {
|
|
38
|
-
"prefix": "shGridSortable",
|
|
39
|
-
"body": [
|
|
40
|
-
"<div shGridSortable>$0</div>"
|
|
41
|
-
],
|
|
42
|
-
"description": "Basic usage of GridSortable"
|
|
43
|
-
},
|
|
44
37
|
"ShipColorPickerInput: Basic": {
|
|
45
38
|
"prefix": "sh-color-picker-input",
|
|
46
39
|
"body": [
|
|
@@ -29,13 +29,13 @@ $shipSidenav: true !default;
|
|
|
29
29
|
height: 100%;
|
|
30
30
|
overflow: auto;
|
|
31
31
|
padding: p2r(16 16 16 0);
|
|
32
|
+
background-color: var(--base-1);
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
main {
|
|
35
36
|
overflow-x: hidden;
|
|
36
37
|
overflow-y: auto;
|
|
37
38
|
-webkit-overflow-scrolling: auto;
|
|
38
|
-
background-color: var(--base-1);
|
|
39
39
|
border: var(--border-10);
|
|
40
40
|
border-radius: var(--shape-3);
|
|
41
41
|
height: calc(100vh - 2rem);
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
$shipSortable: true !default;
|
|
4
4
|
|
|
5
5
|
@if $shipSortable == true {
|
|
6
|
-
|
|
6
|
+
.sh-sortable {
|
|
7
7
|
position: relative;
|
|
8
8
|
|
|
9
9
|
&.dragging {
|
|
10
|
-
[draggable]
|
|
10
|
+
[draggable],
|
|
11
|
+
.sortable-ghost {
|
|
12
|
+
cursor: grabbing;
|
|
11
13
|
transition: transform 40ms linear;
|
|
12
14
|
}
|
|
13
15
|
}
|
|
@@ -18,33 +20,22 @@ $shipSortable: true !default;
|
|
|
18
20
|
transition: none;
|
|
19
21
|
z-index: 2;
|
|
20
22
|
background: var(--base-1);
|
|
23
|
+
user-select: none;
|
|
21
24
|
|
|
22
|
-
&:
|
|
25
|
+
&:not(:has([sort-handle])) {
|
|
23
26
|
cursor: grab;
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
|
|
27
|
-
.sortable-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
z-index: 1;
|
|
31
|
-
|
|
32
|
-
&.active {
|
|
33
|
-
z-index: 1;
|
|
34
|
-
background-color: var(--base-6);
|
|
35
|
-
border: var(--border-20);
|
|
36
|
-
opacity: 0.5;
|
|
37
|
-
}
|
|
30
|
+
.sortable-ghost {
|
|
31
|
+
opacity: 0.5;
|
|
32
|
+
z-index: 10;
|
|
38
33
|
}
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
.sortable-dragged-el.active,
|
|
46
|
-
.sortable-dragged-el {
|
|
47
|
-
opacity: 0;
|
|
35
|
+
&.item-dragged-out {
|
|
36
|
+
.sortable-ghost {
|
|
37
|
+
display: none;
|
|
38
|
+
}
|
|
48
39
|
}
|
|
49
40
|
|
|
50
41
|
[sort-handle] {
|
package/types/ship-ui-core.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef, QueryList, TemplateRef, OutputEmitterRef, InputSignal, ComponentRef, EmbeddedViewRef, OutputRefSubscription, Type, AfterViewInit, OnDestroy, AfterContentInit, WritableSignal, InjectionToken } from '@angular/core';
|
|
2
|
+
import { ElementRef, QueryList, TemplateRef, OutputEmitterRef, InputSignal, ComponentRef, EmbeddedViewRef, OutputRefSubscription, Type, AfterViewInit, OnDestroy, AfterContentInit, WritableSignal, OnInit, InjectionToken } from '@angular/core';
|
|
3
3
|
import { NgModel } from '@angular/forms';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
4
5
|
|
|
5
6
|
type ShipColor = 'primary' | 'accent' | 'warn' | 'error' | 'success' | (string & {});
|
|
6
7
|
type ShipSize = 'small' | 'xsmall' | (string & {});
|
|
@@ -267,11 +268,12 @@ declare abstract class ShipSelectionGroup<T = any> {
|
|
|
267
268
|
protected readonly hostElement: any;
|
|
268
269
|
protected items: _angular_core.Signal<HTMLElement[]>;
|
|
269
270
|
readonly value: _angular_core.ModelSignal<T | null>;
|
|
271
|
+
readonly closable: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
270
272
|
constructor(itemSelector: string, activeClass: string);
|
|
271
273
|
protected onClick(target: EventTarget | null): void;
|
|
272
274
|
protected onKeyDown(event: KeyboardEvent): void;
|
|
273
275
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSelectionGroup<any>, never>;
|
|
274
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSelectionGroup<any>, never, never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
276
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSelectionGroup<any>, never, never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
275
277
|
}
|
|
276
278
|
|
|
277
279
|
declare class ShipButtonGroup extends ShipSelectionGroup<string> {
|
|
@@ -808,41 +810,71 @@ declare class ShipSidenav {
|
|
|
808
810
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipSidenav, "sh-sidenav", never, { "disableDrag": { "alias": "disableDrag"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; }, never, ["[sidenav]", "[sidenav-closed-topbar]", "*"], true, never>;
|
|
809
811
|
}
|
|
810
812
|
|
|
811
|
-
declare class GridSortable {
|
|
812
|
-
#private;
|
|
813
|
-
onDragStart(event: DragEvent): void;
|
|
814
|
-
onDragOver(event: DragEvent): void;
|
|
815
|
-
onDragEnter(event: DragEvent): void;
|
|
816
|
-
private updateOrder;
|
|
817
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridSortable, never>;
|
|
818
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridSortable, "[shGridSortable]", never, {}, {}, never, never, true, never>;
|
|
819
|
-
}
|
|
820
|
-
|
|
821
813
|
type AfterDropResponse = {
|
|
822
814
|
fromIndex: number;
|
|
823
815
|
toIndex: number;
|
|
824
816
|
};
|
|
825
|
-
|
|
817
|
+
type CrossDropResponse = {
|
|
818
|
+
previousContainer: ShipSortable;
|
|
819
|
+
currentContainer: ShipSortable;
|
|
820
|
+
previousIndex: number;
|
|
821
|
+
currentIndex: number;
|
|
822
|
+
};
|
|
823
|
+
type ShipDropEvent = {
|
|
824
|
+
previousContainer: ShipSortable;
|
|
825
|
+
container: ShipSortable;
|
|
826
|
+
previousIndex: number;
|
|
827
|
+
currentIndex: number;
|
|
828
|
+
};
|
|
829
|
+
interface SortableManagerConfig {
|
|
830
|
+
/**
|
|
831
|
+
* If provided, this hook is evaluated before the Signals are modified.
|
|
832
|
+
* Return `true`/`Observable<true>` to accept the drop, or false to reject.
|
|
833
|
+
*/
|
|
834
|
+
onBeforeDrop?: (event: ShipDropEvent) => boolean | Promise<boolean> | Observable<boolean>;
|
|
835
|
+
}
|
|
836
|
+
declare function createSortableManager<T>(signals: WritableSignal<T[]> | Record<string, WritableSignal<T[]>>, config?: SortableManagerConfig): {
|
|
837
|
+
drop(event: ShipDropEvent): Promise<void>;
|
|
838
|
+
};
|
|
839
|
+
declare class ShipSortable implements OnInit, OnDestroy {
|
|
826
840
|
#private;
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
841
|
+
shSortable: _angular_core.InputSignal<any>;
|
|
842
|
+
sortableGroup: _angular_core.InputSignal<string | undefined>;
|
|
843
|
+
sortDrop: _angular_core.OutputEmitterRef<ShipDropEvent>;
|
|
830
844
|
afterDrop: _angular_core.OutputEmitterRef<AfterDropResponse>;
|
|
845
|
+
crossDrop: _angular_core.OutputEmitterRef<CrossDropResponse>;
|
|
846
|
+
dragStartIndex: WritableSignal<number>;
|
|
847
|
+
dragToIndex: WritableSignal<number>;
|
|
848
|
+
initialPositions: WritableSignal<{
|
|
849
|
+
x: number;
|
|
850
|
+
y: number;
|
|
851
|
+
width: number;
|
|
852
|
+
height: number;
|
|
853
|
+
}[]>;
|
|
854
|
+
dragables: WritableSignal<HTMLElement[]>;
|
|
855
|
+
static activeSource: ShipSortable | null;
|
|
856
|
+
static activeDraggedElement: HTMLElement | null;
|
|
857
|
+
static activeTarget: ShipSortable | null;
|
|
831
858
|
abortController: AbortController | null;
|
|
832
859
|
isDropping: boolean;
|
|
860
|
+
isCrossTarget: boolean;
|
|
833
861
|
draggingEffect: _angular_core.EffectRef;
|
|
834
862
|
draggablesEffect: _angular_core.EffectRef;
|
|
835
863
|
getIndexOfElement(element: HTMLElement): number;
|
|
836
864
|
dragStart(e: DragEvent): void;
|
|
837
865
|
ngOnInit(): void;
|
|
866
|
+
dragEnter(e: DragEvent): void;
|
|
867
|
+
dragLeave(e: DragEvent): void;
|
|
838
868
|
dragOver(e: DragEvent): void;
|
|
869
|
+
getVisualIndexOfElement(i: number): number;
|
|
839
870
|
drop(): void;
|
|
840
871
|
dragEnd(): void;
|
|
841
872
|
ngOnDestroy(): void;
|
|
842
873
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipSortable, never>;
|
|
843
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSortable, "[shSortable]", never, {}, { "afterDrop": "afterDrop"; }, never, never, true, never>;
|
|
874
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipSortable, "[shSortable]", never, { "shSortable": { "alias": "shSortable"; "required": false; "isSignal": true; }; "sortableGroup": { "alias": "sortableGroup"; "required": false; "isSignal": true; }; }, { "sortDrop": "sortDrop"; "afterDrop": "afterDrop"; "crossDrop": "crossDrop"; }, never, never, true, never>;
|
|
844
875
|
}
|
|
845
|
-
declare function moveIndex<T = any>(array: T[], event: AfterDropResponse): T[];
|
|
876
|
+
declare function moveIndex<T = any>(array: T[], event: Pick<ShipDropEvent, 'previousIndex' | 'currentIndex'> | Pick<AfterDropResponse, 'fromIndex' | 'toIndex'>): T[];
|
|
877
|
+
declare function transferArrayItem<T = any>(currentArray: T[], targetArray: T[], currentIndex: number, targetIndex: number): void;
|
|
846
878
|
|
|
847
879
|
declare class ShipSpinner {
|
|
848
880
|
color: _angular_core.InputSignal<ShipColor | null>;
|
|
@@ -1063,6 +1095,32 @@ declare class ShipTooltip implements OnDestroy {
|
|
|
1063
1095
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ShipTooltip, "[shTooltip]", never, { "shTooltip": { "alias": "shTooltip"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1064
1096
|
}
|
|
1065
1097
|
|
|
1098
|
+
declare function hslToRgbExact(h: number, s: number, l: number): [number, number, number];
|
|
1099
|
+
declare function hsvToRgbExact(h: number, s: number, v: number): [number, number, number];
|
|
1100
|
+
declare function rgbToHsv(r: number, g: number, b: number): {
|
|
1101
|
+
h: number;
|
|
1102
|
+
s: number;
|
|
1103
|
+
v: number;
|
|
1104
|
+
};
|
|
1105
|
+
declare function rgbToHex(r: number, g: number, b: number): string;
|
|
1106
|
+
declare function rgbaToHex8(r: number, g: number, b: number, a: number): string;
|
|
1107
|
+
declare function rgbToHsl(r: number, g: number, b: number): {
|
|
1108
|
+
h: number;
|
|
1109
|
+
s: number;
|
|
1110
|
+
l: number;
|
|
1111
|
+
string: string;
|
|
1112
|
+
};
|
|
1113
|
+
declare function rgbToOklch(r: number, g: number, b: number): {
|
|
1114
|
+
l: number;
|
|
1115
|
+
c: number;
|
|
1116
|
+
h: number;
|
|
1117
|
+
};
|
|
1118
|
+
declare function hslToOklch(h: number, s: number, l: number): {
|
|
1119
|
+
l: number;
|
|
1120
|
+
c: number;
|
|
1121
|
+
h: number;
|
|
1122
|
+
};
|
|
1123
|
+
|
|
1066
1124
|
declare const defaultThemeColors: Record<string, string>;
|
|
1067
1125
|
declare const SHIP_CONFIG: InjectionToken<ShipConfig>;
|
|
1068
1126
|
interface ShipComponentConfig {
|
|
@@ -1127,31 +1185,5 @@ interface ShipConfig {
|
|
|
1127
1185
|
sidenavType?: 'overlay' | 'simple';
|
|
1128
1186
|
}
|
|
1129
1187
|
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
declare function rgbToHsv(r: number, g: number, b: number): {
|
|
1133
|
-
h: number;
|
|
1134
|
-
s: number;
|
|
1135
|
-
v: number;
|
|
1136
|
-
};
|
|
1137
|
-
declare function rgbToHex(r: number, g: number, b: number): string;
|
|
1138
|
-
declare function rgbaToHex8(r: number, g: number, b: number, a: number): string;
|
|
1139
|
-
declare function rgbToHsl(r: number, g: number, b: number): {
|
|
1140
|
-
h: number;
|
|
1141
|
-
s: number;
|
|
1142
|
-
l: number;
|
|
1143
|
-
string: string;
|
|
1144
|
-
};
|
|
1145
|
-
declare function rgbToOklch(r: number, g: number, b: number): {
|
|
1146
|
-
l: number;
|
|
1147
|
-
c: number;
|
|
1148
|
-
h: number;
|
|
1149
|
-
};
|
|
1150
|
-
declare function hslToOklch(h: number, s: number, l: number): {
|
|
1151
|
-
l: number;
|
|
1152
|
-
c: number;
|
|
1153
|
-
h: number;
|
|
1154
|
-
};
|
|
1155
|
-
|
|
1156
|
-
export { GridSortable, SHIP_CONFIG, ShipAccordion, ShipAlert, ShipAlertContainer, ShipAlertModule, ShipAlertService, ShipBlueprint, ShipButton, ShipButtonGroup, ShipCard, ShipCheckbox, ShipChip, ShipColorPicker, ShipColorPickerInput, ShipDatepicker, ShipDatepickerInput, ShipDaterangeInput, ShipDialog, ShipDialogService, ShipDivider, ShipEventCard, ShipFileDragDrop, ShipFileUpload, ShipFormField, ShipFormFieldExperimental, ShipIcon, ShipInputMask, ShipList, ShipMenu, ShipPopover, ShipPreventWheel, ShipProgressBar, ShipRadio, ShipRangeSlider, ShipResize, ShipSelect, ShipSidenav, ShipSort, ShipSortable, ShipSpinner, ShipStepper, ShipStickyColumns, ShipTable, ShipTabs, ShipThemeToggle, ShipToggle, ShipToggleCard, ShipTooltip, ShipTooltipWrapper, ShipVirtualScroll, TEST_NODES, defaultThemeColors, hslToOklch, hslToRgbExact, hsvToRgbExact, moveIndex, rgbToHex, rgbToHsl, rgbToHsv, rgbToOklch, rgbaToHex8, watchHostClass };
|
|
1157
|
-
export type { AfterDropResponse, BlueprintNode, ComponentClosedType, ComponentDataType, Coordinates, Exact, ShipAlertItem, ShipAlertItemInternal, ShipAlertType, ShipButtonGroupVariant, ShipButtonSize, ShipCardVariant, ShipChipConfig, ShipColor, ShipComponentConfig, ShipConfig, ShipConfigColors, ShipConfigDistributions, ShipDialogInstance, ShipDialogOptions, ShipDialogServiceOptions, ShipDialogTemplateInstance, ShipFormFieldVariant, ShipIconSize, ShipPopoverOptions, ShipProgressBarMode, ShipRangeSliderConfig, ShipSheetVariant, ShipSidenavType, ShipSize, ShipTableVariant, ShipTypeVariant, ShipVariant };
|
|
1188
|
+
export { SHIP_CONFIG, ShipAccordion, ShipAlert, ShipAlertContainer, ShipAlertModule, ShipAlertService, ShipBlueprint, ShipButton, ShipButtonGroup, ShipCard, ShipCheckbox, ShipChip, ShipColorPicker, ShipColorPickerInput, ShipDatepicker, ShipDatepickerInput, ShipDaterangeInput, ShipDialog, ShipDialogService, ShipDivider, ShipEventCard, ShipFileDragDrop, ShipFileUpload, ShipFormField, ShipFormFieldExperimental, ShipIcon, ShipInputMask, ShipList, ShipMenu, ShipPopover, ShipPreventWheel, ShipProgressBar, ShipRadio, ShipRangeSlider, ShipResize, ShipSelect, ShipSidenav, ShipSort, ShipSortable, ShipSpinner, ShipStepper, ShipStickyColumns, ShipTable, ShipTabs, ShipThemeToggle, ShipToggle, ShipToggleCard, ShipTooltip, ShipTooltipWrapper, ShipVirtualScroll, TEST_NODES, createSortableManager, defaultThemeColors, hslToOklch, hslToRgbExact, hsvToRgbExact, moveIndex, rgbToHex, rgbToHsl, rgbToHsv, rgbToOklch, rgbaToHex8, transferArrayItem, watchHostClass };
|
|
1189
|
+
export type { AfterDropResponse, BlueprintNode, ComponentClosedType, ComponentDataType, Coordinates, CrossDropResponse, Exact, ShipAlertItem, ShipAlertItemInternal, ShipAlertType, ShipButtonGroupVariant, ShipButtonSize, ShipCardVariant, ShipChipConfig, ShipColor, ShipComponentConfig, ShipConfig, ShipConfigColors, ShipConfigDistributions, ShipDialogInstance, ShipDialogOptions, ShipDialogServiceOptions, ShipDialogTemplateInstance, ShipDropEvent, ShipFormFieldVariant, ShipIconSize, ShipPopoverOptions, ShipProgressBarMode, ShipRangeSliderConfig, ShipSheetVariant, ShipSidenavType, ShipSize, ShipTableVariant, ShipTypeVariant, ShipVariant, SortableManagerConfig };
|
package/bin/ship-fg-node
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { parseArgs } from 'util';
|
|
4
|
-
import { main } from './src/ship-fg-node.js'; // Added .js extension for ESM imports
|
|
5
|
-
|
|
6
|
-
const { values } = parseArgs({
|
|
7
|
-
args: process.argv, // Changed from Bun.argv to process.argv
|
|
8
|
-
options: {
|
|
9
|
-
src: {
|
|
10
|
-
type: 'string',
|
|
11
|
-
},
|
|
12
|
-
out: {
|
|
13
|
-
type: 'string',
|
|
14
|
-
},
|
|
15
|
-
rootPath: {
|
|
16
|
-
type: 'string',
|
|
17
|
-
default: '/',
|
|
18
|
-
},
|
|
19
|
-
watch: {
|
|
20
|
-
type: 'boolean',
|
|
21
|
-
default: false,
|
|
22
|
-
},
|
|
23
|
-
watchLib: {
|
|
24
|
-
type: 'boolean',
|
|
25
|
-
default: false,
|
|
26
|
-
},
|
|
27
|
-
verbose: {
|
|
28
|
-
type: 'boolean',
|
|
29
|
-
default: false,
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
allowPositionals: true,
|
|
33
|
-
strict: true,
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
if (values.src === undefined || values.out === undefined) {
|
|
37
|
-
throw new Error('src and out are both required arguments');
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
main(values);
|