veryfront 0.1.21 → 0.1.23
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/bin/veryfront.js +24 -11
- package/esm/cli/commands/task/command-help.d.ts +3 -0
- package/esm/cli/commands/task/command-help.d.ts.map +1 -0
- package/esm/cli/commands/task/command-help.js +20 -0
- package/esm/cli/commands/task/command.d.ts +5 -0
- package/esm/cli/commands/task/command.d.ts.map +1 -0
- package/esm/cli/commands/task/command.js +79 -0
- package/esm/cli/commands/task/handler.d.ts +24 -0
- package/esm/cli/commands/task/handler.d.ts.map +1 -0
- package/esm/cli/commands/task/handler.js +17 -0
- package/esm/cli/help/command-definitions.d.ts.map +1 -1
- package/esm/cli/help/command-definitions.js +2 -0
- package/esm/cli/router.d.ts.map +1 -1
- package/esm/cli/router.js +2 -0
- package/esm/deno.d.ts +1 -0
- package/esm/deno.js +2 -1
- package/esm/src/discovery/discovery-engine.d.ts.map +1 -1
- package/esm/src/discovery/discovery-engine.js +6 -1
- package/esm/src/discovery/handlers/index.d.ts +1 -0
- package/esm/src/discovery/handlers/index.d.ts.map +1 -1
- package/esm/src/discovery/handlers/index.js +1 -0
- package/esm/src/discovery/handlers/task-handler.d.ts +7 -0
- package/esm/src/discovery/handlers/task-handler.d.ts.map +1 -0
- package/esm/src/discovery/handlers/task-handler.js +19 -0
- package/esm/src/discovery/types.d.ts +3 -0
- package/esm/src/discovery/types.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts +0 -2
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter.js +3 -7
- package/esm/src/studio/bridge-template.d.ts.map +1 -1
- package/esm/src/studio/bridge-template.js +3 -2
- package/esm/src/task/discovery.d.ts +83 -0
- package/esm/src/task/discovery.d.ts.map +1 -0
- package/esm/src/task/discovery.js +149 -0
- package/esm/src/task/runner.d.ts +34 -0
- package/esm/src/task/runner.d.ts.map +1 -0
- package/esm/src/task/runner.js +45 -0
- package/esm/src/task/types.d.ts +34 -0
- package/esm/src/task/types.d.ts.map +1 -0
- package/esm/src/task/types.js +16 -0
- package/esm/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.js +1 -1
- package/esm/src/workflow/claude-code/tool.d.ts +5 -5
- package/package.json +2 -2
- package/src/cli/commands/task/command-help.ts +22 -0
- package/src/cli/commands/task/command.ts +98 -0
- package/src/cli/commands/task/handler.ts +23 -0
- package/src/cli/help/command-definitions.ts +2 -0
- package/src/cli/router.ts +2 -0
- package/src/deno.js +2 -1
- package/src/src/discovery/discovery-engine.ts +7 -0
- package/src/src/discovery/handlers/index.ts +1 -0
- package/src/src/discovery/handlers/task-handler.ts +23 -0
- package/src/src/discovery/types.ts +3 -0
- package/src/src/platform/adapters/fs/veryfront/adapter.ts +3 -7
- package/src/src/studio/bridge-template.ts +3 -2
- package/src/src/task/discovery.ts +228 -0
- package/src/src/task/runner.ts +94 -0
- package/src/src/task/types.ts +40 -0
- package/src/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.ts +1 -1
- package/esm/deps/esm.sh/react@19.1.1/jsx-dev-runtime.d.ts +0 -2
- package/esm/deps/esm.sh/react@19.1.1/jsx-dev-runtime.d.ts.map +0 -1
- package/esm/deps/esm.sh/react@19.1.1/jsx-dev-runtime.js +0 -3
- package/src/deps/esm.sh/@types/react@19.1.17/global.d.ts +0 -165
- package/src/deps/esm.sh/@types/react@19.1.17/index.d.ts +0 -4267
- package/src/deps/esm.sh/@types/react@19.1.17/jsx-dev-runtime.d.ts +0 -45
- package/src/deps/esm.sh/csstype@3.1.3/index.d.ts +0 -21297
- package/src/deps/esm.sh/react@19.1.1/jsx-dev-runtime.d.ts +0 -45
- package/src/deps/esm.sh/react@19.1.1/jsx-dev-runtime.js +0 -3
|
@@ -490,7 +490,7 @@ export function generateStudioBridgeScript(options: StudioBridgeOptions): string
|
|
|
490
490
|
|
|
491
491
|
html2canvasPromise = new Promise((resolve, reject) => {
|
|
492
492
|
const script = document.createElement('script');
|
|
493
|
-
script.src = 'https://cdn.jsdelivr.net/npm/html2canvas@
|
|
493
|
+
script.src = 'https://cdn.jsdelivr.net/npm/html2canvas-pro@2.0.0/dist/html2canvas-pro.min.js';
|
|
494
494
|
script.onload = () => {
|
|
495
495
|
html2canvasLoaded = true;
|
|
496
496
|
resolve();
|
|
@@ -528,7 +528,8 @@ export function generateStudioBridgeScript(options: StudioBridgeOptions): string
|
|
|
528
528
|
await new Promise(r => setTimeout(r, 100));
|
|
529
529
|
}
|
|
530
530
|
|
|
531
|
-
const
|
|
531
|
+
const html2canvasFn = window.html2canvas.default || window.html2canvas;
|
|
532
|
+
const canvas = await html2canvasFn(document.body, canvasOptions);
|
|
532
533
|
const dataUrl = canvas.toDataURL('image/png', quality);
|
|
533
534
|
|
|
534
535
|
window.scrollTo(0, originalScrollY);
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Discovery
|
|
3
|
+
*
|
|
4
|
+
* Discovers task definitions from user's project `tasks/` directory.
|
|
5
|
+
* Follows the same patterns as workflow-discovery.ts.
|
|
6
|
+
*
|
|
7
|
+
* Scans:
|
|
8
|
+
* - tasks/*.ts - task definition files
|
|
9
|
+
* - tasks/**\/*.ts - nested task files
|
|
10
|
+
*
|
|
11
|
+
* Task files should export a task definition:
|
|
12
|
+
* ```typescript
|
|
13
|
+
* export default {
|
|
14
|
+
* name: "Sync external data",
|
|
15
|
+
* run: async (ctx) => {
|
|
16
|
+
* console.log("Syncing data...")
|
|
17
|
+
* return { synced: 42 }
|
|
18
|
+
* }
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import { join } from "../../deps/jsr.io/@std/path/1.1.4/mod.js";
|
|
24
|
+
import { logger as baseLogger } from "../utils/index.js";
|
|
25
|
+
import type { RuntimeAdapter } from "../platform/index.js";
|
|
26
|
+
import type { VeryfrontConfig } from "../config/index.js";
|
|
27
|
+
import { collectFiles } from "../utils/file-discovery.js";
|
|
28
|
+
import { loadHandlerModule } from "../routing/api/module-loader/loader.js";
|
|
29
|
+
import type { TaskDefinition } from "./types.js";
|
|
30
|
+
import { isTaskDefinition } from "./types.js";
|
|
31
|
+
|
|
32
|
+
const logger = baseLogger.component("task-discovery");
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Discovered task info
|
|
36
|
+
*/
|
|
37
|
+
export interface DiscoveredTask {
|
|
38
|
+
/** Task ID derived from file path (e.g., "sync-data" from tasks/sync-data.ts) */
|
|
39
|
+
id: string;
|
|
40
|
+
|
|
41
|
+
/** Human-readable name from task definition */
|
|
42
|
+
name: string;
|
|
43
|
+
|
|
44
|
+
/** File path where the task is defined */
|
|
45
|
+
filePath: string;
|
|
46
|
+
|
|
47
|
+
/** Export name (e.g., "default" or named export) */
|
|
48
|
+
exportName: string;
|
|
49
|
+
|
|
50
|
+
/** The task definition */
|
|
51
|
+
definition: TaskDefinition;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Options for task discovery
|
|
56
|
+
*/
|
|
57
|
+
export interface TaskDiscoveryOptions {
|
|
58
|
+
/** Project directory */
|
|
59
|
+
projectDir: string;
|
|
60
|
+
|
|
61
|
+
/** Runtime adapter for filesystem operations */
|
|
62
|
+
adapter: RuntimeAdapter;
|
|
63
|
+
|
|
64
|
+
/** Veryfront config (for import maps, etc.) */
|
|
65
|
+
config?: VeryfrontConfig;
|
|
66
|
+
|
|
67
|
+
/** Base directory for tasks (default: "tasks") */
|
|
68
|
+
tasksDir?: string;
|
|
69
|
+
|
|
70
|
+
/** Enable debug logging */
|
|
71
|
+
debug?: boolean;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Result of task discovery
|
|
76
|
+
*/
|
|
77
|
+
export interface TaskDiscoveryResult {
|
|
78
|
+
/** All discovered tasks */
|
|
79
|
+
tasks: DiscoveredTask[];
|
|
80
|
+
|
|
81
|
+
/** Errors encountered during discovery */
|
|
82
|
+
errors: Array<{ filePath: string; error: string }>;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Derive task ID from file path (e.g., "tasks/sync-data.ts" → "sync-data")
|
|
87
|
+
*/
|
|
88
|
+
export function deriveTaskId(filePath: string, tasksDir: string): string {
|
|
89
|
+
// Remove the tasks dir prefix and extension
|
|
90
|
+
let relative = filePath;
|
|
91
|
+
const dirPrefix = tasksDir.endsWith("/") ? tasksDir : `${tasksDir}/`;
|
|
92
|
+
if (relative.startsWith(dirPrefix)) {
|
|
93
|
+
relative = relative.slice(dirPrefix.length);
|
|
94
|
+
}
|
|
95
|
+
// Remove extension
|
|
96
|
+
return relative.replace(/\.(ts|tsx|js|jsx)$/, "");
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Discover all tasks in a project
|
|
101
|
+
*/
|
|
102
|
+
export async function discoverTasks(
|
|
103
|
+
options: TaskDiscoveryOptions,
|
|
104
|
+
): Promise<TaskDiscoveryResult> {
|
|
105
|
+
const {
|
|
106
|
+
projectDir,
|
|
107
|
+
adapter,
|
|
108
|
+
config,
|
|
109
|
+
tasksDir = "tasks",
|
|
110
|
+
debug = false,
|
|
111
|
+
} = options;
|
|
112
|
+
|
|
113
|
+
const tasks: DiscoveredTask[] = [];
|
|
114
|
+
const errors: Array<{ filePath: string; error: string }> = [];
|
|
115
|
+
|
|
116
|
+
const fsType = config?.fs?.type ?? "local";
|
|
117
|
+
const useRelativePaths = fsType === "github" || fsType === "veryfront-api";
|
|
118
|
+
const baseDir = useRelativePaths ? tasksDir : join(projectDir, tasksDir);
|
|
119
|
+
|
|
120
|
+
if (debug) {
|
|
121
|
+
logger.info(`Scanning ${baseDir} for tasks`);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
try {
|
|
125
|
+
const dirExists = await adapter.fs.exists(baseDir);
|
|
126
|
+
if (!dirExists) {
|
|
127
|
+
if (debug) {
|
|
128
|
+
logger.info(`No tasks directory found at ${baseDir}`);
|
|
129
|
+
}
|
|
130
|
+
return { tasks, errors };
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const files = await collectFiles({
|
|
134
|
+
baseDir,
|
|
135
|
+
extensions: [".ts", ".tsx", ".js", ".jsx"],
|
|
136
|
+
recursive: true,
|
|
137
|
+
ignorePatterns: ["node_modules", ".git", "__tests__", "*.test.*", "*.spec.*"],
|
|
138
|
+
adapter,
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
if (debug) {
|
|
142
|
+
logger.info(`Found ${files.length} potential task files`);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
for (const file of files) {
|
|
146
|
+
try {
|
|
147
|
+
const module = await loadHandlerModule({
|
|
148
|
+
projectDir,
|
|
149
|
+
modulePath: file.path,
|
|
150
|
+
adapter,
|
|
151
|
+
config,
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
if (!module) continue;
|
|
155
|
+
|
|
156
|
+
// Prefer default export (aligned with discovery-engine behaviour)
|
|
157
|
+
const defaultExport = (module as Record<string, unknown>).default;
|
|
158
|
+
if (isTaskDefinition(defaultExport)) {
|
|
159
|
+
const id = deriveTaskId(file.path, baseDir);
|
|
160
|
+
tasks.push({
|
|
161
|
+
id,
|
|
162
|
+
name: defaultExport.name || id,
|
|
163
|
+
filePath: file.path,
|
|
164
|
+
exportName: "default",
|
|
165
|
+
definition: defaultExport,
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
if (debug) {
|
|
169
|
+
logger.info(`Found task "${id}" in ${file.path} (export: default)`);
|
|
170
|
+
}
|
|
171
|
+
} else {
|
|
172
|
+
// Fallback: check named exports
|
|
173
|
+
for (const [exportName, value] of Object.entries(module)) {
|
|
174
|
+
if (exportName === "default") continue;
|
|
175
|
+
if (isTaskDefinition(value)) {
|
|
176
|
+
const id = deriveTaskId(file.path, baseDir);
|
|
177
|
+
tasks.push({
|
|
178
|
+
id,
|
|
179
|
+
name: value.name || id,
|
|
180
|
+
filePath: file.path,
|
|
181
|
+
exportName,
|
|
182
|
+
definition: value,
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
if (debug) {
|
|
186
|
+
logger.info(`Found task "${id}" in ${file.path} (export: ${exportName})`);
|
|
187
|
+
}
|
|
188
|
+
break; // Only take the first valid named export per file
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
} catch (error) {
|
|
193
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
194
|
+
errors.push({ filePath: file.path, error: errorMsg });
|
|
195
|
+
|
|
196
|
+
if (debug) {
|
|
197
|
+
logger.warn(`Failed to load ${file.path}: ${errorMsg}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (debug) {
|
|
203
|
+
logger.info(`Discovered ${tasks.length} tasks`);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return { tasks, errors };
|
|
207
|
+
} catch (error) {
|
|
208
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
209
|
+
logger.error(`Task discovery failed: ${errorMsg}`);
|
|
210
|
+
errors.push({ filePath: baseDir, error: errorMsg });
|
|
211
|
+
return { tasks, errors };
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Find a specific task by ID
|
|
217
|
+
*
|
|
218
|
+
* TODO: Optimise by short-circuiting discovery once the target task is found
|
|
219
|
+
* instead of discovering all tasks first. This is consistent with the workflow
|
|
220
|
+
* pattern but could be improved for large projects with many task files.
|
|
221
|
+
*/
|
|
222
|
+
export async function findTaskById(
|
|
223
|
+
taskId: string,
|
|
224
|
+
options: TaskDiscoveryOptions,
|
|
225
|
+
): Promise<DiscoveredTask | null> {
|
|
226
|
+
const { tasks } = await discoverTasks(options);
|
|
227
|
+
return tasks.find((t) => t.id === taskId) ?? null;
|
|
228
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Runner
|
|
3
|
+
*
|
|
4
|
+
* Executes a discovered task by calling its run() function
|
|
5
|
+
* with the appropriate context.
|
|
6
|
+
*/
|
|
7
|
+
import * as dntShim from "../../_dnt.shims.js";
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
import { logger as baseLogger } from "../utils/index.js";
|
|
11
|
+
import type { DiscoveredTask } from "./discovery.js";
|
|
12
|
+
import type { TaskContext } from "./types.js";
|
|
13
|
+
|
|
14
|
+
const logger = baseLogger.component("task-runner");
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Options for running a task
|
|
18
|
+
*/
|
|
19
|
+
export interface RunTaskOptions {
|
|
20
|
+
/** The discovered task to run */
|
|
21
|
+
task: DiscoveredTask;
|
|
22
|
+
|
|
23
|
+
/** Additional config to pass to the task */
|
|
24
|
+
config?: Record<string, unknown>;
|
|
25
|
+
|
|
26
|
+
/** Project ID (for cloud context) */
|
|
27
|
+
projectId?: string;
|
|
28
|
+
|
|
29
|
+
/** If set, only these env var names are passed to the task. */
|
|
30
|
+
envAllowlist?: string[];
|
|
31
|
+
|
|
32
|
+
/** Enable debug logging */
|
|
33
|
+
debug?: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Result of running a task
|
|
38
|
+
*/
|
|
39
|
+
export interface TaskRunResult {
|
|
40
|
+
/** Whether the task completed successfully */
|
|
41
|
+
success: boolean;
|
|
42
|
+
|
|
43
|
+
/** Return value from the task's run() */
|
|
44
|
+
result?: unknown;
|
|
45
|
+
|
|
46
|
+
/** Error if the task failed */
|
|
47
|
+
error?: string;
|
|
48
|
+
|
|
49
|
+
/** Execution duration in milliseconds */
|
|
50
|
+
durationMs: number;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Run a task with the given options
|
|
55
|
+
*/
|
|
56
|
+
export async function runTask(options: RunTaskOptions): Promise<TaskRunResult> {
|
|
57
|
+
const { task, config = {}, projectId, envAllowlist, debug = false } = options;
|
|
58
|
+
const start = Date.now();
|
|
59
|
+
|
|
60
|
+
if (debug) {
|
|
61
|
+
logger.info(`Running task "${task.id}" (${task.name})`);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const env: Record<string, string> = { ...dntShim.Deno.env.toObject() };
|
|
65
|
+
if (envAllowlist) {
|
|
66
|
+
for (const k of Object.keys(env)) {
|
|
67
|
+
if (!envAllowlist.includes(k)) delete env[k];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const ctx: TaskContext = {
|
|
72
|
+
env,
|
|
73
|
+
config,
|
|
74
|
+
projectId,
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
try {
|
|
78
|
+
const result = await task.definition.run(ctx);
|
|
79
|
+
const durationMs = Date.now() - start;
|
|
80
|
+
|
|
81
|
+
if (debug) {
|
|
82
|
+
logger.info(`Task "${task.id}" completed in ${durationMs}ms`);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return { success: true, result, durationMs };
|
|
86
|
+
} catch (error) {
|
|
87
|
+
const durationMs = Date.now() - start;
|
|
88
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
89
|
+
|
|
90
|
+
logger.error(`Task "${task.id}" failed: ${errorMsg}`);
|
|
91
|
+
|
|
92
|
+
return { success: false, error: errorMsg, durationMs };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the task execution system.
|
|
5
|
+
* Tasks are user-defined functions in `tasks/` that can run
|
|
6
|
+
* locally via `veryfront task <name>` or in the cloud as Jobs/CronJobs.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Context passed to task run() function
|
|
11
|
+
*/
|
|
12
|
+
export interface TaskContext {
|
|
13
|
+
/** Environment variables */
|
|
14
|
+
env: Record<string, string>;
|
|
15
|
+
/** Job config (when run as a cloud job) */
|
|
16
|
+
config: Record<string, unknown>;
|
|
17
|
+
/** Project ID (when run as a cloud job) */
|
|
18
|
+
projectId?: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Task definition exported from a tasks/ file
|
|
23
|
+
*/
|
|
24
|
+
export interface TaskDefinition {
|
|
25
|
+
/** Human-readable name */
|
|
26
|
+
name?: string;
|
|
27
|
+
/** Task description */
|
|
28
|
+
description?: string;
|
|
29
|
+
/** The function to execute */
|
|
30
|
+
run: (ctx: TaskContext) => Promise<unknown> | unknown;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Type guard: checks if a value looks like a TaskDefinition
|
|
35
|
+
*/
|
|
36
|
+
export function isTaskDefinition(value: unknown): value is TaskDefinition {
|
|
37
|
+
if (!value || typeof value !== "object") return false;
|
|
38
|
+
const obj = value as Record<string, unknown>;
|
|
39
|
+
return typeof obj.run === "function";
|
|
40
|
+
}
|
|
@@ -7,7 +7,7 @@ export interface JSXRuntime {
|
|
|
7
7
|
|
|
8
8
|
export async function loadJSXRuntime(): Promise<JSXRuntime> {
|
|
9
9
|
// deno-lint-ignore no-explicit-any
|
|
10
|
-
const runtime = (await import("
|
|
10
|
+
const runtime = (await import("react/jsx-dev-runtime")) as any;
|
|
11
11
|
|
|
12
12
|
return {
|
|
13
13
|
Fragment: runtime.Fragment,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../../../../src/deps/esm.sh/react@19.1.1/jsx-dev-runtime.js"],"names":[],"mappings":""}
|
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
React projects that don't include the DOM library need these interfaces to compile.
|
|
3
|
-
React Native applications use React, but there is no DOM available. The JavaScript runtime
|
|
4
|
-
is ES6/ES2015 only. These definitions allow such projects to compile with only `--lib ES6`.
|
|
5
|
-
|
|
6
|
-
Warning: all of these interfaces are empty. If you want type definitions for various properties
|
|
7
|
-
(such as HTMLInputElement.prototype.value), you need to add `--lib DOM` (via command line or tsconfig.json).
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
interface Event {}
|
|
11
|
-
interface AnimationEvent extends Event {}
|
|
12
|
-
interface ClipboardEvent extends Event {}
|
|
13
|
-
interface CompositionEvent extends Event {}
|
|
14
|
-
interface DragEvent extends Event {}
|
|
15
|
-
interface FocusEvent extends Event {}
|
|
16
|
-
interface InputEvent extends Event {}
|
|
17
|
-
interface KeyboardEvent extends Event {}
|
|
18
|
-
interface MouseEvent extends Event {}
|
|
19
|
-
interface TouchEvent extends Event {}
|
|
20
|
-
interface PointerEvent extends Event {}
|
|
21
|
-
interface ToggleEvent extends Event {}
|
|
22
|
-
interface TransitionEvent extends Event {}
|
|
23
|
-
interface UIEvent extends Event {}
|
|
24
|
-
interface WheelEvent extends Event {}
|
|
25
|
-
|
|
26
|
-
interface EventTarget {}
|
|
27
|
-
interface Document {}
|
|
28
|
-
interface DataTransfer {}
|
|
29
|
-
interface StyleMedia {}
|
|
30
|
-
|
|
31
|
-
interface Element {}
|
|
32
|
-
interface DocumentFragment {}
|
|
33
|
-
|
|
34
|
-
interface HTMLElement extends Element {}
|
|
35
|
-
interface HTMLAnchorElement extends HTMLElement {}
|
|
36
|
-
interface HTMLAreaElement extends HTMLElement {}
|
|
37
|
-
interface HTMLAudioElement extends HTMLElement {}
|
|
38
|
-
interface HTMLBaseElement extends HTMLElement {}
|
|
39
|
-
interface HTMLBodyElement extends HTMLElement {}
|
|
40
|
-
interface HTMLBRElement extends HTMLElement {}
|
|
41
|
-
interface HTMLButtonElement extends HTMLElement {}
|
|
42
|
-
interface HTMLCanvasElement extends HTMLElement {}
|
|
43
|
-
interface HTMLDataElement extends HTMLElement {}
|
|
44
|
-
interface HTMLDataListElement extends HTMLElement {}
|
|
45
|
-
interface HTMLDetailsElement extends HTMLElement {}
|
|
46
|
-
interface HTMLDialogElement extends HTMLElement {}
|
|
47
|
-
interface HTMLDivElement extends HTMLElement {}
|
|
48
|
-
interface HTMLDListElement extends HTMLElement {}
|
|
49
|
-
interface HTMLEmbedElement extends HTMLElement {}
|
|
50
|
-
interface HTMLFieldSetElement extends HTMLElement {}
|
|
51
|
-
interface HTMLFormElement extends HTMLElement {}
|
|
52
|
-
interface HTMLHeadingElement extends HTMLElement {}
|
|
53
|
-
interface HTMLHeadElement extends HTMLElement {}
|
|
54
|
-
interface HTMLHRElement extends HTMLElement {}
|
|
55
|
-
interface HTMLHtmlElement extends HTMLElement {}
|
|
56
|
-
interface HTMLIFrameElement extends HTMLElement {}
|
|
57
|
-
interface HTMLImageElement extends HTMLElement {}
|
|
58
|
-
interface HTMLInputElement extends HTMLElement {}
|
|
59
|
-
interface HTMLModElement extends HTMLElement {}
|
|
60
|
-
interface HTMLLabelElement extends HTMLElement {}
|
|
61
|
-
interface HTMLLegendElement extends HTMLElement {}
|
|
62
|
-
interface HTMLLIElement extends HTMLElement {}
|
|
63
|
-
interface HTMLLinkElement extends HTMLElement {}
|
|
64
|
-
interface HTMLMapElement extends HTMLElement {}
|
|
65
|
-
interface HTMLMetaElement extends HTMLElement {}
|
|
66
|
-
interface HTMLMeterElement extends HTMLElement {}
|
|
67
|
-
interface HTMLObjectElement extends HTMLElement {}
|
|
68
|
-
interface HTMLOListElement extends HTMLElement {}
|
|
69
|
-
interface HTMLOptGroupElement extends HTMLElement {}
|
|
70
|
-
interface HTMLOptionElement extends HTMLElement {}
|
|
71
|
-
interface HTMLOutputElement extends HTMLElement {}
|
|
72
|
-
interface HTMLParagraphElement extends HTMLElement {}
|
|
73
|
-
interface HTMLParamElement extends HTMLElement {}
|
|
74
|
-
interface HTMLPreElement extends HTMLElement {}
|
|
75
|
-
interface HTMLProgressElement extends HTMLElement {}
|
|
76
|
-
interface HTMLQuoteElement extends HTMLElement {}
|
|
77
|
-
interface HTMLSlotElement extends HTMLElement {}
|
|
78
|
-
interface HTMLScriptElement extends HTMLElement {}
|
|
79
|
-
interface HTMLSelectElement extends HTMLElement {}
|
|
80
|
-
interface HTMLSourceElement extends HTMLElement {}
|
|
81
|
-
interface HTMLSpanElement extends HTMLElement {}
|
|
82
|
-
interface HTMLStyleElement extends HTMLElement {}
|
|
83
|
-
interface HTMLTableElement extends HTMLElement {}
|
|
84
|
-
interface HTMLTableColElement extends HTMLElement {}
|
|
85
|
-
interface HTMLTableDataCellElement extends HTMLElement {}
|
|
86
|
-
interface HTMLTableHeaderCellElement extends HTMLElement {}
|
|
87
|
-
interface HTMLTableRowElement extends HTMLElement {}
|
|
88
|
-
interface HTMLTableSectionElement extends HTMLElement {}
|
|
89
|
-
interface HTMLTemplateElement extends HTMLElement {}
|
|
90
|
-
interface HTMLTextAreaElement extends HTMLElement {}
|
|
91
|
-
interface HTMLTimeElement extends HTMLElement {}
|
|
92
|
-
interface HTMLTitleElement extends HTMLElement {}
|
|
93
|
-
interface HTMLTrackElement extends HTMLElement {}
|
|
94
|
-
interface HTMLUListElement extends HTMLElement {}
|
|
95
|
-
interface HTMLVideoElement extends HTMLElement {}
|
|
96
|
-
interface HTMLWebViewElement extends HTMLElement {}
|
|
97
|
-
|
|
98
|
-
interface SVGElement extends Element {}
|
|
99
|
-
interface SVGSVGElement extends SVGElement {}
|
|
100
|
-
interface SVGCircleElement extends SVGElement {}
|
|
101
|
-
interface SVGClipPathElement extends SVGElement {}
|
|
102
|
-
interface SVGDefsElement extends SVGElement {}
|
|
103
|
-
interface SVGDescElement extends SVGElement {}
|
|
104
|
-
interface SVGEllipseElement extends SVGElement {}
|
|
105
|
-
interface SVGFEBlendElement extends SVGElement {}
|
|
106
|
-
interface SVGFEColorMatrixElement extends SVGElement {}
|
|
107
|
-
interface SVGFEComponentTransferElement extends SVGElement {}
|
|
108
|
-
interface SVGFECompositeElement extends SVGElement {}
|
|
109
|
-
interface SVGFEConvolveMatrixElement extends SVGElement {}
|
|
110
|
-
interface SVGFEDiffuseLightingElement extends SVGElement {}
|
|
111
|
-
interface SVGFEDisplacementMapElement extends SVGElement {}
|
|
112
|
-
interface SVGFEDistantLightElement extends SVGElement {}
|
|
113
|
-
interface SVGFEDropShadowElement extends SVGElement {}
|
|
114
|
-
interface SVGFEFloodElement extends SVGElement {}
|
|
115
|
-
interface SVGFEFuncAElement extends SVGElement {}
|
|
116
|
-
interface SVGFEFuncBElement extends SVGElement {}
|
|
117
|
-
interface SVGFEFuncGElement extends SVGElement {}
|
|
118
|
-
interface SVGFEFuncRElement extends SVGElement {}
|
|
119
|
-
interface SVGFEGaussianBlurElement extends SVGElement {}
|
|
120
|
-
interface SVGFEImageElement extends SVGElement {}
|
|
121
|
-
interface SVGFEMergeElement extends SVGElement {}
|
|
122
|
-
interface SVGFEMergeNodeElement extends SVGElement {}
|
|
123
|
-
interface SVGFEMorphologyElement extends SVGElement {}
|
|
124
|
-
interface SVGFEOffsetElement extends SVGElement {}
|
|
125
|
-
interface SVGFEPointLightElement extends SVGElement {}
|
|
126
|
-
interface SVGFESpecularLightingElement extends SVGElement {}
|
|
127
|
-
interface SVGFESpotLightElement extends SVGElement {}
|
|
128
|
-
interface SVGFETileElement extends SVGElement {}
|
|
129
|
-
interface SVGFETurbulenceElement extends SVGElement {}
|
|
130
|
-
interface SVGFilterElement extends SVGElement {}
|
|
131
|
-
interface SVGForeignObjectElement extends SVGElement {}
|
|
132
|
-
interface SVGGElement extends SVGElement {}
|
|
133
|
-
interface SVGImageElement extends SVGElement {}
|
|
134
|
-
interface SVGLineElement extends SVGElement {}
|
|
135
|
-
interface SVGLinearGradientElement extends SVGElement {}
|
|
136
|
-
interface SVGMarkerElement extends SVGElement {}
|
|
137
|
-
interface SVGMaskElement extends SVGElement {}
|
|
138
|
-
interface SVGMetadataElement extends SVGElement {}
|
|
139
|
-
interface SVGPathElement extends SVGElement {}
|
|
140
|
-
interface SVGPatternElement extends SVGElement {}
|
|
141
|
-
interface SVGPolygonElement extends SVGElement {}
|
|
142
|
-
interface SVGPolylineElement extends SVGElement {}
|
|
143
|
-
interface SVGRadialGradientElement extends SVGElement {}
|
|
144
|
-
interface SVGRectElement extends SVGElement {}
|
|
145
|
-
interface SVGSetElement extends SVGElement {}
|
|
146
|
-
interface SVGStopElement extends SVGElement {}
|
|
147
|
-
interface SVGSwitchElement extends SVGElement {}
|
|
148
|
-
interface SVGSymbolElement extends SVGElement {}
|
|
149
|
-
interface SVGTextElement extends SVGElement {}
|
|
150
|
-
interface SVGTextPathElement extends SVGElement {}
|
|
151
|
-
interface SVGTSpanElement extends SVGElement {}
|
|
152
|
-
interface SVGUseElement extends SVGElement {}
|
|
153
|
-
interface SVGViewElement extends SVGElement {}
|
|
154
|
-
|
|
155
|
-
interface FormData {}
|
|
156
|
-
interface Text {}
|
|
157
|
-
interface TouchList {}
|
|
158
|
-
interface WebGLRenderingContext {}
|
|
159
|
-
interface WebGL2RenderingContext {}
|
|
160
|
-
|
|
161
|
-
interface TrustedHTML {}
|
|
162
|
-
|
|
163
|
-
interface Blob {}
|
|
164
|
-
interface MediaStream {}
|
|
165
|
-
interface MediaSource {}
|