@wix/zero-config-implementation 1.32.0 → 1.34.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.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/dist/index.d.ts +2742 -45
  3. package/dist/index.js +22598 -14991
  4. package/dist/jsx-runtime-interceptor.d.ts +58 -42
  5. package/dist/jsx-runtime-loader.d.ts +27 -23
  6. package/package.json +4 -3
  7. package/src/index.ts +4 -0
  8. package/src/information-extractors/css/parse.ts +113 -437
  9. package/vite.config.ts +14 -2
  10. package/dist/component-renderer.d.ts +0 -31
  11. package/dist/converters/data-item-builder.d.ts +0 -18
  12. package/dist/converters/index.d.ts +0 -1
  13. package/dist/converters/to-editor-component.d.ts +0 -3
  14. package/dist/converters/utils.d.ts +0 -20
  15. package/dist/errors.d.ts +0 -230
  16. package/dist/extraction-types.d.ts +0 -7
  17. package/dist/information-extractors/css/index.d.ts +0 -3
  18. package/dist/information-extractors/css/parse.d.ts +0 -7
  19. package/dist/information-extractors/css/sass-adapter.d.ts +0 -2
  20. package/dist/information-extractors/css/selector-matcher.d.ts +0 -6
  21. package/dist/information-extractors/css/types.d.ts +0 -61
  22. package/dist/information-extractors/react/extractors/core/index.d.ts +0 -6
  23. package/dist/information-extractors/react/extractors/core/runner.d.ts +0 -23
  24. package/dist/information-extractors/react/extractors/core/store.d.ts +0 -17
  25. package/dist/information-extractors/react/extractors/core/tree-builder.d.ts +0 -15
  26. package/dist/information-extractors/react/extractors/core/types.d.ts +0 -40
  27. package/dist/information-extractors/react/extractors/css-properties.d.ts +0 -20
  28. package/dist/information-extractors/react/extractors/index.d.ts +0 -11
  29. package/dist/information-extractors/react/extractors/prop-tracker.d.ts +0 -21
  30. package/dist/information-extractors/react/index.d.ts +0 -8
  31. package/dist/information-extractors/react/types.d.ts +0 -38
  32. package/dist/information-extractors/react/utils/mock-generator.d.ts +0 -21
  33. package/dist/information-extractors/ts/components.d.ts +0 -14
  34. package/dist/information-extractors/ts/css-imports.d.ts +0 -2
  35. package/dist/information-extractors/ts/index.d.ts +0 -3
  36. package/dist/information-extractors/ts/types.d.ts +0 -54
  37. package/dist/information-extractors/ts/utils/semantic-type-resolver.d.ts +0 -12
  38. package/dist/manifest-pipeline.d.ts +0 -29
  39. package/dist/module-loader.d.ts +0 -27
  40. package/dist/ts-compiler.d.ts +0 -13
  41. package/dist/utils/css-class.d.ts +0 -9
  42. package/dist/wix-type-to-data-type.d.ts +0 -6
@@ -1,31 +0,0 @@
1
- import { ComponentType } from 'react';
2
- import { ExtractorStore } from './information-extractors/react/extractors/core/store';
3
- import { CreateElementEvent } from './information-extractors/react/extractors/core/types';
4
- export declare const TRACE_ATTR = "data-trace-id";
5
- export type { CreateElementEvent };
6
- export interface CreateElementListener {
7
- onCreateElement: (event: CreateElementEvent) => void;
8
- }
9
- /**
10
- * Renders a React component to static HTML while intercepting element creation.
11
- *
12
- * Uses monkey-patching of React.createElement and jsx/jsxs to notify listeners
13
- * when DOM elements are created. Each DOM element gets a unique `data-trace-id`
14
- * attribute for tracking.
15
- *
16
- * @param Component - The React component to render
17
- * @param componentProps - Props to pass to the component
18
- * @param listeners - Listeners to notify on each DOM element creation
19
- * @param store - Shared ExtractorStore, included in each CreateElementEvent
20
- * @returns Static HTML string with trace IDs on DOM elements
21
- *
22
- * @example
23
- * ```ts
24
- * const store = new ExtractorStore()
25
- * const tracker = createPropTracker(getSpyMetadata)
26
- * const html = renderWithExtractors(MyComponent, { title: 'Hello' }, [tracker], store)
27
- * // html contains: <div data-trace-id="t1">...</div>
28
- * // tracker.stores now has prop→DOM bindings
29
- * ```
30
- */
31
- export declare function renderWithExtractors(Component: ComponentType<unknown>, componentProps: unknown, listeners: CreateElementListener[], store: ExtractorStore): string;
@@ -1,18 +0,0 @@
1
- import { DataItem } from '@wix/zero-config-schema';
2
- import { Result } from 'neverthrow';
3
- import { ParseError } from '../errors';
4
- import { TrackingStores } from '../information-extractors/react';
5
- import { PropInfo } from '../information-extractors/ts/types';
6
- type ParseErrorInstance = InstanceType<typeof ParseError>;
7
- /**
8
- * Converts a single PropInfo to a DataItem for the Wix Editor component schema.
9
- *
10
- * @param propInfo - The resolved TypeScript prop information to convert.
11
- * @param defaultValue - Optional default value for the data item.
12
- * @param propUsages - The full stores.propUsages map for on-demand binding lookups.
13
- * @param propPath - The full stores.propUsages key for this prop, e.g. "props.linkUrl".
14
- * @returns `Ok<DataItem>` on success, `Err<ParseError>` if an invariant is violated
15
- * (e.g. an array type missing its element type).
16
- */
17
- export declare function buildDataItem(propInfo: PropInfo, defaultValue?: unknown, propUsages?: TrackingStores['propUsages'], propPath?: string): Result<DataItem, ParseErrorInstance>;
18
- export {};
@@ -1 +0,0 @@
1
- export { toEditorReactComponent } from './to-editor-component';
@@ -1,3 +0,0 @@
1
- import { EditorReactComponent } from '@wix/zero-config-schema';
2
- import { ComponentInfoWithCss } from '../index';
3
- export declare function toEditorReactComponent(component: ComponentInfoWithCss): EditorReactComponent;
@@ -1,20 +0,0 @@
1
- /**
2
- * Utility functions for the converter module
3
- */
4
- /**
5
- * Formats any string format to Title Case display name
6
- * Handles: kebab-case, camelCase, PascalCase, snake_case, SCREAMING_SNAKE_CASE, and mixed formats
7
- *
8
- * If the result exceeds 50 characters, leading words are dropped (end words are more specific).
9
- *
10
- * Examples:
11
- * "input-field-weight" -> "Input Field Weight"
12
- * "camelCaseExample" -> "Camel Case Example"
13
- * "PascalCaseExample" -> "Pascal Case Example"
14
- * "snake_case_example" -> "Snake Case Example"
15
- * "SCREAMING_SNAKE_CASE" -> "Screaming Snake Case"
16
- * "mixed-format_example" -> "Mixed Format Example"
17
- * "a11y" -> "Accessibility"
18
- * "myVeryLongComponentWithAnExtremelyLongDisplayName" -> "With An Extremely Long Display Name"
19
- */
20
- export declare function formatDisplayName(input: string): string;
package/dist/errors.d.ts DELETED
@@ -1,230 +0,0 @@
1
- /**
2
- * Error class hierarchy using modern-errors and modern-errors-cli.
3
- *
4
- * Classes are organized by **failure type** (what went wrong), not by pipeline
5
- * phase (where it happened). Phase is an orthogonal runtime property composed
6
- * onto any error instance via `mapErr` or instance `props`.
7
- */
8
- /**
9
- * Root error class for the entire project. All domain errors extend this.
10
- *
11
- * Plugins attached here cascade to every subclass automatically.
12
- * The `phase` prop defaults to `"unknown"` and is overridden at the call
13
- * site or via `mapErr` as the error propagates through pipeline stages.
14
- */
15
- export declare const BaseError: import('modern-errors').SpecificErrorClass<{
16
- name: "cli";
17
- isOptions: (options: unknown) => boolean;
18
- getOptions: (options?: import('modern-errors-cli').Options) => {
19
- custom: string;
20
- stack?: boolean;
21
- cause?: boolean;
22
- props?: boolean;
23
- colors?: boolean;
24
- icon?: ("infinity" | "tick" | "info" | "warning" | "cross" | "square" | "squareSmall" | "squareSmallFilled" | "squareDarkShade" | "squareMediumShade" | "squareLightShade" | "squareTop" | "squareBottom" | "squareLeft" | "squareRight" | "squareCenter" | "circle" | "circleFilled" | "circleDotted" | "circleDouble" | "circleCircle" | "circleCross" | "circlePipe" | "circleQuestionMark" | "radioOn" | "radioOff" | "checkboxOn" | "checkboxOff" | "checkboxCircleOn" | "checkboxCircleOff" | "questionMarkPrefix" | "bullet" | "dot" | "ellipsis" | "pointer" | "pointerSmall" | "triangleUp" | "triangleUpSmall" | "triangleUpOutline" | "triangleDown" | "triangleDownSmall" | "triangleLeft" | "triangleLeftSmall" | "triangleRight" | "triangleRightSmall" | "lozenge" | "lozengeOutline" | "home" | "hamburger" | "smiley" | "mustache" | "heart" | "star" | "play" | "musicNote" | "musicNoteBeamed" | "nodejs" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowLeftRight" | "arrowUpDown" | "almostEqual" | "notEqual" | "lessOrEqual" | "greaterOrEqual" | "identical" | "subscriptZero" | "subscriptOne" | "subscriptTwo" | "subscriptThree" | "subscriptFour" | "subscriptFive" | "subscriptSix" | "subscriptSeven" | "subscriptEight" | "subscriptNine" | "oneHalf" | "oneThird" | "oneQuarter" | "oneFifth" | "oneSixth" | "oneSeventh" | "oneEighth" | "oneNinth" | "oneTenth" | "twoThirds" | "twoFifths" | "threeQuarters" | "threeFifths" | "threeEighths" | "fourFifths" | "fiveSixths" | "fiveEighths" | "sevenEighth" | "line" | "lineBold" | "lineDouble" | "lineDashed0" | "lineDashed1" | "lineDashed2" | "lineDashed3" | "lineDashed4" | "lineDashed5" | "lineDashed6" | "lineDashed7" | "lineDashed8" | "lineDashed9" | "lineDashed10" | "lineDashed11" | "lineDashed12" | "lineDashed13" | "lineDashed14" | "lineDashed15" | "lineVertical" | "lineVerticalBold" | "lineVerticalDouble" | "lineVerticalDashed0" | "lineVerticalDashed1" | "lineVerticalDashed2" | "lineVerticalDashed3" | "lineVerticalDashed4" | "lineVerticalDashed5" | "lineVerticalDashed6" | "lineVerticalDashed7" | "lineVerticalDashed8" | "lineVerticalDashed9" | "lineVerticalDashed10" | "lineVerticalDashed11" | "lineDownLeft" | "lineDownLeftArc" | "lineDownBoldLeftBold" | "lineDownBoldLeft" | "lineDownLeftBold" | "lineDownDoubleLeftDouble" | "lineDownDoubleLeft" | "lineDownLeftDouble" | "lineDownRight" | "lineDownRightArc" | "lineDownBoldRightBold" | "lineDownBoldRight" | "lineDownRightBold" | "lineDownDoubleRightDouble" | "lineDownDoubleRight" | "lineDownRightDouble" | "lineUpLeft" | "lineUpLeftArc" | "lineUpBoldLeftBold" | "lineUpBoldLeft" | "lineUpLeftBold" | "lineUpDoubleLeftDouble" | "lineUpDoubleLeft" | "lineUpLeftDouble" | "lineUpRight" | "lineUpRightArc" | "lineUpBoldRightBold" | "lineUpBoldRight" | "lineUpRightBold" | "lineUpDoubleRightDouble" | "lineUpDoubleRight" | "lineUpRightDouble" | "lineUpDownLeft" | "lineUpBoldDownBoldLeftBold" | "lineUpBoldDownBoldLeft" | "lineUpDownLeftBold" | "lineUpBoldDownLeftBold" | "lineUpDownBoldLeftBold" | "lineUpDownBoldLeft" | "lineUpBoldDownLeft" | "lineUpDoubleDownDoubleLeftDouble" | "lineUpDoubleDownDoubleLeft" | "lineUpDownLeftDouble" | "lineUpDownRight" | "lineUpBoldDownBoldRightBold" | "lineUpBoldDownBoldRight" | "lineUpDownRightBold" | "lineUpBoldDownRightBold" | "lineUpDownBoldRightBold" | "lineUpDownBoldRight" | "lineUpBoldDownRight" | "lineUpDoubleDownDoubleRightDouble" | "lineUpDoubleDownDoubleRight" | "lineUpDownRightDouble" | "lineDownLeftRight" | "lineDownBoldLeftBoldRightBold" | "lineDownLeftBoldRightBold" | "lineDownBoldLeftRight" | "lineDownBoldLeftBoldRight" | "lineDownBoldLeftRightBold" | "lineDownLeftRightBold" | "lineDownLeftBoldRight" | "lineDownDoubleLeftDoubleRightDouble" | "lineDownDoubleLeftRight" | "lineDownLeftDoubleRightDouble" | "lineUpLeftRight" | "lineUpBoldLeftBoldRightBold" | "lineUpLeftBoldRightBold" | "lineUpBoldLeftRight" | "lineUpBoldLeftBoldRight" | "lineUpBoldLeftRightBold" | "lineUpLeftRightBold" | "lineUpLeftBoldRight" | "lineUpDoubleLeftDoubleRightDouble" | "lineUpDoubleLeftRight" | "lineUpLeftDoubleRightDouble" | "lineUpDownLeftRight" | "lineUpBoldDownBoldLeftBoldRightBold" | "lineUpDownBoldLeftBoldRightBold" | "lineUpBoldDownLeftBoldRightBold" | "lineUpBoldDownBoldLeftRightBold" | "lineUpBoldDownBoldLeftBoldRight" | "lineUpBoldDownLeftRight" | "lineUpDownBoldLeftRight" | "lineUpDownLeftBoldRight" | "lineUpDownLeftRightBold" | "lineUpBoldDownBoldLeftRight" | "lineUpDownLeftBoldRightBold" | "lineUpBoldDownLeftBoldRight" | "lineUpBoldDownLeftRightBold" | "lineUpDownBoldLeftBoldRight" | "lineUpDownBoldLeftRightBold" | "lineUpDoubleDownDoubleLeftDoubleRightDouble" | "lineUpDoubleDownDoubleLeftRight" | "lineUpDownLeftDoubleRightDouble" | "lineCross" | "lineBackslash" | "lineSlash") | "";
25
- header?: import('chalk-string').Styles | "";
26
- classes?: {
27
- readonly [errorName: string]: Omit<import('beautiful-error').Options, "classes">;
28
- } & {
29
- readonly [errorName: string]: Omit<import('handle-cli-error').Options, "classes">;
30
- };
31
- exitCode?: number;
32
- silent?: boolean;
33
- timeout?: number;
34
- log?: (message: string) => void;
35
- };
36
- instanceMethods: {
37
- exit: ({ error, options }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => void;
38
- pretty: ({ error, options: { exitCode, silent, timeout, log, ...beautifulErrorOptions }, }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => string;
39
- };
40
- }[], {
41
- /** Pipeline stage where the error originated (composed at runtime). */
42
- phase: string;
43
- /** True if this error represents a violated invariant, not a user error. */
44
- isDefect: boolean;
45
- /** Process exit code used by BaseError.exit(). */
46
- exitCode: number;
47
- }, import('modern-errors').CustomClass>;
48
- /** A required resource (file, module, component) could not be found. */
49
- export declare const NotFoundError: import('modern-errors').SpecificErrorClass<{
50
- name: "cli";
51
- isOptions: (options: unknown) => boolean;
52
- getOptions: (options?: import('modern-errors-cli').Options) => {
53
- custom: string;
54
- stack?: boolean;
55
- cause?: boolean;
56
- props?: boolean;
57
- colors?: boolean;
58
- icon?: ("infinity" | "tick" | "info" | "warning" | "cross" | "square" | "squareSmall" | "squareSmallFilled" | "squareDarkShade" | "squareMediumShade" | "squareLightShade" | "squareTop" | "squareBottom" | "squareLeft" | "squareRight" | "squareCenter" | "circle" | "circleFilled" | "circleDotted" | "circleDouble" | "circleCircle" | "circleCross" | "circlePipe" | "circleQuestionMark" | "radioOn" | "radioOff" | "checkboxOn" | "checkboxOff" | "checkboxCircleOn" | "checkboxCircleOff" | "questionMarkPrefix" | "bullet" | "dot" | "ellipsis" | "pointer" | "pointerSmall" | "triangleUp" | "triangleUpSmall" | "triangleUpOutline" | "triangleDown" | "triangleDownSmall" | "triangleLeft" | "triangleLeftSmall" | "triangleRight" | "triangleRightSmall" | "lozenge" | "lozengeOutline" | "home" | "hamburger" | "smiley" | "mustache" | "heart" | "star" | "play" | "musicNote" | "musicNoteBeamed" | "nodejs" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowLeftRight" | "arrowUpDown" | "almostEqual" | "notEqual" | "lessOrEqual" | "greaterOrEqual" | "identical" | "subscriptZero" | "subscriptOne" | "subscriptTwo" | "subscriptThree" | "subscriptFour" | "subscriptFive" | "subscriptSix" | "subscriptSeven" | "subscriptEight" | "subscriptNine" | "oneHalf" | "oneThird" | "oneQuarter" | "oneFifth" | "oneSixth" | "oneSeventh" | "oneEighth" | "oneNinth" | "oneTenth" | "twoThirds" | "twoFifths" | "threeQuarters" | "threeFifths" | "threeEighths" | "fourFifths" | "fiveSixths" | "fiveEighths" | "sevenEighth" | "line" | "lineBold" | "lineDouble" | "lineDashed0" | "lineDashed1" | "lineDashed2" | "lineDashed3" | "lineDashed4" | "lineDashed5" | "lineDashed6" | "lineDashed7" | "lineDashed8" | "lineDashed9" | "lineDashed10" | "lineDashed11" | "lineDashed12" | "lineDashed13" | "lineDashed14" | "lineDashed15" | "lineVertical" | "lineVerticalBold" | "lineVerticalDouble" | "lineVerticalDashed0" | "lineVerticalDashed1" | "lineVerticalDashed2" | "lineVerticalDashed3" | "lineVerticalDashed4" | "lineVerticalDashed5" | "lineVerticalDashed6" | "lineVerticalDashed7" | "lineVerticalDashed8" | "lineVerticalDashed9" | "lineVerticalDashed10" | "lineVerticalDashed11" | "lineDownLeft" | "lineDownLeftArc" | "lineDownBoldLeftBold" | "lineDownBoldLeft" | "lineDownLeftBold" | "lineDownDoubleLeftDouble" | "lineDownDoubleLeft" | "lineDownLeftDouble" | "lineDownRight" | "lineDownRightArc" | "lineDownBoldRightBold" | "lineDownBoldRight" | "lineDownRightBold" | "lineDownDoubleRightDouble" | "lineDownDoubleRight" | "lineDownRightDouble" | "lineUpLeft" | "lineUpLeftArc" | "lineUpBoldLeftBold" | "lineUpBoldLeft" | "lineUpLeftBold" | "lineUpDoubleLeftDouble" | "lineUpDoubleLeft" | "lineUpLeftDouble" | "lineUpRight" | "lineUpRightArc" | "lineUpBoldRightBold" | "lineUpBoldRight" | "lineUpRightBold" | "lineUpDoubleRightDouble" | "lineUpDoubleRight" | "lineUpRightDouble" | "lineUpDownLeft" | "lineUpBoldDownBoldLeftBold" | "lineUpBoldDownBoldLeft" | "lineUpDownLeftBold" | "lineUpBoldDownLeftBold" | "lineUpDownBoldLeftBold" | "lineUpDownBoldLeft" | "lineUpBoldDownLeft" | "lineUpDoubleDownDoubleLeftDouble" | "lineUpDoubleDownDoubleLeft" | "lineUpDownLeftDouble" | "lineUpDownRight" | "lineUpBoldDownBoldRightBold" | "lineUpBoldDownBoldRight" | "lineUpDownRightBold" | "lineUpBoldDownRightBold" | "lineUpDownBoldRightBold" | "lineUpDownBoldRight" | "lineUpBoldDownRight" | "lineUpDoubleDownDoubleRightDouble" | "lineUpDoubleDownDoubleRight" | "lineUpDownRightDouble" | "lineDownLeftRight" | "lineDownBoldLeftBoldRightBold" | "lineDownLeftBoldRightBold" | "lineDownBoldLeftRight" | "lineDownBoldLeftBoldRight" | "lineDownBoldLeftRightBold" | "lineDownLeftRightBold" | "lineDownLeftBoldRight" | "lineDownDoubleLeftDoubleRightDouble" | "lineDownDoubleLeftRight" | "lineDownLeftDoubleRightDouble" | "lineUpLeftRight" | "lineUpBoldLeftBoldRightBold" | "lineUpLeftBoldRightBold" | "lineUpBoldLeftRight" | "lineUpBoldLeftBoldRight" | "lineUpBoldLeftRightBold" | "lineUpLeftRightBold" | "lineUpLeftBoldRight" | "lineUpDoubleLeftDoubleRightDouble" | "lineUpDoubleLeftRight" | "lineUpLeftDoubleRightDouble" | "lineUpDownLeftRight" | "lineUpBoldDownBoldLeftBoldRightBold" | "lineUpDownBoldLeftBoldRightBold" | "lineUpBoldDownLeftBoldRightBold" | "lineUpBoldDownBoldLeftRightBold" | "lineUpBoldDownBoldLeftBoldRight" | "lineUpBoldDownLeftRight" | "lineUpDownBoldLeftRight" | "lineUpDownLeftBoldRight" | "lineUpDownLeftRightBold" | "lineUpBoldDownBoldLeftRight" | "lineUpDownLeftBoldRightBold" | "lineUpBoldDownLeftBoldRight" | "lineUpBoldDownLeftRightBold" | "lineUpDownBoldLeftBoldRight" | "lineUpDownBoldLeftRightBold" | "lineUpDoubleDownDoubleLeftDoubleRightDouble" | "lineUpDoubleDownDoubleLeftRight" | "lineUpDownLeftDoubleRightDouble" | "lineCross" | "lineBackslash" | "lineSlash") | "";
59
- header?: import('chalk-string').Styles | "";
60
- classes?: {
61
- readonly [errorName: string]: Omit<import('beautiful-error').Options, "classes">;
62
- } & {
63
- readonly [errorName: string]: Omit<import('handle-cli-error').Options, "classes">;
64
- };
65
- exitCode?: number;
66
- silent?: boolean;
67
- timeout?: number;
68
- log?: (message: string) => void;
69
- };
70
- instanceMethods: {
71
- exit: ({ error, options }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => void;
72
- pretty: ({ error, options: { exitCode, silent, timeout, log, ...beautifulErrorOptions }, }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => string;
73
- };
74
- }[], {
75
- /** Pipeline stage where the error originated (composed at runtime). */
76
- phase: string;
77
- /** True if this error represents a violated invariant, not a user error. */
78
- isDefect: boolean;
79
- /** Process exit code used by BaseError.exit(). */
80
- exitCode: number;
81
- } & object, import('modern-errors').CustomClass>;
82
- /** Data could not be parsed or decoded (JSON, source code, config, CSS). */
83
- export declare const ParseError: import('modern-errors').SpecificErrorClass<{
84
- name: "cli";
85
- isOptions: (options: unknown) => boolean;
86
- getOptions: (options?: import('modern-errors-cli').Options) => {
87
- custom: string;
88
- stack?: boolean;
89
- cause?: boolean;
90
- props?: boolean;
91
- colors?: boolean;
92
- icon?: ("infinity" | "tick" | "info" | "warning" | "cross" | "square" | "squareSmall" | "squareSmallFilled" | "squareDarkShade" | "squareMediumShade" | "squareLightShade" | "squareTop" | "squareBottom" | "squareLeft" | "squareRight" | "squareCenter" | "circle" | "circleFilled" | "circleDotted" | "circleDouble" | "circleCircle" | "circleCross" | "circlePipe" | "circleQuestionMark" | "radioOn" | "radioOff" | "checkboxOn" | "checkboxOff" | "checkboxCircleOn" | "checkboxCircleOff" | "questionMarkPrefix" | "bullet" | "dot" | "ellipsis" | "pointer" | "pointerSmall" | "triangleUp" | "triangleUpSmall" | "triangleUpOutline" | "triangleDown" | "triangleDownSmall" | "triangleLeft" | "triangleLeftSmall" | "triangleRight" | "triangleRightSmall" | "lozenge" | "lozengeOutline" | "home" | "hamburger" | "smiley" | "mustache" | "heart" | "star" | "play" | "musicNote" | "musicNoteBeamed" | "nodejs" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowLeftRight" | "arrowUpDown" | "almostEqual" | "notEqual" | "lessOrEqual" | "greaterOrEqual" | "identical" | "subscriptZero" | "subscriptOne" | "subscriptTwo" | "subscriptThree" | "subscriptFour" | "subscriptFive" | "subscriptSix" | "subscriptSeven" | "subscriptEight" | "subscriptNine" | "oneHalf" | "oneThird" | "oneQuarter" | "oneFifth" | "oneSixth" | "oneSeventh" | "oneEighth" | "oneNinth" | "oneTenth" | "twoThirds" | "twoFifths" | "threeQuarters" | "threeFifths" | "threeEighths" | "fourFifths" | "fiveSixths" | "fiveEighths" | "sevenEighth" | "line" | "lineBold" | "lineDouble" | "lineDashed0" | "lineDashed1" | "lineDashed2" | "lineDashed3" | "lineDashed4" | "lineDashed5" | "lineDashed6" | "lineDashed7" | "lineDashed8" | "lineDashed9" | "lineDashed10" | "lineDashed11" | "lineDashed12" | "lineDashed13" | "lineDashed14" | "lineDashed15" | "lineVertical" | "lineVerticalBold" | "lineVerticalDouble" | "lineVerticalDashed0" | "lineVerticalDashed1" | "lineVerticalDashed2" | "lineVerticalDashed3" | "lineVerticalDashed4" | "lineVerticalDashed5" | "lineVerticalDashed6" | "lineVerticalDashed7" | "lineVerticalDashed8" | "lineVerticalDashed9" | "lineVerticalDashed10" | "lineVerticalDashed11" | "lineDownLeft" | "lineDownLeftArc" | "lineDownBoldLeftBold" | "lineDownBoldLeft" | "lineDownLeftBold" | "lineDownDoubleLeftDouble" | "lineDownDoubleLeft" | "lineDownLeftDouble" | "lineDownRight" | "lineDownRightArc" | "lineDownBoldRightBold" | "lineDownBoldRight" | "lineDownRightBold" | "lineDownDoubleRightDouble" | "lineDownDoubleRight" | "lineDownRightDouble" | "lineUpLeft" | "lineUpLeftArc" | "lineUpBoldLeftBold" | "lineUpBoldLeft" | "lineUpLeftBold" | "lineUpDoubleLeftDouble" | "lineUpDoubleLeft" | "lineUpLeftDouble" | "lineUpRight" | "lineUpRightArc" | "lineUpBoldRightBold" | "lineUpBoldRight" | "lineUpRightBold" | "lineUpDoubleRightDouble" | "lineUpDoubleRight" | "lineUpRightDouble" | "lineUpDownLeft" | "lineUpBoldDownBoldLeftBold" | "lineUpBoldDownBoldLeft" | "lineUpDownLeftBold" | "lineUpBoldDownLeftBold" | "lineUpDownBoldLeftBold" | "lineUpDownBoldLeft" | "lineUpBoldDownLeft" | "lineUpDoubleDownDoubleLeftDouble" | "lineUpDoubleDownDoubleLeft" | "lineUpDownLeftDouble" | "lineUpDownRight" | "lineUpBoldDownBoldRightBold" | "lineUpBoldDownBoldRight" | "lineUpDownRightBold" | "lineUpBoldDownRightBold" | "lineUpDownBoldRightBold" | "lineUpDownBoldRight" | "lineUpBoldDownRight" | "lineUpDoubleDownDoubleRightDouble" | "lineUpDoubleDownDoubleRight" | "lineUpDownRightDouble" | "lineDownLeftRight" | "lineDownBoldLeftBoldRightBold" | "lineDownLeftBoldRightBold" | "lineDownBoldLeftRight" | "lineDownBoldLeftBoldRight" | "lineDownBoldLeftRightBold" | "lineDownLeftRightBold" | "lineDownLeftBoldRight" | "lineDownDoubleLeftDoubleRightDouble" | "lineDownDoubleLeftRight" | "lineDownLeftDoubleRightDouble" | "lineUpLeftRight" | "lineUpBoldLeftBoldRightBold" | "lineUpLeftBoldRightBold" | "lineUpBoldLeftRight" | "lineUpBoldLeftBoldRight" | "lineUpBoldLeftRightBold" | "lineUpLeftRightBold" | "lineUpLeftBoldRight" | "lineUpDoubleLeftDoubleRightDouble" | "lineUpDoubleLeftRight" | "lineUpLeftDoubleRightDouble" | "lineUpDownLeftRight" | "lineUpBoldDownBoldLeftBoldRightBold" | "lineUpDownBoldLeftBoldRightBold" | "lineUpBoldDownLeftBoldRightBold" | "lineUpBoldDownBoldLeftRightBold" | "lineUpBoldDownBoldLeftBoldRight" | "lineUpBoldDownLeftRight" | "lineUpDownBoldLeftRight" | "lineUpDownLeftBoldRight" | "lineUpDownLeftRightBold" | "lineUpBoldDownBoldLeftRight" | "lineUpDownLeftBoldRightBold" | "lineUpBoldDownLeftBoldRight" | "lineUpBoldDownLeftRightBold" | "lineUpDownBoldLeftBoldRight" | "lineUpDownBoldLeftRightBold" | "lineUpDoubleDownDoubleLeftDoubleRightDouble" | "lineUpDoubleDownDoubleLeftRight" | "lineUpDownLeftDoubleRightDouble" | "lineCross" | "lineBackslash" | "lineSlash") | "";
93
- header?: import('chalk-string').Styles | "";
94
- classes?: {
95
- readonly [errorName: string]: Omit<import('beautiful-error').Options, "classes">;
96
- } & {
97
- readonly [errorName: string]: Omit<import('handle-cli-error').Options, "classes">;
98
- };
99
- exitCode?: number;
100
- silent?: boolean;
101
- timeout?: number;
102
- log?: (message: string) => void;
103
- };
104
- instanceMethods: {
105
- exit: ({ error, options }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => void;
106
- pretty: ({ error, options: { exitCode, silent, timeout, log, ...beautifulErrorOptions }, }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => string;
107
- };
108
- }[], {
109
- /** Pipeline stage where the error originated (composed at runtime). */
110
- phase: string;
111
- /** True if this error represents a violated invariant, not a user error. */
112
- isDefect: boolean;
113
- /** Process exit code used by BaseError.exit(). */
114
- exitCode: number;
115
- } & object, import('modern-errors').CustomClass>;
116
- /** Input or data does not satisfy validation rules. */
117
- export declare const ValidationError: import('modern-errors').SpecificErrorClass<{
118
- name: "cli";
119
- isOptions: (options: unknown) => boolean;
120
- getOptions: (options?: import('modern-errors-cli').Options) => {
121
- custom: string;
122
- stack?: boolean;
123
- cause?: boolean;
124
- props?: boolean;
125
- colors?: boolean;
126
- icon?: ("infinity" | "tick" | "info" | "warning" | "cross" | "square" | "squareSmall" | "squareSmallFilled" | "squareDarkShade" | "squareMediumShade" | "squareLightShade" | "squareTop" | "squareBottom" | "squareLeft" | "squareRight" | "squareCenter" | "circle" | "circleFilled" | "circleDotted" | "circleDouble" | "circleCircle" | "circleCross" | "circlePipe" | "circleQuestionMark" | "radioOn" | "radioOff" | "checkboxOn" | "checkboxOff" | "checkboxCircleOn" | "checkboxCircleOff" | "questionMarkPrefix" | "bullet" | "dot" | "ellipsis" | "pointer" | "pointerSmall" | "triangleUp" | "triangleUpSmall" | "triangleUpOutline" | "triangleDown" | "triangleDownSmall" | "triangleLeft" | "triangleLeftSmall" | "triangleRight" | "triangleRightSmall" | "lozenge" | "lozengeOutline" | "home" | "hamburger" | "smiley" | "mustache" | "heart" | "star" | "play" | "musicNote" | "musicNoteBeamed" | "nodejs" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowLeftRight" | "arrowUpDown" | "almostEqual" | "notEqual" | "lessOrEqual" | "greaterOrEqual" | "identical" | "subscriptZero" | "subscriptOne" | "subscriptTwo" | "subscriptThree" | "subscriptFour" | "subscriptFive" | "subscriptSix" | "subscriptSeven" | "subscriptEight" | "subscriptNine" | "oneHalf" | "oneThird" | "oneQuarter" | "oneFifth" | "oneSixth" | "oneSeventh" | "oneEighth" | "oneNinth" | "oneTenth" | "twoThirds" | "twoFifths" | "threeQuarters" | "threeFifths" | "threeEighths" | "fourFifths" | "fiveSixths" | "fiveEighths" | "sevenEighth" | "line" | "lineBold" | "lineDouble" | "lineDashed0" | "lineDashed1" | "lineDashed2" | "lineDashed3" | "lineDashed4" | "lineDashed5" | "lineDashed6" | "lineDashed7" | "lineDashed8" | "lineDashed9" | "lineDashed10" | "lineDashed11" | "lineDashed12" | "lineDashed13" | "lineDashed14" | "lineDashed15" | "lineVertical" | "lineVerticalBold" | "lineVerticalDouble" | "lineVerticalDashed0" | "lineVerticalDashed1" | "lineVerticalDashed2" | "lineVerticalDashed3" | "lineVerticalDashed4" | "lineVerticalDashed5" | "lineVerticalDashed6" | "lineVerticalDashed7" | "lineVerticalDashed8" | "lineVerticalDashed9" | "lineVerticalDashed10" | "lineVerticalDashed11" | "lineDownLeft" | "lineDownLeftArc" | "lineDownBoldLeftBold" | "lineDownBoldLeft" | "lineDownLeftBold" | "lineDownDoubleLeftDouble" | "lineDownDoubleLeft" | "lineDownLeftDouble" | "lineDownRight" | "lineDownRightArc" | "lineDownBoldRightBold" | "lineDownBoldRight" | "lineDownRightBold" | "lineDownDoubleRightDouble" | "lineDownDoubleRight" | "lineDownRightDouble" | "lineUpLeft" | "lineUpLeftArc" | "lineUpBoldLeftBold" | "lineUpBoldLeft" | "lineUpLeftBold" | "lineUpDoubleLeftDouble" | "lineUpDoubleLeft" | "lineUpLeftDouble" | "lineUpRight" | "lineUpRightArc" | "lineUpBoldRightBold" | "lineUpBoldRight" | "lineUpRightBold" | "lineUpDoubleRightDouble" | "lineUpDoubleRight" | "lineUpRightDouble" | "lineUpDownLeft" | "lineUpBoldDownBoldLeftBold" | "lineUpBoldDownBoldLeft" | "lineUpDownLeftBold" | "lineUpBoldDownLeftBold" | "lineUpDownBoldLeftBold" | "lineUpDownBoldLeft" | "lineUpBoldDownLeft" | "lineUpDoubleDownDoubleLeftDouble" | "lineUpDoubleDownDoubleLeft" | "lineUpDownLeftDouble" | "lineUpDownRight" | "lineUpBoldDownBoldRightBold" | "lineUpBoldDownBoldRight" | "lineUpDownRightBold" | "lineUpBoldDownRightBold" | "lineUpDownBoldRightBold" | "lineUpDownBoldRight" | "lineUpBoldDownRight" | "lineUpDoubleDownDoubleRightDouble" | "lineUpDoubleDownDoubleRight" | "lineUpDownRightDouble" | "lineDownLeftRight" | "lineDownBoldLeftBoldRightBold" | "lineDownLeftBoldRightBold" | "lineDownBoldLeftRight" | "lineDownBoldLeftBoldRight" | "lineDownBoldLeftRightBold" | "lineDownLeftRightBold" | "lineDownLeftBoldRight" | "lineDownDoubleLeftDoubleRightDouble" | "lineDownDoubleLeftRight" | "lineDownLeftDoubleRightDouble" | "lineUpLeftRight" | "lineUpBoldLeftBoldRightBold" | "lineUpLeftBoldRightBold" | "lineUpBoldLeftRight" | "lineUpBoldLeftBoldRight" | "lineUpBoldLeftRightBold" | "lineUpLeftRightBold" | "lineUpLeftBoldRight" | "lineUpDoubleLeftDoubleRightDouble" | "lineUpDoubleLeftRight" | "lineUpLeftDoubleRightDouble" | "lineUpDownLeftRight" | "lineUpBoldDownBoldLeftBoldRightBold" | "lineUpDownBoldLeftBoldRightBold" | "lineUpBoldDownLeftBoldRightBold" | "lineUpBoldDownBoldLeftRightBold" | "lineUpBoldDownBoldLeftBoldRight" | "lineUpBoldDownLeftRight" | "lineUpDownBoldLeftRight" | "lineUpDownLeftBoldRight" | "lineUpDownLeftRightBold" | "lineUpBoldDownBoldLeftRight" | "lineUpDownLeftBoldRightBold" | "lineUpBoldDownLeftBoldRight" | "lineUpBoldDownLeftRightBold" | "lineUpDownBoldLeftBoldRight" | "lineUpDownBoldLeftRightBold" | "lineUpDoubleDownDoubleLeftDoubleRightDouble" | "lineUpDoubleDownDoubleLeftRight" | "lineUpDownLeftDoubleRightDouble" | "lineCross" | "lineBackslash" | "lineSlash") | "";
127
- header?: import('chalk-string').Styles | "";
128
- classes?: {
129
- readonly [errorName: string]: Omit<import('beautiful-error').Options, "classes">;
130
- } & {
131
- readonly [errorName: string]: Omit<import('handle-cli-error').Options, "classes">;
132
- };
133
- exitCode?: number;
134
- silent?: boolean;
135
- timeout?: number;
136
- log?: (message: string) => void;
137
- };
138
- instanceMethods: {
139
- exit: ({ error, options }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => void;
140
- pretty: ({ error, options: { exitCode, silent, timeout, log, ...beautifulErrorOptions }, }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => string;
141
- };
142
- }[], {
143
- /** Pipeline stage where the error originated (composed at runtime). */
144
- phase: string;
145
- /** True if this error represents a violated invariant, not a user error. */
146
- isDefect: boolean;
147
- /** Process exit code used by BaseError.exit(). */
148
- exitCode: number;
149
- } & object, import('modern-errors').CustomClass>;
150
- /** File system or network I/O failed (permissions, disk full, timeout). */
151
- export declare const IoError: import('modern-errors').SpecificErrorClass<{
152
- name: "cli";
153
- isOptions: (options: unknown) => boolean;
154
- getOptions: (options?: import('modern-errors-cli').Options) => {
155
- custom: string;
156
- stack?: boolean;
157
- cause?: boolean;
158
- props?: boolean;
159
- colors?: boolean;
160
- icon?: ("infinity" | "tick" | "info" | "warning" | "cross" | "square" | "squareSmall" | "squareSmallFilled" | "squareDarkShade" | "squareMediumShade" | "squareLightShade" | "squareTop" | "squareBottom" | "squareLeft" | "squareRight" | "squareCenter" | "circle" | "circleFilled" | "circleDotted" | "circleDouble" | "circleCircle" | "circleCross" | "circlePipe" | "circleQuestionMark" | "radioOn" | "radioOff" | "checkboxOn" | "checkboxOff" | "checkboxCircleOn" | "checkboxCircleOff" | "questionMarkPrefix" | "bullet" | "dot" | "ellipsis" | "pointer" | "pointerSmall" | "triangleUp" | "triangleUpSmall" | "triangleUpOutline" | "triangleDown" | "triangleDownSmall" | "triangleLeft" | "triangleLeftSmall" | "triangleRight" | "triangleRightSmall" | "lozenge" | "lozengeOutline" | "home" | "hamburger" | "smiley" | "mustache" | "heart" | "star" | "play" | "musicNote" | "musicNoteBeamed" | "nodejs" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowLeftRight" | "arrowUpDown" | "almostEqual" | "notEqual" | "lessOrEqual" | "greaterOrEqual" | "identical" | "subscriptZero" | "subscriptOne" | "subscriptTwo" | "subscriptThree" | "subscriptFour" | "subscriptFive" | "subscriptSix" | "subscriptSeven" | "subscriptEight" | "subscriptNine" | "oneHalf" | "oneThird" | "oneQuarter" | "oneFifth" | "oneSixth" | "oneSeventh" | "oneEighth" | "oneNinth" | "oneTenth" | "twoThirds" | "twoFifths" | "threeQuarters" | "threeFifths" | "threeEighths" | "fourFifths" | "fiveSixths" | "fiveEighths" | "sevenEighth" | "line" | "lineBold" | "lineDouble" | "lineDashed0" | "lineDashed1" | "lineDashed2" | "lineDashed3" | "lineDashed4" | "lineDashed5" | "lineDashed6" | "lineDashed7" | "lineDashed8" | "lineDashed9" | "lineDashed10" | "lineDashed11" | "lineDashed12" | "lineDashed13" | "lineDashed14" | "lineDashed15" | "lineVertical" | "lineVerticalBold" | "lineVerticalDouble" | "lineVerticalDashed0" | "lineVerticalDashed1" | "lineVerticalDashed2" | "lineVerticalDashed3" | "lineVerticalDashed4" | "lineVerticalDashed5" | "lineVerticalDashed6" | "lineVerticalDashed7" | "lineVerticalDashed8" | "lineVerticalDashed9" | "lineVerticalDashed10" | "lineVerticalDashed11" | "lineDownLeft" | "lineDownLeftArc" | "lineDownBoldLeftBold" | "lineDownBoldLeft" | "lineDownLeftBold" | "lineDownDoubleLeftDouble" | "lineDownDoubleLeft" | "lineDownLeftDouble" | "lineDownRight" | "lineDownRightArc" | "lineDownBoldRightBold" | "lineDownBoldRight" | "lineDownRightBold" | "lineDownDoubleRightDouble" | "lineDownDoubleRight" | "lineDownRightDouble" | "lineUpLeft" | "lineUpLeftArc" | "lineUpBoldLeftBold" | "lineUpBoldLeft" | "lineUpLeftBold" | "lineUpDoubleLeftDouble" | "lineUpDoubleLeft" | "lineUpLeftDouble" | "lineUpRight" | "lineUpRightArc" | "lineUpBoldRightBold" | "lineUpBoldRight" | "lineUpRightBold" | "lineUpDoubleRightDouble" | "lineUpDoubleRight" | "lineUpRightDouble" | "lineUpDownLeft" | "lineUpBoldDownBoldLeftBold" | "lineUpBoldDownBoldLeft" | "lineUpDownLeftBold" | "lineUpBoldDownLeftBold" | "lineUpDownBoldLeftBold" | "lineUpDownBoldLeft" | "lineUpBoldDownLeft" | "lineUpDoubleDownDoubleLeftDouble" | "lineUpDoubleDownDoubleLeft" | "lineUpDownLeftDouble" | "lineUpDownRight" | "lineUpBoldDownBoldRightBold" | "lineUpBoldDownBoldRight" | "lineUpDownRightBold" | "lineUpBoldDownRightBold" | "lineUpDownBoldRightBold" | "lineUpDownBoldRight" | "lineUpBoldDownRight" | "lineUpDoubleDownDoubleRightDouble" | "lineUpDoubleDownDoubleRight" | "lineUpDownRightDouble" | "lineDownLeftRight" | "lineDownBoldLeftBoldRightBold" | "lineDownLeftBoldRightBold" | "lineDownBoldLeftRight" | "lineDownBoldLeftBoldRight" | "lineDownBoldLeftRightBold" | "lineDownLeftRightBold" | "lineDownLeftBoldRight" | "lineDownDoubleLeftDoubleRightDouble" | "lineDownDoubleLeftRight" | "lineDownLeftDoubleRightDouble" | "lineUpLeftRight" | "lineUpBoldLeftBoldRightBold" | "lineUpLeftBoldRightBold" | "lineUpBoldLeftRight" | "lineUpBoldLeftBoldRight" | "lineUpBoldLeftRightBold" | "lineUpLeftRightBold" | "lineUpLeftBoldRight" | "lineUpDoubleLeftDoubleRightDouble" | "lineUpDoubleLeftRight" | "lineUpLeftDoubleRightDouble" | "lineUpDownLeftRight" | "lineUpBoldDownBoldLeftBoldRightBold" | "lineUpDownBoldLeftBoldRightBold" | "lineUpBoldDownLeftBoldRightBold" | "lineUpBoldDownBoldLeftRightBold" | "lineUpBoldDownBoldLeftBoldRight" | "lineUpBoldDownLeftRight" | "lineUpDownBoldLeftRight" | "lineUpDownLeftBoldRight" | "lineUpDownLeftRightBold" | "lineUpBoldDownBoldLeftRight" | "lineUpDownLeftBoldRightBold" | "lineUpBoldDownLeftBoldRight" | "lineUpBoldDownLeftRightBold" | "lineUpDownBoldLeftBoldRight" | "lineUpDownBoldLeftRightBold" | "lineUpDoubleDownDoubleLeftDoubleRightDouble" | "lineUpDoubleDownDoubleLeftRight" | "lineUpDownLeftDoubleRightDouble" | "lineCross" | "lineBackslash" | "lineSlash") | "";
161
- header?: import('chalk-string').Styles | "";
162
- classes?: {
163
- readonly [errorName: string]: Omit<import('beautiful-error').Options, "classes">;
164
- } & {
165
- readonly [errorName: string]: Omit<import('handle-cli-error').Options, "classes">;
166
- };
167
- exitCode?: number;
168
- silent?: boolean;
169
- timeout?: number;
170
- log?: (message: string) => void;
171
- };
172
- instanceMethods: {
173
- exit: ({ error, options }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => void;
174
- pretty: ({ error, options: { exitCode, silent, timeout, log, ...beautifulErrorOptions }, }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => string;
175
- };
176
- }[], {
177
- /** Pipeline stage where the error originated (composed at runtime). */
178
- phase: string;
179
- /** True if this error represents a violated invariant, not a user error. */
180
- isDefect: boolean;
181
- /** Process exit code used by BaseError.exit(). */
182
- exitCode: number;
183
- } & object, import('modern-errors').CustomClass>;
184
- /**
185
- * Represents an unexpected internal failure — a violated invariant or
186
- * impossible state that should never occur during normal operation.
187
- *
188
- * Exit code 70 (EX_SOFTWARE) signals an internal software error.
189
- */
190
- export declare const DefectError: import('modern-errors').SpecificErrorClass<{
191
- name: "cli";
192
- isOptions: (options: unknown) => boolean;
193
- getOptions: (options?: import('modern-errors-cli').Options) => {
194
- custom: string;
195
- stack?: boolean;
196
- cause?: boolean;
197
- props?: boolean;
198
- colors?: boolean;
199
- icon?: ("infinity" | "tick" | "info" | "warning" | "cross" | "square" | "squareSmall" | "squareSmallFilled" | "squareDarkShade" | "squareMediumShade" | "squareLightShade" | "squareTop" | "squareBottom" | "squareLeft" | "squareRight" | "squareCenter" | "circle" | "circleFilled" | "circleDotted" | "circleDouble" | "circleCircle" | "circleCross" | "circlePipe" | "circleQuestionMark" | "radioOn" | "radioOff" | "checkboxOn" | "checkboxOff" | "checkboxCircleOn" | "checkboxCircleOff" | "questionMarkPrefix" | "bullet" | "dot" | "ellipsis" | "pointer" | "pointerSmall" | "triangleUp" | "triangleUpSmall" | "triangleUpOutline" | "triangleDown" | "triangleDownSmall" | "triangleLeft" | "triangleLeftSmall" | "triangleRight" | "triangleRightSmall" | "lozenge" | "lozengeOutline" | "home" | "hamburger" | "smiley" | "mustache" | "heart" | "star" | "play" | "musicNote" | "musicNoteBeamed" | "nodejs" | "arrowUp" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowLeftRight" | "arrowUpDown" | "almostEqual" | "notEqual" | "lessOrEqual" | "greaterOrEqual" | "identical" | "subscriptZero" | "subscriptOne" | "subscriptTwo" | "subscriptThree" | "subscriptFour" | "subscriptFive" | "subscriptSix" | "subscriptSeven" | "subscriptEight" | "subscriptNine" | "oneHalf" | "oneThird" | "oneQuarter" | "oneFifth" | "oneSixth" | "oneSeventh" | "oneEighth" | "oneNinth" | "oneTenth" | "twoThirds" | "twoFifths" | "threeQuarters" | "threeFifths" | "threeEighths" | "fourFifths" | "fiveSixths" | "fiveEighths" | "sevenEighth" | "line" | "lineBold" | "lineDouble" | "lineDashed0" | "lineDashed1" | "lineDashed2" | "lineDashed3" | "lineDashed4" | "lineDashed5" | "lineDashed6" | "lineDashed7" | "lineDashed8" | "lineDashed9" | "lineDashed10" | "lineDashed11" | "lineDashed12" | "lineDashed13" | "lineDashed14" | "lineDashed15" | "lineVertical" | "lineVerticalBold" | "lineVerticalDouble" | "lineVerticalDashed0" | "lineVerticalDashed1" | "lineVerticalDashed2" | "lineVerticalDashed3" | "lineVerticalDashed4" | "lineVerticalDashed5" | "lineVerticalDashed6" | "lineVerticalDashed7" | "lineVerticalDashed8" | "lineVerticalDashed9" | "lineVerticalDashed10" | "lineVerticalDashed11" | "lineDownLeft" | "lineDownLeftArc" | "lineDownBoldLeftBold" | "lineDownBoldLeft" | "lineDownLeftBold" | "lineDownDoubleLeftDouble" | "lineDownDoubleLeft" | "lineDownLeftDouble" | "lineDownRight" | "lineDownRightArc" | "lineDownBoldRightBold" | "lineDownBoldRight" | "lineDownRightBold" | "lineDownDoubleRightDouble" | "lineDownDoubleRight" | "lineDownRightDouble" | "lineUpLeft" | "lineUpLeftArc" | "lineUpBoldLeftBold" | "lineUpBoldLeft" | "lineUpLeftBold" | "lineUpDoubleLeftDouble" | "lineUpDoubleLeft" | "lineUpLeftDouble" | "lineUpRight" | "lineUpRightArc" | "lineUpBoldRightBold" | "lineUpBoldRight" | "lineUpRightBold" | "lineUpDoubleRightDouble" | "lineUpDoubleRight" | "lineUpRightDouble" | "lineUpDownLeft" | "lineUpBoldDownBoldLeftBold" | "lineUpBoldDownBoldLeft" | "lineUpDownLeftBold" | "lineUpBoldDownLeftBold" | "lineUpDownBoldLeftBold" | "lineUpDownBoldLeft" | "lineUpBoldDownLeft" | "lineUpDoubleDownDoubleLeftDouble" | "lineUpDoubleDownDoubleLeft" | "lineUpDownLeftDouble" | "lineUpDownRight" | "lineUpBoldDownBoldRightBold" | "lineUpBoldDownBoldRight" | "lineUpDownRightBold" | "lineUpBoldDownRightBold" | "lineUpDownBoldRightBold" | "lineUpDownBoldRight" | "lineUpBoldDownRight" | "lineUpDoubleDownDoubleRightDouble" | "lineUpDoubleDownDoubleRight" | "lineUpDownRightDouble" | "lineDownLeftRight" | "lineDownBoldLeftBoldRightBold" | "lineDownLeftBoldRightBold" | "lineDownBoldLeftRight" | "lineDownBoldLeftBoldRight" | "lineDownBoldLeftRightBold" | "lineDownLeftRightBold" | "lineDownLeftBoldRight" | "lineDownDoubleLeftDoubleRightDouble" | "lineDownDoubleLeftRight" | "lineDownLeftDoubleRightDouble" | "lineUpLeftRight" | "lineUpBoldLeftBoldRightBold" | "lineUpLeftBoldRightBold" | "lineUpBoldLeftRight" | "lineUpBoldLeftBoldRight" | "lineUpBoldLeftRightBold" | "lineUpLeftRightBold" | "lineUpLeftBoldRight" | "lineUpDoubleLeftDoubleRightDouble" | "lineUpDoubleLeftRight" | "lineUpLeftDoubleRightDouble" | "lineUpDownLeftRight" | "lineUpBoldDownBoldLeftBoldRightBold" | "lineUpDownBoldLeftBoldRightBold" | "lineUpBoldDownLeftBoldRightBold" | "lineUpBoldDownBoldLeftRightBold" | "lineUpBoldDownBoldLeftBoldRight" | "lineUpBoldDownLeftRight" | "lineUpDownBoldLeftRight" | "lineUpDownLeftBoldRight" | "lineUpDownLeftRightBold" | "lineUpBoldDownBoldLeftRight" | "lineUpDownLeftBoldRightBold" | "lineUpBoldDownLeftBoldRight" | "lineUpBoldDownLeftRightBold" | "lineUpDownBoldLeftBoldRight" | "lineUpDownBoldLeftRightBold" | "lineUpDoubleDownDoubleLeftDoubleRightDouble" | "lineUpDoubleDownDoubleLeftRight" | "lineUpDownLeftDoubleRightDouble" | "lineCross" | "lineBackslash" | "lineSlash") | "";
200
- header?: import('chalk-string').Styles | "";
201
- classes?: {
202
- readonly [errorName: string]: Omit<import('beautiful-error').Options, "classes">;
203
- } & {
204
- readonly [errorName: string]: Omit<import('handle-cli-error').Options, "classes">;
205
- };
206
- exitCode?: number;
207
- silent?: boolean;
208
- timeout?: number;
209
- log?: (message: string) => void;
210
- };
211
- instanceMethods: {
212
- exit: ({ error, options }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => void;
213
- pretty: ({ error, options: { exitCode, silent, timeout, log, ...beautifulErrorOptions }, }: import('modern-errors').Info<import('modern-errors-cli').Options>["instanceMethods"]) => string;
214
- };
215
- }[], {
216
- phase: string;
217
- isDefect: boolean;
218
- exitCode: number;
219
- }, import('modern-errors').CustomClass>;
220
- /**
221
- * Wrap an async entry point with a defect boundary.
222
- *
223
- * If the wrapped function throws an exception (i.e. a defect that was not
224
- * captured as a Result), it is caught, wrapped in a DefectError, and printed
225
- * via BaseError.exit().
226
- *
227
- * @param fn - The entry point function to wrap
228
- * @throws {DefectError} If an unexpected exception occurs during execution
229
- */
230
- export declare function withDefectBoundary(fn: () => Promise<void>): Promise<void>;
@@ -1,7 +0,0 @@
1
- import { BaseError } from './errors';
2
- /** A non-fatal issue encountered during component extraction. */
3
- export interface ExtractionError {
4
- componentName: string;
5
- phase: 'render' | 'coupling' | 'css' | 'loader' | 'conversion';
6
- error: InstanceType<typeof BaseError>;
7
- }
@@ -1,3 +0,0 @@
1
- export { parseCss } from './parse';
2
- export { matchCssSelectors } from './selector-matcher';
3
- export type { CSSParserAPI } from './types';
@@ -1,7 +0,0 @@
1
- import { CSSParserAPI } from './types';
2
- /**
3
- * Factory function that parses CSS and returns an API to query the parsed result
4
- * @param cssString - The CSS file content as a string
5
- * @returns API object with methods to query the parsed CSS
6
- */
7
- export declare function parseCss(cssString: string): CSSParserAPI;
@@ -1,2 +0,0 @@
1
- import { Result } from 'neverthrow';
2
- export declare function compileSass(filePath: string): Result<string, Error>;
@@ -1,6 +0,0 @@
1
- import { ExtractedCssInfo } from '../../index';
2
- import { ExtractedElement } from '../react/extractors/core/tree-builder';
3
- export declare function matchCssSelectors(html: string, elements: ExtractedElement[], cssInfos: ExtractedCssInfo[]): {
4
- elements: ExtractedElement[];
5
- varUsedByTraceId: Map<string, Set<string>>;
6
- };
@@ -1,61 +0,0 @@
1
- export interface CSSProperty {
2
- name: string;
3
- value: string;
4
- /** CSS variable names referenced via var() in this property's value */
5
- varRefs?: string[];
6
- }
7
- export interface CssSelectorMatch {
8
- selector: string;
9
- properties: CSSProperty[];
10
- }
11
- export interface MatchedCssData {
12
- matches: CssSelectorMatch[];
13
- customProperties: Record<string, string>;
14
- }
15
- /**
16
- * API returned by parseCss function for querying parsed CSS
17
- */
18
- export interface CSSParserAPI {
19
- /**
20
- * Gets CSS properties for a specific selector
21
- * @param selector - The selector to extract properties for
22
- * @returns Array of CSS properties for the specified selector
23
- */
24
- getPropertiesForSelector: (selector: string) => CSSProperty[];
25
- /**
26
- * Gets all selectors and their properties from the CSS
27
- * @returns Map from selector to its CSS properties
28
- */
29
- getAllProperties: () => Map<string, CSSProperty[]>;
30
- /**
31
- * Gets all CSS property names that use a specific CSS variable
32
- * @param varName - The CSS variable name (with or without --)
33
- * @returns Array of CSS property names that use this variable
34
- */
35
- getVarUsages: (varName: string) => string[];
36
- /**
37
- * Gets unique properties from multiple selectors with CSS cascade rules:
38
- * - First selector wins (properties from earlier selectors take precedence)
39
- * - Within a selector, last value wins (if property appears multiple times)
40
- * @param selectors - Array of selectors to extract properties from
41
- * @returns Map of property names to their values
42
- */
43
- getUniqueProperties: (selectors: string[]) => Map<string, string>;
44
- /**
45
- * Gets a DOM-matchable selector by stripping pseudo-classes.
46
- * Returns null if the selector contains pseudo-elements (unmatchable against real DOM).
47
- * @param selector - The original CSS selector string
48
- * @returns DOM-matchable selector string or null
49
- */
50
- getDomSelector: (selector: string) => string | null;
51
- /**
52
- * Determines the CSS property type for a custom property based on how it is used.
53
- * If all usages of varName are within the same CSS property, returns that property name.
54
- * If usages differ, returns the CSS data type inferred from the initial value
55
- * ('color', 'length', 'number', or 'string').
56
- * Returns undefined if the variable is never used via var().
57
- * @param varName - The CSS variable name (with or without --)
58
- * @param defaultValue - The initial value string of the custom property
59
- */
60
- getVarPropertyType: (varName: string, defaultValue: string) => string | undefined;
61
- }
@@ -1,6 +0,0 @@
1
- export { ExtractorStore } from './store';
2
- export { runExtractors } from './runner';
3
- export type { ExtractionResult, RunExtractorsOptions } from './runner';
4
- export { buildElementTree } from './tree-builder';
5
- export type { ExtractedElement } from './tree-builder';
6
- export type { ReactExtractor, RenderContext, CreateElementEvent, RenderCompleteEvent } from './types';
@@ -1,23 +0,0 @@
1
- import { ComponentType } from 'react';
2
- import { ComponentInfo } from '../../../ts/types';
3
- import { ExtractorStore } from './store';
4
- import { ExtractedElement } from './tree-builder';
5
- import { ReactExtractor } from './types';
6
- export interface ExtractionResult {
7
- html: string;
8
- store: ExtractorStore;
9
- elements: ExtractedElement[];
10
- }
11
- export interface RunExtractorsOptions {
12
- /** Optional HOC to wrap the component before rendering (e.g. a context provider). */
13
- wrapper?: (component: ComponentType<unknown>) => ComponentType<unknown>;
14
- }
15
- /**
16
- * Runs extractors through the full lifecycle and returns extraction results.
17
- *
18
- * @param componentInfo - TypeScript-extracted component information
19
- * @param component - The React component to render
20
- * @param extractors - Array of extractors to run
21
- * @returns Extraction results including HTML, store, and element tree
22
- */
23
- export declare function runExtractors(componentInfo: ComponentInfo, component: ComponentType<unknown>, extractors: ReactExtractor[], options?: RunExtractorsOptions): ExtractionResult;
@@ -1,17 +0,0 @@
1
- /**
2
- * ExtractorStore - Shared store for extractors with namespace support
3
- *
4
- * Extractors write to this store during render, namespaced by their name:
5
- * store.set(traceId, 'prop-tracker', { boundProps: ['label', 'onClick'] })
6
- * store.set(traceId, 'css-properties', { relevant: ['color', 'background'] })
7
- *
8
- * Store structure: Map<traceId, Map<extractorName, data>>
9
- */
10
- export declare class ExtractorStore {
11
- private data;
12
- set<T>(traceId: string, extractorName: string, value: T): void;
13
- get<T>(traceId: string, extractorName: string): T | undefined;
14
- getAll(traceId: string): Map<string, unknown> | undefined;
15
- entries(): IterableIterator<[string, Map<string, unknown>]>;
16
- clear(): void;
17
- }
@@ -1,15 +0,0 @@
1
- import { ExtractorStore } from './store';
2
- export interface ExtractedElement {
3
- traceId: string;
4
- name: string;
5
- tag: string;
6
- attributes: Record<string, string>;
7
- extractorData: Map<string, unknown>;
8
- children: ExtractedElement[];
9
- hasTextContent?: boolean;
10
- }
11
- /**
12
- * Builds an element tree from HTML, merging with store data.
13
- * Each element gets a semantic name from concatenated ancestor names.
14
- */
15
- export declare function buildElementTree(html: string, store: ExtractorStore): ExtractedElement[];
@@ -1,40 +0,0 @@
1
- import { ComponentType } from 'react';
2
- import { ComponentInfo } from '../../../ts/types';
3
- import { ExtractorStore } from './store';
4
- /**
5
- * Context available to extractors during the beforeRender phase.
6
- * Props are mutable - extractors can modify them before render.
7
- */
8
- export interface RenderContext {
9
- componentInfo: ComponentInfo;
10
- component: ComponentType<unknown>;
11
- props: Record<string, unknown>;
12
- store: ExtractorStore;
13
- }
14
- /**
15
- * Event emitted for each DOM element created during render.
16
- */
17
- export interface CreateElementEvent {
18
- tag: string;
19
- props: Record<string, unknown>;
20
- traceId: string;
21
- children: unknown[];
22
- store: ExtractorStore;
23
- }
24
- /**
25
- * Event emitted after render completes.
26
- */
27
- export interface RenderCompleteEvent {
28
- html: string;
29
- context: RenderContext;
30
- }
31
- /**
32
- * Interface for pluggable extractors.
33
- * Extractors can hook into any combination of lifecycle events.
34
- */
35
- export interface ReactExtractor {
36
- name: string;
37
- onBeforeRender?(context: RenderContext): void;
38
- onCreateElement?(event: CreateElementEvent): void;
39
- onRenderComplete?(event: RenderCompleteEvent): void;
40
- }
@@ -1,20 +0,0 @@
1
- import { ReactExtractor } from './core/types';
2
- export interface CssPropertiesData {
3
- relevant: string[];
4
- }
5
- /**
6
- * Gets CSS properties relevant to an element based on tag and role.
7
- * Note: hasTextContent determination is deferred to tree building since
8
- * we can't know during createElement if a child will have text content.
9
- */
10
- export declare function getCssPropertiesForTag(tag: string, role?: string): string[];
11
- /**
12
- * Adds text CSS properties to an existing property list without duplicates.
13
- * Called during tree building when we know an element has text content.
14
- */
15
- export declare function addTextProperties(existing: string[]): string[];
16
- /**
17
- * Creates a CSS properties extractor that determines relevant CSS properties
18
- * for each element based on its tag and role.
19
- */
20
- export declare function createCssPropertiesExtractor(): ReactExtractor;
@@ -1,11 +0,0 @@
1
- /**
2
- * React Extractors
3
- *
4
- * Core infrastructure and pluggable extractors for the React information extraction system.
5
- */
6
- export { ExtractorStore, runExtractors, buildElementTree, } from './core';
7
- export type { ExtractionResult, RunExtractorsOptions, ExtractedElement, ReactExtractor, RenderContext, CreateElementEvent, RenderCompleteEvent, } from './core';
8
- export { createPropTrackerExtractor } from './prop-tracker';
9
- export type { PropTrackerData, PropTrackerExtractorState } from './prop-tracker';
10
- export { createCssPropertiesExtractor } from './css-properties';
11
- export type { CssPropertiesData } from './css-properties';