wtfgif 1.2.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.
- package/BENCHMARKS.md +185 -0
- package/CHANGELOG.md +54 -0
- package/CONTRIBUTING.md +27 -0
- package/LICENSE +21 -0
- package/README.md +166 -0
- package/dist/compiled.d.ts +77 -0
- package/dist/constants/gif.d.ts +17 -0
- package/dist/decoder/pool.d.ts +2 -0
- package/dist/decoder/reader.d.ts +80 -0
- package/dist/encoder/writer.d.ts +59 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/native/oneOff.d.ts +1 -0
- package/dist/native/runtime.d.ts +27 -0
- package/dist/types.d.ts +171 -0
- package/dist/utils/netscape.d.ts +16 -0
- package/dist/utils/palette.d.ts +4 -0
- package/dist/utils/subblocks.d.ts +4 -0
- package/dist/wasm/coreBackend.d.ts +2 -0
- package/dist/wasm/runtime.d.ts +24 -0
- package/dist/wasm-core/package.json +3 -0
- package/dist/wasm-core/wtfgif_core.d.ts +81 -0
- package/dist/wasm-core/wtfgif_core.js +1326 -0
- package/dist/wasm-core/wtfgif_core_bg.wasm +0 -0
- package/dist/wasm-core/wtfgif_core_bg.wasm.d.ts +51 -0
- package/dist/wasm-web/package.json +3 -0
- package/dist/wasm-web/wtfgif_core.d.ts +157 -0
- package/dist/wasm-web/wtfgif_core.js +1392 -0
- package/dist/wasm-web/wtfgif_core_bg.wasm +0 -0
- package/dist/wasm-web/wtfgif_core_bg.wasm.d.ts +51 -0
- package/package.json +125 -0
|
Binary file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
export const memory: WebAssembly.Memory;
|
|
4
|
+
export const __wbg_wtfgifcore_free: (a: number, b: number) => void;
|
|
5
|
+
export const core_version: (a: number) => void;
|
|
6
|
+
export const parse_metadata_json: (a: number, b: number, c: number) => void;
|
|
7
|
+
export const decode_frame_indices: (a: number, b: number, c: number, d: number) => void;
|
|
8
|
+
export const decode_frame_rgba: (a: number, b: number, c: number, d: number) => void;
|
|
9
|
+
export const decode_frame_bgra: (a: number, b: number, c: number, d: number) => void;
|
|
10
|
+
export const decode_all_rgba: (a: number, b: number, c: number) => void;
|
|
11
|
+
export const reencode_gif_pixel_perfect: (a: number, b: number, c: number) => void;
|
|
12
|
+
export const remux_gif_pixel_perfect: (a: number, b: number, c: number) => void;
|
|
13
|
+
export const prepare_reencode_hot_path: (a: number) => void;
|
|
14
|
+
export const reencode_hot_path_primer: (a: number, b: number, c: number) => void;
|
|
15
|
+
export const remux_hot_path_primer: (a: number) => void;
|
|
16
|
+
export const prepare_composited_rgba: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
17
|
+
export const prepare_composited_bgra: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
18
|
+
export const prepare_composited_delta_rgba: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
19
|
+
export const prepare_composited_delta_bgra: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
20
|
+
export const encode_indexed_lzw: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
21
|
+
export const encode_indexed_gif: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
22
|
+
export const encode_indexed_literal_gif: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
23
|
+
export const encode_indexed_literal_gif_with_delays: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
|
|
24
|
+
export const encode_indexed_gif_with_delays: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
|
|
25
|
+
export const encode_indexed_delta_gif: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
26
|
+
export const encode_indexed_delta_gif_with_delays: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
|
|
27
|
+
export const encode_indexed_literal_delta_gif: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
28
|
+
export const encode_indexed_literal_delta_gif_with_delays: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
|
|
29
|
+
export const encode_rgba_gif: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
|
|
30
|
+
export const encode_rgba_literal_gif: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
31
|
+
export const encode_rgba_literal_gif_with_options: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => void;
|
|
32
|
+
export const encode_rgba_literal_delta_gif: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
33
|
+
export const encode_rgba_literal_delta_gif_with_options: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => void;
|
|
34
|
+
export const encode_rgba_gif_with_options: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void;
|
|
35
|
+
export const wtfgifcore_new: (a: number, b: number, c: number) => void;
|
|
36
|
+
export const wtfgifcore_width: (a: number) => number;
|
|
37
|
+
export const wtfgifcore_height: (a: number) => number;
|
|
38
|
+
export const wtfgifcore_frame_count: (a: number) => number;
|
|
39
|
+
export const wtfgifcore_metadata_json: (a: number, b: number) => void;
|
|
40
|
+
export const wtfgifcore_decode_frame_indices: (a: number, b: number, c: number) => void;
|
|
41
|
+
export const wtfgifcore_decode_frame_rgba: (a: number, b: number, c: number) => void;
|
|
42
|
+
export const wtfgifcore_decode_frame_bgra: (a: number, b: number, c: number) => void;
|
|
43
|
+
export const wtfgifcore_decode_all_rgba: (a: number, b: number) => void;
|
|
44
|
+
export const wtfgifcore_reencode_gif_pixel_perfect: (a: number, b: number) => void;
|
|
45
|
+
export const wtfgifcore_prepare_composited_rgba: (a: number, b: number, c: number, d: number) => void;
|
|
46
|
+
export const wtfgifcore_prepare_composited_bgra: (a: number, b: number, c: number, d: number) => void;
|
|
47
|
+
export const wtfgifcore_prepare_composited_delta_rgba: (a: number, b: number, c: number, d: number) => void;
|
|
48
|
+
export const wtfgifcore_prepare_composited_delta_bgra: (a: number, b: number, c: number, d: number) => void;
|
|
49
|
+
export const __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
50
|
+
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
51
|
+
export const __wbindgen_malloc: (a: number, b: number) => number;
|
package/package.json
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "wtfgif",
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"main": "dist/index.cjs",
|
|
5
|
+
"module": "dist/index.mjs",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": "^20.16.0 || >=22.3.0"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"BENCHMARKS.md",
|
|
13
|
+
"CHANGELOG.md",
|
|
14
|
+
"CONTRIBUTING.md"
|
|
15
|
+
],
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"./dist/index.cjs",
|
|
18
|
+
"./dist/index.mjs"
|
|
19
|
+
],
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"import": "./dist/index.mjs",
|
|
24
|
+
"require": "./dist/index.cjs"
|
|
25
|
+
},
|
|
26
|
+
"./wasm-core": {
|
|
27
|
+
"types": "./dist/wasm-core/wtfgif_core.d.ts",
|
|
28
|
+
"browser": {
|
|
29
|
+
"types": "./dist/wasm-web/wtfgif_core.d.ts",
|
|
30
|
+
"import": "./dist/wasm-web/wtfgif_core.js",
|
|
31
|
+
"default": "./dist/wasm-web/wtfgif_core.js"
|
|
32
|
+
},
|
|
33
|
+
"node": {
|
|
34
|
+
"types": "./dist/wasm-core/wtfgif_core.d.ts",
|
|
35
|
+
"import": "./dist/wasm-core/wtfgif_core.js",
|
|
36
|
+
"require": "./dist/wasm-core/wtfgif_core.js"
|
|
37
|
+
},
|
|
38
|
+
"import": "./dist/wasm-web/wtfgif_core.js",
|
|
39
|
+
"require": "./dist/wasm-core/wtfgif_core.js",
|
|
40
|
+
"default": "./dist/wasm-web/wtfgif_core.js"
|
|
41
|
+
},
|
|
42
|
+
"./wasm-core/wasm": {
|
|
43
|
+
"browser": "./dist/wasm-web/wtfgif_core_bg.wasm",
|
|
44
|
+
"node": "./dist/wasm-core/wtfgif_core_bg.wasm",
|
|
45
|
+
"default": "./dist/wasm-web/wtfgif_core_bg.wasm"
|
|
46
|
+
},
|
|
47
|
+
"./wasm-web": {
|
|
48
|
+
"types": "./dist/wasm-web/wtfgif_core.d.ts",
|
|
49
|
+
"import": "./dist/wasm-web/wtfgif_core.js",
|
|
50
|
+
"default": "./dist/wasm-web/wtfgif_core.js"
|
|
51
|
+
},
|
|
52
|
+
"./wasm-web/wasm": "./dist/wasm-web/wtfgif_core_bg.wasm"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsup && tsc -p tsconfig.build.json --emitDeclarationOnly && node scripts/copy-wasm-core.mjs",
|
|
56
|
+
"build:site": "npm run build && node scripts/build-site.mjs",
|
|
57
|
+
"build:wasm": "npm run build:wasm:node && npm run build:wasm:web",
|
|
58
|
+
"build:wasm:node": "wasm-pack build crates/wtfgif-core --target nodejs --out-dir pkg --release",
|
|
59
|
+
"build:wasm:web": "wasm-pack build crates/wtfgif-core --target web --out-dir pkg-web --release",
|
|
60
|
+
"typecheck": "tsc -p tsconfig.build.json --noEmit && tsc -p tsconfig.test.json --noEmit",
|
|
61
|
+
"test": "vitest run --coverage",
|
|
62
|
+
"test:wasm-core": "cargo test --manifest-path crates/wtfgif-core/Cargo.toml && npm run validate:wasm-core && vitest run test/wasm-core-backend.test.ts",
|
|
63
|
+
"test:package": "node scripts/validate-package.mjs",
|
|
64
|
+
"validate:edge": "node scripts/validate-edge-runtime.mjs",
|
|
65
|
+
"test:edge": "npm run build:wasm && npm run build && npm run validate:edge",
|
|
66
|
+
"audit": "npm audit --audit-level=moderate",
|
|
67
|
+
"lint": "biome lint .",
|
|
68
|
+
"validate:wasm-core": "npm run build:wasm && node scripts/validate-wasm-core.mjs",
|
|
69
|
+
"bench": "npm run build && npm run build:native:prototype && node scripts/bench-cold.mjs",
|
|
70
|
+
"bench:in-process": "npm run build && npm run build:native:prototype && node scripts/bench.mjs",
|
|
71
|
+
"bench:makeemoji-retime": "npm run build && node scripts/bench-makeemoji-retime.mjs",
|
|
72
|
+
"build:native:prototype": "node scripts/build-native-prototype.mjs",
|
|
73
|
+
"bench:native:prototype": "npm run build && npm run build:native:prototype && node scripts/bench-native-prototype.mjs",
|
|
74
|
+
"check": "npm run lint && npm run typecheck && npm run audit && npm run build:wasm && npm test && npm run build && npm run validate:edge && npm run test:package && npm pack --dry-run",
|
|
75
|
+
"prepublishOnly": "npm run check",
|
|
76
|
+
"prepack": "npm run build:wasm",
|
|
77
|
+
"prepare": "npm run build"
|
|
78
|
+
},
|
|
79
|
+
"publishConfig": {
|
|
80
|
+
"access": "public"
|
|
81
|
+
},
|
|
82
|
+
"repository": {
|
|
83
|
+
"type": "git",
|
|
84
|
+
"url": "git+https://github.com/mpopv/wtfgif.git"
|
|
85
|
+
},
|
|
86
|
+
"keywords": [
|
|
87
|
+
"gif",
|
|
88
|
+
"wtfgif",
|
|
89
|
+
"omggif",
|
|
90
|
+
"encoder",
|
|
91
|
+
"decoder",
|
|
92
|
+
"performance",
|
|
93
|
+
"compression",
|
|
94
|
+
"performant",
|
|
95
|
+
"fast",
|
|
96
|
+
"optimized",
|
|
97
|
+
"drop-in",
|
|
98
|
+
"replacement",
|
|
99
|
+
"typescript",
|
|
100
|
+
"javascript",
|
|
101
|
+
"node",
|
|
102
|
+
"browser"
|
|
103
|
+
],
|
|
104
|
+
"author": "Matt Popovich",
|
|
105
|
+
"license": "MIT",
|
|
106
|
+
"bugs": {
|
|
107
|
+
"url": "https://github.com/mpopv/wtfgif/issues"
|
|
108
|
+
},
|
|
109
|
+
"homepage": "https://github.com/mpopv/wtfgif#readme",
|
|
110
|
+
"description": "A fast, TypeScript-ready drop-in replacement for omggif with portable JavaScript and WebAssembly backends.",
|
|
111
|
+
"devDependencies": {
|
|
112
|
+
"@biomejs/biome": "^2.2.0",
|
|
113
|
+
"@edge-runtime/vm": "^5.0.0",
|
|
114
|
+
"@types/node": "^24.2.1",
|
|
115
|
+
"@types/omggif": "^1.0.5",
|
|
116
|
+
"@vitest/coverage-v8": "^3.2.7",
|
|
117
|
+
"esbuild": "0.27.2",
|
|
118
|
+
"image-q": "2.1.2",
|
|
119
|
+
"omggif": "^1.0.10",
|
|
120
|
+
"tsup": "^8.5.0",
|
|
121
|
+
"typescript": "^5.9.2",
|
|
122
|
+
"vite": "^6.4.3",
|
|
123
|
+
"vitest": "^3.2.7"
|
|
124
|
+
}
|
|
125
|
+
}
|