textmode.export.js 1.2.1 → 1.3.0-beta.1
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/README.md +171 -172
- package/dist/textmode.export.esm.js +1376 -1243
- package/dist/textmode.export.umd.js +2 -2
- package/dist/types/exporters/base/DataExtractor.d.ts +15 -1
- package/dist/types/exporters/base/DataExtractor.d.ts.map +1 -1
- package/dist/types/exporters/base/FileHandler.d.ts +3 -0
- package/dist/types/exporters/base/FileHandler.d.ts.map +1 -1
- package/dist/types/exporters/gif/GIFExporter.d.ts +5 -2
- package/dist/types/exporters/gif/GIFExporter.d.ts.map +1 -1
- package/dist/types/exporters/gif/GIFRecorder.d.ts +3 -3
- package/dist/types/exporters/gif/GIFRecorder.d.ts.map +1 -1
- package/dist/types/exporters/gif/types.d.ts.map +1 -1
- package/dist/types/exporters/image/ImageExporter.d.ts +7 -2
- package/dist/types/exporters/image/ImageExporter.d.ts.map +1 -1
- package/dist/types/exporters/image/index.d.ts +1 -1
- package/dist/types/exporters/image/index.d.ts.map +1 -1
- package/dist/types/exporters/image/types.d.ts.map +1 -1
- package/dist/types/exporters/json/JSONDataExtractor.d.ts +16 -0
- package/dist/types/exporters/json/JSONDataExtractor.d.ts.map +1 -0
- package/dist/types/exporters/json/JSONExporter.d.ts +56 -0
- package/dist/types/exporters/json/JSONExporter.d.ts.map +1 -0
- package/dist/types/exporters/json/JSONExporter.test.d.ts +2 -0
- package/dist/types/exporters/json/JSONExporter.test.d.ts.map +1 -0
- package/dist/types/exporters/json/index.d.ts +4 -0
- package/dist/types/exporters/json/index.d.ts.map +1 -0
- package/dist/types/exporters/json/types.d.ts +135 -0
- package/dist/types/exporters/json/types.d.ts.map +1 -0
- package/dist/types/exporters/svg/SVGContentGenerator.d.ts +9 -1
- package/dist/types/exporters/svg/SVGContentGenerator.d.ts.map +1 -1
- package/dist/types/exporters/svg/SVGDataExtractor.d.ts +2 -8
- package/dist/types/exporters/svg/SVGDataExtractor.d.ts.map +1 -1
- package/dist/types/exporters/svg/SVGExporter.d.ts +3 -0
- package/dist/types/exporters/svg/SVGExporter.d.ts.map +1 -1
- package/dist/types/exporters/svg/SVGPathGenerator.d.ts +8 -4
- package/dist/types/exporters/svg/SVGPathGenerator.d.ts.map +1 -1
- package/dist/types/exporters/svg/index.d.ts +1 -1
- package/dist/types/exporters/svg/index.d.ts.map +1 -1
- package/dist/types/exporters/svg/types.d.ts.map +1 -1
- package/dist/types/exporters/txt/TXTExporter.d.ts +4 -0
- package/dist/types/exporters/txt/TXTExporter.d.ts.map +1 -1
- package/dist/types/exporters/txt/index.d.ts.map +1 -1
- package/dist/types/exporters/txt/types.d.ts.map +1 -1
- package/dist/types/exporters/video/VideoExporter.d.ts +5 -2
- package/dist/types/exporters/video/VideoExporter.d.ts.map +1 -1
- package/dist/types/exporters/video/VideoRecorder.d.ts +3 -3
- package/dist/types/exporters/video/VideoRecorder.d.ts.map +1 -1
- package/dist/types/exporters/video/index.d.ts +1 -1
- package/dist/types/exporters/video/index.d.ts.map +1 -1
- package/dist/types/exporters/video/types.d.ts +2 -2
- package/dist/types/exporters/video/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/overlay/blades/Blade.d.ts +6 -1
- package/dist/types/overlay/blades/Blade.d.ts.map +1 -1
- package/dist/types/overlay/blades/GIFBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/ImageBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/JSONBlade.d.ts +15 -0
- package/dist/types/overlay/blades/JSONBlade.d.ts.map +1 -0
- package/dist/types/overlay/blades/SVGBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/TextBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/VideoBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/index.d.ts +1 -0
- package/dist/types/overlay/blades/index.d.ts.map +1 -1
- package/dist/types/overlay/components/actions/Button.d.ts.map +1 -1
- package/dist/types/overlay/components/base/Component.d.ts.map +1 -1
- package/dist/types/overlay/components/base/Container.d.ts.map +1 -1
- package/dist/types/overlay/components/base/Field.d.ts.map +1 -1
- package/dist/types/overlay/components/display/Header.d.ts.map +1 -1
- package/dist/types/overlay/components/display/StatusDisplay.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/CheckboxInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/NumberInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/RangeInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/SelectInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/TextInput.d.ts.map +1 -1
- package/dist/types/overlay/core/EventBus.d.ts +1 -0
- package/dist/types/overlay/core/EventBus.d.ts.map +1 -1
- package/dist/types/overlay/core/OverlayController.d.ts.map +1 -1
- package/dist/types/overlay/core/StateManager.d.ts.map +1 -1
- package/dist/types/overlay/formatRegistry.d.ts.map +1 -1
- package/dist/types/overlay/index.d.ts +1 -0
- package/dist/types/overlay/index.d.ts.map +1 -1
- package/dist/types/overlay/models/FormatDefinition.d.ts +3 -3
- package/dist/types/overlay/models/FormatDefinition.d.ts.map +1 -1
- package/dist/types/overlay/models/OverlayEvents.d.ts.map +1 -1
- package/dist/types/overlay/models/OverlayState.d.ts.map +1 -1
- package/dist/types/overlay/services/ClipboardService.d.ts +8 -2
- package/dist/types/overlay/services/ClipboardService.d.ts.map +1 -1
- package/dist/types/overlay/services/ExportService.d.ts.map +1 -1
- package/dist/types/overlay/services/PositionService.d.ts.map +1 -1
- package/dist/types/overlay/types.d.ts +3 -1
- package/dist/types/overlay/types.d.ts.map +1 -1
- package/dist/types/types.d.ts +104 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/pixels.d.ts +1 -0
- package/dist/types/utils/pixels.d.ts.map +1 -1
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +118 -71
package/dist/types/types.d.ts
CHANGED
|
@@ -3,24 +3,45 @@ import type { TXTExportOptions } from './exporters/txt';
|
|
|
3
3
|
import type { SVGExportOptions } from './exporters/svg';
|
|
4
4
|
import type { GIFExportOptions } from './exporters/gif';
|
|
5
5
|
import type { VideoExportOptions } from './exporters/video';
|
|
6
|
+
import type { JSONExportOptions, TextmodeLayerJSON } from './exporters/json';
|
|
6
7
|
/**
|
|
7
8
|
* Controller for managing the export overlay UI visibility at runtime.
|
|
8
9
|
*/
|
|
9
10
|
export interface ExportOverlayController {
|
|
10
11
|
/**
|
|
11
12
|
* Shows the export overlay UI.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* t.exportOverlay.show();
|
|
17
|
+
* ```
|
|
12
18
|
*/
|
|
13
19
|
show(): void;
|
|
14
20
|
/**
|
|
15
21
|
* Hides the export overlay UI.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* t.exportOverlay.hide();
|
|
26
|
+
* ```
|
|
16
27
|
*/
|
|
17
28
|
hide(): void;
|
|
18
29
|
/**
|
|
19
30
|
* Toggles the export overlay UI visibility.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* t.exportOverlay.toggle();
|
|
35
|
+
* ```
|
|
20
36
|
*/
|
|
21
37
|
toggle(): void;
|
|
22
38
|
/**
|
|
23
39
|
* Checks if the export overlay is currently visible.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* const visible = t.exportOverlay.isVisible();
|
|
44
|
+
* ```
|
|
24
45
|
*/
|
|
25
46
|
isVisible(): boolean;
|
|
26
47
|
}
|
|
@@ -34,44 +55,127 @@ export interface TextmodeExportAPI {
|
|
|
34
55
|
exportOverlay: ExportOverlayController;
|
|
35
56
|
/**
|
|
36
57
|
* Saves the current canvas content to an image file *(`'png'` by default)*.
|
|
58
|
+
*
|
|
37
59
|
* @param options Export options.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* await t.saveCanvas({ format: 'png', filename: 'frame-001' });
|
|
64
|
+
* ```
|
|
38
65
|
*/
|
|
39
66
|
saveCanvas(options?: ImageExportOptions): Promise<void>;
|
|
40
67
|
/**
|
|
41
68
|
* Copies the current canvas to the user's clipboard as an image.
|
|
69
|
+
*
|
|
42
70
|
* @param options Export options.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* await t.copyCanvas({ format: 'png' });
|
|
75
|
+
* ```
|
|
43
76
|
*/
|
|
44
77
|
copyCanvas(options?: ImageExportOptions): Promise<void>;
|
|
45
78
|
/**
|
|
46
79
|
* Downloads the current frame as an SVG file.
|
|
80
|
+
*
|
|
47
81
|
* @param options Export options.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* t.saveSVG({ filename: 'poster', includeBackgroundRectangles: true });
|
|
86
|
+
* ```
|
|
48
87
|
*/
|
|
49
88
|
saveSVG(options?: SVGExportOptions): void;
|
|
50
89
|
/**
|
|
51
90
|
* Downloads the current text content as a plain-text file.
|
|
91
|
+
*
|
|
52
92
|
* @param options Export options.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* t.saveStrings({ filename: 'frame', preserveTrailingSpaces: true });
|
|
97
|
+
* ```
|
|
53
98
|
*/
|
|
54
99
|
saveStrings(options?: TXTExportOptions): void;
|
|
55
100
|
/**
|
|
56
101
|
* Generates the SVG markup for the current frame.
|
|
102
|
+
*
|
|
57
103
|
* @param options Export options.
|
|
58
104
|
* @returns The SVG content representing the artwork.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* const svg = t.toSVG({ drawMode: 'stroke', strokeWidth: 1.5 });
|
|
109
|
+
* ```
|
|
59
110
|
*/
|
|
60
111
|
toSVG(options?: SVGExportOptions): string;
|
|
61
112
|
/**
|
|
62
113
|
* Produces the current text content as a string.
|
|
114
|
+
*
|
|
63
115
|
* @param options Export options.
|
|
64
116
|
* @returns The textual representation of the artwork.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
* const text = t.toString({ preserveTrailingSpaces: false });
|
|
121
|
+
* ```
|
|
65
122
|
*/
|
|
66
123
|
toString(options?: TXTExportOptions): string;
|
|
124
|
+
/**
|
|
125
|
+
* Produces the current base layer as structured JSON data.
|
|
126
|
+
*
|
|
127
|
+
* @param options Export options.
|
|
128
|
+
* @returns The JSON document representing the current base layer.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```ts
|
|
132
|
+
* const layer = t.toJSON({ colorMode: 'hex', includeMetadata: true });
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
toJSON(options?: JSONExportOptions): TextmodeLayerJSON;
|
|
136
|
+
/**
|
|
137
|
+
* Produces the current base layer as a JSON string.
|
|
138
|
+
*
|
|
139
|
+
* @param options Export options.
|
|
140
|
+
* @returns Serialized JSON string for the current base layer.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```ts
|
|
144
|
+
* const json = t.toJSONString({ pretty: false, colorMode: 'hex' });
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
toJSONString(options?: JSONExportOptions): string;
|
|
148
|
+
/**
|
|
149
|
+
* Downloads the current base layer as a JSON file.
|
|
150
|
+
*
|
|
151
|
+
* @param options Export options.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* t.saveJSON({ filename: 'frame', pretty: true });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
saveJSON(options?: JSONExportOptions): void;
|
|
67
159
|
/**
|
|
68
160
|
* Records an animated GIF and saves it to disk.
|
|
161
|
+
*
|
|
69
162
|
* @param options Export options.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```ts
|
|
166
|
+
* await t.saveGIF({ frameCount: 120, frameRate: 30, filename: 'loop' });
|
|
167
|
+
* ```
|
|
70
168
|
*/
|
|
71
169
|
saveGIF(options?: GIFExportOptions): Promise<void>;
|
|
72
170
|
/**
|
|
73
171
|
* Captures a WEBM video and saves it to disk.
|
|
172
|
+
*
|
|
74
173
|
* @param options Export options.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```ts
|
|
177
|
+
* await t.saveWEBM({ frameCount: 240, frameRate: 60, filename: 'capture' });
|
|
178
|
+
* ```
|
|
75
179
|
*/
|
|
76
180
|
saveWEBM(options?: VideoExportOptions): Promise<void>;
|
|
77
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;;;;;;OAOG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;;;;;;OAOG;IACH,SAAS,IAAI,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,aAAa,EAAE,uBAAuB,CAAC;IAEvC;;;;;;;;;OASG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;;;;;OASG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE1C;;;;;;;;;OASG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAE1C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAE7C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IAEvD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAElD;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAE5C;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixels.d.ts","sourceRoot":"","sources":["../../../src/utils/pixels.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pixels.d.ts","sourceRoot":"","sources":["../../../src/utils/pixels.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAO9G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,UAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,71 +1,118 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "textmode.export.js",
|
|
3
|
+
"version": "1.3.0-beta.1",
|
|
4
|
+
"description": "Export plugin for textmode.js - Save your creations as images, GIFs, videos, SVG, JSON, and plain text.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/textmode.export.umd.js",
|
|
7
|
+
"module": "./dist/textmode.export.esm.js",
|
|
8
|
+
"types": "./dist/types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"import": "./dist/textmode.export.esm.js",
|
|
13
|
+
"require": "./dist/textmode.export.umd.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"./dist/textmode.export.esm.js",
|
|
18
|
+
"./dist/textmode.export.umd.js"
|
|
19
|
+
],
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"dev": "vite --port 5174 --host",
|
|
25
|
+
"build:bundle": "vite build",
|
|
26
|
+
"build:types": "tsc",
|
|
27
|
+
"build": "npm run build:bundle && npm run build:types",
|
|
28
|
+
"check": "npm run check:format && npm run lint && npm run lint:md && npm run check:types && npm run check:api-docs && npm run test && npm run build",
|
|
29
|
+
"check:api-docs": "node ./scripts/check-public-api-docs.mjs",
|
|
30
|
+
"dev:docs": "typedoc --watch",
|
|
31
|
+
"build:docs": "typedoc",
|
|
32
|
+
"preview": "vite preview",
|
|
33
|
+
"test": "vitest run --passWithNoTests",
|
|
34
|
+
"test:watch": "vitest --passWithNoTests",
|
|
35
|
+
"test:ui": "vitest --ui --passWithNoTests",
|
|
36
|
+
"test:coverage": "vitest --coverage --passWithNoTests",
|
|
37
|
+
"format": "prettier --write .",
|
|
38
|
+
"check:format": "prettier --check .",
|
|
39
|
+
"check:types": "tsc --noEmit",
|
|
40
|
+
"lint:md": "markdownlint-cli2",
|
|
41
|
+
"lint:md:fix": "markdownlint-cli2 --fix",
|
|
42
|
+
"lint": "eslint src --config eslint.config.js",
|
|
43
|
+
"prepare": "husky"
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"textmode.js": ">=0.10.0"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"gifenc": "^1.0.1",
|
|
50
|
+
"webm-writer": "^1.0.0"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@commitlint/cli": "^20.5.0",
|
|
54
|
+
"@commitlint/config-conventional": "^20.5.0",
|
|
55
|
+
"@eslint/js": "^9.39.4",
|
|
56
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
57
|
+
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
58
|
+
"@semantic-release/exec": "^7.1.0",
|
|
59
|
+
"@semantic-release/github": "^12.0.6",
|
|
60
|
+
"@semantic-release/npm": "^13.1.5",
|
|
61
|
+
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
62
|
+
"@types/node": "^24.0.13",
|
|
63
|
+
"@vitest/ui": "^3.1.2",
|
|
64
|
+
"eslint": "^9.39.2",
|
|
65
|
+
"eslint-plugin-jsdoc": "^62.9.0",
|
|
66
|
+
"globals": "^17.5.0",
|
|
67
|
+
"husky": "^9.1.7",
|
|
68
|
+
"jsdom": "^26.1.0",
|
|
69
|
+
"lint-staged": "^16.4.0",
|
|
70
|
+
"markdownlint-cli2": "^0.22.1",
|
|
71
|
+
"markdownlint-cli2-formatter-default": "^0.0.6",
|
|
72
|
+
"prettier": "^3.8.3",
|
|
73
|
+
"semantic-release": "^25.0.3",
|
|
74
|
+
"terser": "^5.44.0",
|
|
75
|
+
"textmode.js": "^0.12.0",
|
|
76
|
+
"typedoc": "^0.28.19",
|
|
77
|
+
"typedoc-plugin-frontmatter": "^1.3.1",
|
|
78
|
+
"typedoc-plugin-markdown": "^4.11.0",
|
|
79
|
+
"typedoc-vitepress-theme": "^1.1.2",
|
|
80
|
+
"typescript": "^5.9.2",
|
|
81
|
+
"typescript-eslint": "^8.59.0",
|
|
82
|
+
"vite": "^6.3.4",
|
|
83
|
+
"vite-plugin-css-injected-by-js": "^3.5.2",
|
|
84
|
+
"vitest": "^3.1.2"
|
|
85
|
+
},
|
|
86
|
+
"keywords": [
|
|
87
|
+
"textmode",
|
|
88
|
+
"textmode.js",
|
|
89
|
+
"ascii",
|
|
90
|
+
"petscii",
|
|
91
|
+
"export",
|
|
92
|
+
"plugin",
|
|
93
|
+
"gif",
|
|
94
|
+
"video",
|
|
95
|
+
"webm",
|
|
96
|
+
"svg",
|
|
97
|
+
"json",
|
|
98
|
+
"image",
|
|
99
|
+
"png",
|
|
100
|
+
"jpg",
|
|
101
|
+
"webp",
|
|
102
|
+
"creative-coding",
|
|
103
|
+
"canvas"
|
|
104
|
+
],
|
|
105
|
+
"author": "humanbydefinition <hello@textmode.art> (https://code.textmode.art)",
|
|
106
|
+
"license": "MIT",
|
|
107
|
+
"homepage": "https://code.textmode.art",
|
|
108
|
+
"lint-staged": {
|
|
109
|
+
"*": "prettier --ignore-unknown --write"
|
|
110
|
+
},
|
|
111
|
+
"repository": {
|
|
112
|
+
"type": "git",
|
|
113
|
+
"url": "git+https://github.com/humanbydefinition/textmode.export.js.git"
|
|
114
|
+
},
|
|
115
|
+
"bugs": {
|
|
116
|
+
"url": "https://github.com/humanbydefinition/textmode.export.js/issues"
|
|
117
|
+
}
|
|
118
|
+
}
|