@codefluss/sandbox 0.0.1-alpha.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/CHANGELOG.md +75 -0
- package/README.md +413 -0
- package/dist/__tests__/auto-resize-script.test.d.ts +2 -0
- package/dist/__tests__/auto-resize-script.test.d.ts.map +1 -0
- package/dist/__tests__/auto-resize-script.test.js +49 -0
- package/dist/__tests__/auto-resize-script.test.js.map +1 -0
- package/dist/__tests__/sandbox-component.test.d.ts +2 -0
- package/dist/__tests__/sandbox-component.test.d.ts.map +1 -0
- package/dist/__tests__/sandbox-component.test.js +281 -0
- package/dist/__tests__/sandbox-component.test.js.map +1 -0
- package/dist/__tests__/sandbox-config.test.d.ts +2 -0
- package/dist/__tests__/sandbox-config.test.d.ts.map +1 -0
- package/dist/__tests__/sandbox-config.test.js +148 -0
- package/dist/__tests__/sandbox-config.test.js.map +1 -0
- package/dist/__tests__/sandbox-iframe.test.d.ts +2 -0
- package/dist/__tests__/sandbox-iframe.test.d.ts.map +1 -0
- package/dist/__tests__/sandbox-iframe.test.js +212 -0
- package/dist/__tests__/sandbox-iframe.test.js.map +1 -0
- package/dist/__tests__/setup.d.ts +2 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/setup.js +27 -0
- package/dist/__tests__/setup.js.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +5 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/performance-wrapper.d.ts +12 -0
- package/dist/components/performance-wrapper.d.ts.map +1 -0
- package/dist/components/performance-wrapper.js +162 -0
- package/dist/components/performance-wrapper.js.map +1 -0
- package/dist/components/sandbox-component.d.ts +3 -0
- package/dist/components/sandbox-component.d.ts.map +1 -0
- package/dist/components/sandbox-component.js +123 -0
- package/dist/components/sandbox-component.js.map +1 -0
- package/dist/components/sandbox-iframe-cached.d.ts +3 -0
- package/dist/components/sandbox-iframe-cached.d.ts.map +1 -0
- package/dist/components/sandbox-iframe-cached.js +176 -0
- package/dist/components/sandbox-iframe-cached.js.map +1 -0
- package/dist/components/sandbox-iframe.d.ts +3 -0
- package/dist/components/sandbox-iframe.d.ts.map +1 -0
- package/dist/components/sandbox-iframe.js +131 -0
- package/dist/components/sandbox-iframe.js.map +1 -0
- package/dist/converters/auto-detect/auto-detect.d.ts +13 -0
- package/dist/converters/auto-detect/auto-detect.d.ts.map +1 -0
- package/dist/converters/auto-detect/auto-detect.js +224 -0
- package/dist/converters/auto-detect/auto-detect.js.map +1 -0
- package/dist/converters/auto-detect/index.d.ts +3 -0
- package/dist/converters/auto-detect/index.d.ts.map +1 -0
- package/dist/converters/auto-detect/index.js +2 -0
- package/dist/converters/auto-detect/index.js.map +1 -0
- package/dist/converters/codepen/codepen-converter.d.ts +9 -0
- package/dist/converters/codepen/codepen-converter.d.ts.map +1 -0
- package/dist/converters/codepen/codepen-converter.js +99 -0
- package/dist/converters/codepen/codepen-converter.js.map +1 -0
- package/dist/converters/codepen/index.d.ts +2 -0
- package/dist/converters/codepen/index.d.ts.map +1 -0
- package/dist/converters/codepen/index.js +2 -0
- package/dist/converters/codepen/index.js.map +1 -0
- package/dist/converters/gist/gist-converter.d.ts +31 -0
- package/dist/converters/gist/gist-converter.d.ts.map +1 -0
- package/dist/converters/gist/gist-converter.js +162 -0
- package/dist/converters/gist/gist-converter.js.map +1 -0
- package/dist/converters/gist/index.d.ts +2 -0
- package/dist/converters/gist/index.d.ts.map +1 -0
- package/dist/converters/gist/index.js +2 -0
- package/dist/converters/gist/index.js.map +1 -0
- package/dist/converters/shared/html-parser.d.ts +4 -0
- package/dist/converters/shared/html-parser.d.ts.map +1 -0
- package/dist/converters/shared/html-parser.js +39 -0
- package/dist/converters/shared/html-parser.js.map +1 -0
- package/dist/converters/shared/index.d.ts +4 -0
- package/dist/converters/shared/index.d.ts.map +1 -0
- package/dist/converters/shared/index.js +3 -0
- package/dist/converters/shared/index.js.map +1 -0
- package/dist/converters/shared/sanitization.d.ts +5 -0
- package/dist/converters/shared/sanitization.d.ts.map +1 -0
- package/dist/converters/shared/sanitization.js +176 -0
- package/dist/converters/shared/sanitization.js.map +1 -0
- package/dist/converters/shared/types.d.ts +23 -0
- package/dist/converters/shared/types.d.ts.map +1 -0
- package/dist/converters/shared/types.js +2 -0
- package/dist/converters/shared/types.js.map +1 -0
- package/dist/core/index.d.ts +13 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +10 -0
- package/dist/core/index.js.map +1 -0
- package/dist/frameworks/__tests__/file-utils.test.d.ts +2 -0
- package/dist/frameworks/__tests__/file-utils.test.d.ts.map +1 -0
- package/dist/frameworks/__tests__/file-utils.test.js +408 -0
- package/dist/frameworks/__tests__/file-utils.test.js.map +1 -0
- package/dist/frameworks/__tests__/sandpack-wrapper.test.d.ts +2 -0
- package/dist/frameworks/__tests__/sandpack-wrapper.test.d.ts.map +1 -0
- package/dist/frameworks/__tests__/sandpack-wrapper.test.js +147 -0
- package/dist/frameworks/__tests__/sandpack-wrapper.test.js.map +1 -0
- package/dist/frameworks/file-utils.d.ts +20 -0
- package/dist/frameworks/file-utils.d.ts.map +1 -0
- package/dist/frameworks/file-utils.js +293 -0
- package/dist/frameworks/file-utils.js.map +1 -0
- package/dist/frameworks/framework-detector.d.ts +5 -0
- package/dist/frameworks/framework-detector.d.ts.map +1 -0
- package/dist/frameworks/framework-detector.js +117 -0
- package/dist/frameworks/framework-detector.js.map +1 -0
- package/dist/frameworks/index.d.ts +6 -0
- package/dist/frameworks/index.d.ts.map +1 -0
- package/dist/frameworks/index.js +5 -0
- package/dist/frameworks/index.js.map +1 -0
- package/dist/frameworks/sandpack-wrapper.d.ts +28 -0
- package/dist/frameworks/sandpack-wrapper.d.ts.map +1 -0
- package/dist/frameworks/sandpack-wrapper.js +55 -0
- package/dist/frameworks/sandpack-wrapper.js.map +1 -0
- package/dist/frameworks/templates/index.d.ts +8 -0
- package/dist/frameworks/templates/index.d.ts.map +1 -0
- package/dist/frameworks/templates/index.js +29 -0
- package/dist/frameworks/templates/index.js.map +1 -0
- package/dist/frameworks/templates/react-template.d.ts +3 -0
- package/dist/frameworks/templates/react-template.d.ts.map +1 -0
- package/dist/frameworks/templates/react-template.js +376 -0
- package/dist/frameworks/templates/react-template.js.map +1 -0
- package/dist/frameworks/templates/svelte-template.d.ts +3 -0
- package/dist/frameworks/templates/svelte-template.d.ts.map +1 -0
- package/dist/frameworks/templates/svelte-template.js +373 -0
- package/dist/frameworks/templates/svelte-template.js.map +1 -0
- package/dist/frameworks/templates/vanilla-template.d.ts +3 -0
- package/dist/frameworks/templates/vanilla-template.d.ts.map +1 -0
- package/dist/frameworks/templates/vanilla-template.js +455 -0
- package/dist/frameworks/templates/vanilla-template.js.map +1 -0
- package/dist/frameworks/templates/vue-template.d.ts +3 -0
- package/dist/frameworks/templates/vue-template.d.ts.map +1 -0
- package/dist/frameworks/templates/vue-template.js +388 -0
- package/dist/frameworks/templates/vue-template.js.map +1 -0
- package/dist/frameworks/types.d.ts +57 -0
- package/dist/frameworks/types.d.ts.map +1 -0
- package/dist/frameworks/types.js +2 -0
- package/dist/frameworks/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/performance-tracker.d.ts +45 -0
- package/dist/lib/performance-tracker.d.ts.map +1 -0
- package/dist/lib/performance-tracker.js +165 -0
- package/dist/lib/performance-tracker.js.map +1 -0
- package/dist/lib/sandbox-cache.d.ts +24 -0
- package/dist/lib/sandbox-cache.d.ts.map +1 -0
- package/dist/lib/sandbox-cache.js +138 -0
- package/dist/lib/sandbox-cache.js.map +1 -0
- package/dist/locales/de.json +72 -0
- package/dist/locales/en.json +72 -0
- package/dist/locales/index.d.ts +148 -0
- package/dist/locales/index.d.ts.map +1 -0
- package/dist/locales/index.js +7 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/performance/sandpack-bundle-cache.d.ts +19 -0
- package/dist/performance/sandpack-bundle-cache.d.ts.map +1 -0
- package/dist/performance/sandpack-bundle-cache.js +48 -0
- package/dist/performance/sandpack-bundle-cache.js.map +1 -0
- package/dist/sandbox-config.d.ts +4 -0
- package/dist/sandbox-config.d.ts.map +1 -0
- package/dist/sandbox-config.js +235 -0
- package/dist/sandbox-config.js.map +1 -0
- package/dist/storage/__tests__/indexeddb-adapter.test.d.ts +2 -0
- package/dist/storage/__tests__/indexeddb-adapter.test.d.ts.map +1 -0
- package/dist/storage/__tests__/indexeddb-adapter.test.js +192 -0
- package/dist/storage/__tests__/indexeddb-adapter.test.js.map +1 -0
- package/dist/storage/__tests__/project-manager.test.d.ts +2 -0
- package/dist/storage/__tests__/project-manager.test.d.ts.map +1 -0
- package/dist/storage/__tests__/project-manager.test.js +266 -0
- package/dist/storage/__tests__/project-manager.test.js.map +1 -0
- package/dist/storage/index.d.ts +5 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +4 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/indexeddb-adapter.d.ts +18 -0
- package/dist/storage/indexeddb-adapter.d.ts.map +1 -0
- package/dist/storage/indexeddb-adapter.js +232 -0
- package/dist/storage/indexeddb-adapter.js.map +1 -0
- package/dist/storage/project-manager.d.ts +35 -0
- package/dist/storage/project-manager.d.ts.map +1 -0
- package/dist/storage/project-manager.js +213 -0
- package/dist/storage/project-manager.js.map +1 -0
- package/dist/storage/types.d.ts +59 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +2 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/storage/zip-handler.d.ts +5 -0
- package/dist/storage/zip-handler.d.ts.map +1 -0
- package/dist/storage/zip-handler.js +200 -0
- package/dist/storage/zip-handler.js.map +1 -0
- package/dist/types/sandbox-types.d.ts +54 -0
- package/dist/types/sandbox-types.d.ts.map +1 -0
- package/dist/types/sandbox-types.js +2 -0
- package/dist/types/sandbox-types.js.map +1 -0
- package/dist/utils/__tests__/converters/auto-detect.test.d.ts +2 -0
- package/dist/utils/__tests__/converters/auto-detect.test.d.ts.map +1 -0
- package/dist/utils/__tests__/converters/auto-detect.test.js +381 -0
- package/dist/utils/__tests__/converters/auto-detect.test.js.map +1 -0
- package/dist/utils/__tests__/converters/codepen-converter.test.d.ts +2 -0
- package/dist/utils/__tests__/converters/codepen-converter.test.d.ts.map +1 -0
- package/dist/utils/__tests__/converters/codepen-converter.test.js +408 -0
- package/dist/utils/__tests__/converters/codepen-converter.test.js.map +1 -0
- package/dist/utils/__tests__/converters/gist-converter.test.d.ts +2 -0
- package/dist/utils/__tests__/converters/gist-converter.test.d.ts.map +1 -0
- package/dist/utils/__tests__/converters/gist-converter.test.js +458 -0
- package/dist/utils/__tests__/converters/gist-converter.test.js.map +1 -0
- package/dist/utils/__tests__/converters/html-parser.test.d.ts +2 -0
- package/dist/utils/__tests__/converters/html-parser.test.d.ts.map +1 -0
- package/dist/utils/__tests__/converters/html-parser.test.js +285 -0
- package/dist/utils/__tests__/converters/html-parser.test.js.map +1 -0
- package/dist/utils/__tests__/converters/sanitization.test.d.ts +2 -0
- package/dist/utils/__tests__/converters/sanitization.test.d.ts.map +1 -0
- package/dist/utils/__tests__/converters/sanitization.test.js +210 -0
- package/dist/utils/__tests__/converters/sanitization.test.js.map +1 -0
- package/dist/utils/auto-resize-script.d.ts +4 -0
- package/dist/utils/auto-resize-script.d.ts.map +1 -0
- package/dist/utils/auto-resize-script.js +125 -0
- package/dist/utils/auto-resize-script.js.map +1 -0
- package/dist/widgets/banner/BannerWidget.d.ts +15 -0
- package/dist/widgets/banner/BannerWidget.d.ts.map +1 -0
- package/dist/widgets/banner/BannerWidget.js +33 -0
- package/dist/widgets/banner/BannerWidget.js.map +1 -0
- package/dist/widgets/form/FormWidget.d.ts +23 -0
- package/dist/widgets/form/FormWidget.d.ts.map +1 -0
- package/dist/widgets/form/FormWidget.js +42 -0
- package/dist/widgets/form/FormWidget.js.map +1 -0
- package/dist/widgets/index.d.ts +8 -0
- package/dist/widgets/index.d.ts.map +1 -0
- package/dist/widgets/index.js +28 -0
- package/dist/widgets/index.js.map +1 -0
- package/dist/widgets/types.d.ts +28 -0
- package/dist/widgets/types.d.ts.map +1 -0
- package/dist/widgets/types.js +2 -0
- package/dist/widgets/types.js.map +1 -0
- package/package.json +116 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-tracker.js","sourceRoot":"","sources":["../../src/lib/performance-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface CacheConfig {
|
|
2
|
+
enabled: boolean;
|
|
3
|
+
redisUrl?: string;
|
|
4
|
+
ttl?: number;
|
|
5
|
+
keyPrefix?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function calculateHash(html: string, css: string, js: string, libraries?: string[]): Promise<string>;
|
|
8
|
+
export declare class SandboxCache {
|
|
9
|
+
private config;
|
|
10
|
+
private memoryCache;
|
|
11
|
+
private redisClient;
|
|
12
|
+
constructor(config: CacheConfig);
|
|
13
|
+
private initRedisClient;
|
|
14
|
+
get(key: string): Promise<string | null>;
|
|
15
|
+
set(key: string, value: string, customTtl?: number): Promise<void>;
|
|
16
|
+
clear(): Promise<void>;
|
|
17
|
+
getStats(): Promise<{
|
|
18
|
+
backend: 'redis' | 'memory' | 'none';
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export declare const browserCache: SandboxCache;
|
|
23
|
+
export declare function createServerCache(config?: Partial<CacheConfig>): SandboxCache;
|
|
24
|
+
//# sourceMappingURL=sandbox-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-cache.d.ts","sourceRoot":"","sources":["../../src/lib/sandbox-cache.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAsB,aAAa,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,MAAM,EAAO,GACtB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAkDD,qBAAa,YAAY;IACxB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAa;gBAEpB,MAAM,EAAE,WAAW;YAyBjB,eAAe;IAuCvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6BxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBlE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBtB,QAAQ,IAAI,OAAO,CAAC;QACzB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;QACrC,OAAO,EAAE,OAAO,CAAC;KACjB,CAAC;CAMF;AAKD,eAAO,MAAM,YAAY,cAGvB,CAAC;AAKH,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,YAAY,CAOjF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
export async function calculateHash(html, css, js, libraries = []) {
|
|
2
|
+
const content = `${html}::${css}::${js}::${libraries.join(',')}`;
|
|
3
|
+
const encoder = new TextEncoder();
|
|
4
|
+
const data = encoder.encode(content);
|
|
5
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
|
|
6
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
7
|
+
const hashHex = hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
8
|
+
return hashHex;
|
|
9
|
+
}
|
|
10
|
+
class MemoryCache {
|
|
11
|
+
cache = new Map();
|
|
12
|
+
set(key, value, ttl) {
|
|
13
|
+
const expires = Date.now() + ttl * 1000;
|
|
14
|
+
this.cache.set(key, { value, expires });
|
|
15
|
+
if (this.cache.size > 1000) {
|
|
16
|
+
this.cleanup();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
get(key) {
|
|
20
|
+
const entry = this.cache.get(key);
|
|
21
|
+
if (!entry)
|
|
22
|
+
return null;
|
|
23
|
+
if (Date.now() > entry.expires) {
|
|
24
|
+
this.cache.delete(key);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return entry.value;
|
|
28
|
+
}
|
|
29
|
+
cleanup() {
|
|
30
|
+
const now = Date.now();
|
|
31
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
32
|
+
if (now > entry.expires) {
|
|
33
|
+
this.cache.delete(key);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
clear() {
|
|
38
|
+
this.cache.clear();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export class SandboxCache {
|
|
42
|
+
config;
|
|
43
|
+
memoryCache;
|
|
44
|
+
redisClient = null;
|
|
45
|
+
constructor(config) {
|
|
46
|
+
this.config = {
|
|
47
|
+
enabled: config.enabled,
|
|
48
|
+
redisUrl: config.redisUrl || 'redis://localhost:6379',
|
|
49
|
+
ttl: config.ttl || 3600,
|
|
50
|
+
keyPrefix: config.keyPrefix || 'sandbox:',
|
|
51
|
+
};
|
|
52
|
+
this.memoryCache = new MemoryCache();
|
|
53
|
+
if (this.config.enabled && typeof window === 'undefined') {
|
|
54
|
+
this.initRedisClient();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async initRedisClient() {
|
|
58
|
+
if (typeof window !== 'undefined') {
|
|
59
|
+
console.log('[SandboxCache] Browser environment detected, using memory cache only');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
console.log('[SandboxCache] Redis support disabled in browser build, using memory cache');
|
|
63
|
+
}
|
|
64
|
+
async get(key) {
|
|
65
|
+
if (!this.config.enabled)
|
|
66
|
+
return null;
|
|
67
|
+
const fullKey = this.config.keyPrefix + key;
|
|
68
|
+
if (this.redisClient) {
|
|
69
|
+
try {
|
|
70
|
+
const value = await this.redisClient.get(fullKey);
|
|
71
|
+
if (value) {
|
|
72
|
+
console.log('⚡ [SandboxCache] Redis HIT:', key.substring(0, 16));
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.warn('[SandboxCache] Redis get error:', error);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const value = this.memoryCache.get(fullKey);
|
|
81
|
+
if (value) {
|
|
82
|
+
console.log('⚡ [SandboxCache] Memory HIT:', key.substring(0, 16));
|
|
83
|
+
}
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
async set(key, value, customTtl) {
|
|
87
|
+
if (!this.config.enabled)
|
|
88
|
+
return;
|
|
89
|
+
const fullKey = this.config.keyPrefix + key;
|
|
90
|
+
const ttl = customTtl || this.config.ttl;
|
|
91
|
+
if (this.redisClient) {
|
|
92
|
+
try {
|
|
93
|
+
await this.redisClient.setex(fullKey, ttl, value);
|
|
94
|
+
console.log('💾 [SandboxCache] Redis SET:', key.substring(0, 16));
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
console.warn('[SandboxCache] Redis set error:', error);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
this.memoryCache.set(fullKey, value, ttl);
|
|
102
|
+
console.log('💾 [SandboxCache] Memory SET:', key.substring(0, 16));
|
|
103
|
+
}
|
|
104
|
+
async clear() {
|
|
105
|
+
this.memoryCache.clear();
|
|
106
|
+
if (this.redisClient) {
|
|
107
|
+
try {
|
|
108
|
+
const keys = await this.redisClient.keys(`${this.config.keyPrefix}*`);
|
|
109
|
+
if (keys.length > 0) {
|
|
110
|
+
await this.redisClient.del(...keys);
|
|
111
|
+
}
|
|
112
|
+
console.log('[SandboxCache] Cleared Redis cache');
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
console.warn('[SandboxCache] Redis clear error:', error);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async getStats() {
|
|
120
|
+
return {
|
|
121
|
+
backend: this.redisClient ? 'redis' : this.config.enabled ? 'memory' : 'none',
|
|
122
|
+
enabled: this.config.enabled,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export const browserCache = new SandboxCache({
|
|
127
|
+
enabled: true,
|
|
128
|
+
ttl: 3600,
|
|
129
|
+
});
|
|
130
|
+
export function createServerCache(config = {}) {
|
|
131
|
+
return new SandboxCache({
|
|
132
|
+
enabled: true,
|
|
133
|
+
redisUrl: config.redisUrl || process.env.REDIS_URL || 'redis://localhost:6379',
|
|
134
|
+
ttl: config.ttl || 3600,
|
|
135
|
+
keyPrefix: config.keyPrefix || 'sandbox:',
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=sandbox-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-cache.js","sourceRoot":"","sources":["../../src/lib/sandbox-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"plugin": {
|
|
3
|
+
"name": "Sandbox",
|
|
4
|
+
"description": "Sichere Sandbox zum Rendern von HTML-, CSS- und JavaScript-Code"
|
|
5
|
+
},
|
|
6
|
+
"properties": {
|
|
7
|
+
"htmlCode": {
|
|
8
|
+
"label": "HTML Code",
|
|
9
|
+
"placeholder": "<div>\n <h1>Hallo Welt</h1>\n</div>",
|
|
10
|
+
"description": "HTML-Markup für die Sandbox"
|
|
11
|
+
},
|
|
12
|
+
"cssCode": {
|
|
13
|
+
"label": "CSS Stile",
|
|
14
|
+
"placeholder": ".container {\n padding: 20px;\n}",
|
|
15
|
+
"description": "CSS-Stile für die Sandbox"
|
|
16
|
+
},
|
|
17
|
+
"jsCode": {
|
|
18
|
+
"label": "JavaScript Code",
|
|
19
|
+
"placeholder": "console.log('Hallo');\n\n// Dein Code hier",
|
|
20
|
+
"description": "JavaScript-Code für die Sandbox"
|
|
21
|
+
},
|
|
22
|
+
"externalLibraries": {
|
|
23
|
+
"label": "Externe Bibliotheken",
|
|
24
|
+
"placeholder": "https://cdn.tailwindcss.com\nhttps://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js",
|
|
25
|
+
"description": "CDN-URLs für externe Bibliotheken (eine pro Zeile)"
|
|
26
|
+
},
|
|
27
|
+
"height": {
|
|
28
|
+
"label": "Anfangshöhe",
|
|
29
|
+
"description": "Anfängliche iframe-Höhe in Pixeln"
|
|
30
|
+
},
|
|
31
|
+
"autoResize": {
|
|
32
|
+
"label": "Automatische Größenanpassung",
|
|
33
|
+
"description": "Höhe automatisch an Inhalt anpassen"
|
|
34
|
+
},
|
|
35
|
+
"maxHeight": {
|
|
36
|
+
"label": "Maximale Höhe",
|
|
37
|
+
"description": "Maximale Höhe für automatische Größenanpassung"
|
|
38
|
+
},
|
|
39
|
+
"showBadge": {
|
|
40
|
+
"label": "Badge anzeigen",
|
|
41
|
+
"description": "Sandboxed-Content-Badge im Editor-Modus anzeigen"
|
|
42
|
+
},
|
|
43
|
+
"inputMode": {
|
|
44
|
+
"label": "Eingabemodus",
|
|
45
|
+
"description": "Wie Code bereitgestellt wird (separat, kombiniert oder Konverter)"
|
|
46
|
+
},
|
|
47
|
+
"executionTimeout": {
|
|
48
|
+
"label": "Ausführungs-Timeout",
|
|
49
|
+
"description": "Timeout in Millisekunden zur Verhinderung von Endlosschleifen"
|
|
50
|
+
},
|
|
51
|
+
"combinedCode": {
|
|
52
|
+
"label": "Kombiniertes HTML",
|
|
53
|
+
"placeholder": "<!DOCTYPE html>\n<html>\n<head>\n <style>...</style>\n</head>\n<body>\n ...\n <script>...</script>\n</body>\n</html>",
|
|
54
|
+
"description": "Vollständiges HTML-Dokument für kombinierten Modus"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"categories": {
|
|
58
|
+
"content": "Inhalt",
|
|
59
|
+
"layout": "Anzeige",
|
|
60
|
+
"advanced": "Erweitert"
|
|
61
|
+
},
|
|
62
|
+
"actions": {
|
|
63
|
+
"apply": "Änderungen übernehmen",
|
|
64
|
+
"reset": "Auf Standard zurücksetzen"
|
|
65
|
+
},
|
|
66
|
+
"messages": {
|
|
67
|
+
"loading": "Sandbox wird geladen...",
|
|
68
|
+
"error": "Fehler",
|
|
69
|
+
"timeout": "Ausführungs-Timeout erreicht",
|
|
70
|
+
"sandboxed": "Sandboxed-Inhalt"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"plugin": {
|
|
3
|
+
"name": "Sandbox",
|
|
4
|
+
"description": "Secure sandbox for rendering HTML, CSS, and JavaScript code"
|
|
5
|
+
},
|
|
6
|
+
"properties": {
|
|
7
|
+
"htmlCode": {
|
|
8
|
+
"label": "HTML Code",
|
|
9
|
+
"placeholder": "<div>\n <h1>Hello World</h1>\n</div>",
|
|
10
|
+
"description": "HTML markup for the sandbox"
|
|
11
|
+
},
|
|
12
|
+
"cssCode": {
|
|
13
|
+
"label": "CSS Styles",
|
|
14
|
+
"placeholder": ".container {\n padding: 20px;\n}",
|
|
15
|
+
"description": "CSS styles for the sandbox"
|
|
16
|
+
},
|
|
17
|
+
"jsCode": {
|
|
18
|
+
"label": "JavaScript Code",
|
|
19
|
+
"placeholder": "console.log('Hello');\n\n// Your code here",
|
|
20
|
+
"description": "JavaScript code for the sandbox"
|
|
21
|
+
},
|
|
22
|
+
"externalLibraries": {
|
|
23
|
+
"label": "External Libraries",
|
|
24
|
+
"placeholder": "https://cdn.tailwindcss.com\nhttps://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js",
|
|
25
|
+
"description": "CDN URLs for external libraries (one per line)"
|
|
26
|
+
},
|
|
27
|
+
"height": {
|
|
28
|
+
"label": "Initial Height",
|
|
29
|
+
"description": "Initial iframe height in pixels"
|
|
30
|
+
},
|
|
31
|
+
"autoResize": {
|
|
32
|
+
"label": "Auto Resize",
|
|
33
|
+
"description": "Automatically adjust height to fit content"
|
|
34
|
+
},
|
|
35
|
+
"maxHeight": {
|
|
36
|
+
"label": "Max Height",
|
|
37
|
+
"description": "Maximum height for auto-resize"
|
|
38
|
+
},
|
|
39
|
+
"showBadge": {
|
|
40
|
+
"label": "Show Badge",
|
|
41
|
+
"description": "Show sandboxed content badge in editor mode"
|
|
42
|
+
},
|
|
43
|
+
"inputMode": {
|
|
44
|
+
"label": "Input Mode",
|
|
45
|
+
"description": "How code is provided (separate, combined, or converter)"
|
|
46
|
+
},
|
|
47
|
+
"executionTimeout": {
|
|
48
|
+
"label": "Execution Timeout",
|
|
49
|
+
"description": "Timeout in milliseconds to prevent infinite loops"
|
|
50
|
+
},
|
|
51
|
+
"combinedCode": {
|
|
52
|
+
"label": "Combined HTML",
|
|
53
|
+
"placeholder": "<!DOCTYPE html>\n<html>\n<head>\n <style>...</style>\n</head>\n<body>\n ...\n <script>...</script>\n</body>\n</html>",
|
|
54
|
+
"description": "Complete HTML document for combined mode"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"categories": {
|
|
58
|
+
"content": "Content",
|
|
59
|
+
"layout": "Display",
|
|
60
|
+
"advanced": "Advanced"
|
|
61
|
+
},
|
|
62
|
+
"actions": {
|
|
63
|
+
"apply": "Apply Changes",
|
|
64
|
+
"reset": "Reset to Default"
|
|
65
|
+
},
|
|
66
|
+
"messages": {
|
|
67
|
+
"loading": "Loading sandbox...",
|
|
68
|
+
"error": "Error",
|
|
69
|
+
"timeout": "Execution timeout reached",
|
|
70
|
+
"sandboxed": "Sandboxed Content"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
en: {
|
|
3
|
+
plugin: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
};
|
|
7
|
+
properties: {
|
|
8
|
+
htmlCode: {
|
|
9
|
+
label: string;
|
|
10
|
+
placeholder: string;
|
|
11
|
+
description: string;
|
|
12
|
+
};
|
|
13
|
+
cssCode: {
|
|
14
|
+
label: string;
|
|
15
|
+
placeholder: string;
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
jsCode: {
|
|
19
|
+
label: string;
|
|
20
|
+
placeholder: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
externalLibraries: {
|
|
24
|
+
label: string;
|
|
25
|
+
placeholder: string;
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
height: {
|
|
29
|
+
label: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
autoResize: {
|
|
33
|
+
label: string;
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
maxHeight: {
|
|
37
|
+
label: string;
|
|
38
|
+
description: string;
|
|
39
|
+
};
|
|
40
|
+
showBadge: {
|
|
41
|
+
label: string;
|
|
42
|
+
description: string;
|
|
43
|
+
};
|
|
44
|
+
inputMode: {
|
|
45
|
+
label: string;
|
|
46
|
+
description: string;
|
|
47
|
+
};
|
|
48
|
+
executionTimeout: {
|
|
49
|
+
label: string;
|
|
50
|
+
description: string;
|
|
51
|
+
};
|
|
52
|
+
combinedCode: {
|
|
53
|
+
label: string;
|
|
54
|
+
placeholder: string;
|
|
55
|
+
description: string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
categories: {
|
|
59
|
+
content: string;
|
|
60
|
+
layout: string;
|
|
61
|
+
advanced: string;
|
|
62
|
+
};
|
|
63
|
+
actions: {
|
|
64
|
+
apply: string;
|
|
65
|
+
reset: string;
|
|
66
|
+
};
|
|
67
|
+
messages: {
|
|
68
|
+
loading: string;
|
|
69
|
+
error: string;
|
|
70
|
+
timeout: string;
|
|
71
|
+
sandboxed: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
de: {
|
|
75
|
+
plugin: {
|
|
76
|
+
name: string;
|
|
77
|
+
description: string;
|
|
78
|
+
};
|
|
79
|
+
properties: {
|
|
80
|
+
htmlCode: {
|
|
81
|
+
label: string;
|
|
82
|
+
placeholder: string;
|
|
83
|
+
description: string;
|
|
84
|
+
};
|
|
85
|
+
cssCode: {
|
|
86
|
+
label: string;
|
|
87
|
+
placeholder: string;
|
|
88
|
+
description: string;
|
|
89
|
+
};
|
|
90
|
+
jsCode: {
|
|
91
|
+
label: string;
|
|
92
|
+
placeholder: string;
|
|
93
|
+
description: string;
|
|
94
|
+
};
|
|
95
|
+
externalLibraries: {
|
|
96
|
+
label: string;
|
|
97
|
+
placeholder: string;
|
|
98
|
+
description: string;
|
|
99
|
+
};
|
|
100
|
+
height: {
|
|
101
|
+
label: string;
|
|
102
|
+
description: string;
|
|
103
|
+
};
|
|
104
|
+
autoResize: {
|
|
105
|
+
label: string;
|
|
106
|
+
description: string;
|
|
107
|
+
};
|
|
108
|
+
maxHeight: {
|
|
109
|
+
label: string;
|
|
110
|
+
description: string;
|
|
111
|
+
};
|
|
112
|
+
showBadge: {
|
|
113
|
+
label: string;
|
|
114
|
+
description: string;
|
|
115
|
+
};
|
|
116
|
+
inputMode: {
|
|
117
|
+
label: string;
|
|
118
|
+
description: string;
|
|
119
|
+
};
|
|
120
|
+
executionTimeout: {
|
|
121
|
+
label: string;
|
|
122
|
+
description: string;
|
|
123
|
+
};
|
|
124
|
+
combinedCode: {
|
|
125
|
+
label: string;
|
|
126
|
+
placeholder: string;
|
|
127
|
+
description: string;
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
categories: {
|
|
131
|
+
content: string;
|
|
132
|
+
layout: string;
|
|
133
|
+
advanced: string;
|
|
134
|
+
};
|
|
135
|
+
actions: {
|
|
136
|
+
apply: string;
|
|
137
|
+
reset: string;
|
|
138
|
+
};
|
|
139
|
+
messages: {
|
|
140
|
+
loading: string;
|
|
141
|
+
error: string;
|
|
142
|
+
timeout: string;
|
|
143
|
+
sandboxed: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export default _default;
|
|
148
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locales/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAGE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,eAAe;IACd,EAAE;IACF,EAAE;CACF,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare class SandpackBundleCache {
|
|
2
|
+
private cache;
|
|
3
|
+
private maxAge;
|
|
4
|
+
calculateKey(files: Record<string, string>, framework: string): Promise<string>;
|
|
5
|
+
get(key: string): string | null;
|
|
6
|
+
set(key: string, bundleCode: string, framework: string): void;
|
|
7
|
+
clear(): void;
|
|
8
|
+
getStats(): {
|
|
9
|
+
size: number;
|
|
10
|
+
entries: {
|
|
11
|
+
key: string;
|
|
12
|
+
framework: string;
|
|
13
|
+
age: number;
|
|
14
|
+
}[];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare const sandpackBundleCache: SandpackBundleCache;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=sandpack-bundle-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandpack-bundle-cache.d.ts","sourceRoot":"","sources":["../../src/performance/sandpack-bundle-cache.ts"],"names":[],"mappings":"AAmBA,cAAM,mBAAmB;IACxB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,MAAM,CAAkB;IAK1B,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYrF,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiB/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAa7D,KAAK,IAAI,IAAI;IAQb,QAAQ;;;;;;;;CAUR;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
class SandpackBundleCache {
|
|
2
|
+
cache = new Map();
|
|
3
|
+
maxAge = 60 * 60 * 1000;
|
|
4
|
+
async calculateKey(files, framework) {
|
|
5
|
+
const content = JSON.stringify({ files, framework });
|
|
6
|
+
const encoder = new TextEncoder();
|
|
7
|
+
const data = encoder.encode(content);
|
|
8
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', data);
|
|
9
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
10
|
+
return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
|
|
11
|
+
}
|
|
12
|
+
get(key) {
|
|
13
|
+
const entry = this.cache.get(key);
|
|
14
|
+
if (!entry)
|
|
15
|
+
return null;
|
|
16
|
+
if (Date.now() - entry.timestamp > this.maxAge) {
|
|
17
|
+
this.cache.delete(key);
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
console.log('🎯 Bundle Cache HIT:', key.substring(0, 16));
|
|
21
|
+
return entry.bundleCode;
|
|
22
|
+
}
|
|
23
|
+
set(key, bundleCode, framework) {
|
|
24
|
+
this.cache.set(key, {
|
|
25
|
+
bundleCode,
|
|
26
|
+
timestamp: Date.now(),
|
|
27
|
+
framework,
|
|
28
|
+
key,
|
|
29
|
+
});
|
|
30
|
+
console.log('💾 Bundle Cache SET:', key.substring(0, 16));
|
|
31
|
+
}
|
|
32
|
+
clear() {
|
|
33
|
+
this.cache.clear();
|
|
34
|
+
console.log('🗑️ Bundle Cache CLEARED');
|
|
35
|
+
}
|
|
36
|
+
getStats() {
|
|
37
|
+
return {
|
|
38
|
+
size: this.cache.size,
|
|
39
|
+
entries: Array.from(this.cache.entries()).map(([key, entry]) => ({
|
|
40
|
+
key: key.substring(0, 16),
|
|
41
|
+
framework: entry.framework,
|
|
42
|
+
age: Date.now() - entry.timestamp,
|
|
43
|
+
})),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const sandpackBundleCache = new SandpackBundleCache();
|
|
48
|
+
//# sourceMappingURL=sandpack-bundle-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandpack-bundle-cache.js","sourceRoot":"","sources":["../../src/performance/sandpack-bundle-cache.ts"],"names":[],"mappings":"AAmBA,MAAM,mBAAmB;IAChB,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC5C,MAAM,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAKhC,KAAK,CAAC,YAAY,CAAC,KAA6B,EAAE,SAAiB;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAKD,GAAG,CAAC,GAAW;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAGxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,UAAU,CAAC;IACzB,CAAC;IAKD,GAAG,CAAC,GAAW,EAAE,UAAkB,EAAE,SAAiB;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YACnB,UAAU;YACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS;YACT,GAAG;SACH,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAKD,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACzC,CAAC;IAKD,QAAQ;QACP,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;gBACzB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS;aACjC,CAAC,CAAC;SACH,CAAC;IACH,CAAC;CACD;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-config.d.ts","sourceRoot":"","sources":["../src/sandbox-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAkB1D,eAAO,MAAM,mBAAmB,EAAE,YAsUjC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|