tangled
alpha
login
or
join now
anil.recoil.org
/
monopam-myspace
0
fork
atom
My aggregated monorepo of OCaml code, automaintained
0
fork
atom
overview
issues
pulls
pipelines
disable jsoo builds for now
anil.recoil.org
1 month ago
c0d8fb4f
b201ac2b
+166
-250
8 changed files
expand all
collapse all
unified
split
ocaml-html5rw
dune-project
html5rw-js.opam
lib
js
dune
ocaml-jmap
lib
js
dune
web
dune
ocaml-langdetect
dune-project
langdetect-js.opam
lib
js
dune
-14
ocaml-html5rw/dune-project
···
31
(jsont (>= 0.2.0))
32
(cmdliner (>= 1.3.0))))
33
34
-
(package
35
-
(name html5rw-js)
36
-
(synopsis "Browser-based HTML5 parser via js_of_ocaml/wasm_of_ocaml")
37
-
(description
38
-
"JavaScript and WebAssembly builds of the html5rw HTML5 parser for browser use. \
39
-
Includes a main validator library, web worker for background validation, and \
40
-
browser-based test runner.")
41
-
(depends
42
-
(ocaml (>= 5.1.0))
43
-
(html5rw (= :version))
44
-
(js_of_ocaml (>= 5.0))
45
-
(js_of_ocaml-ppx (>= 5.0))
46
-
(wasm_of_ocaml-compiler (>= 5.0))
47
-
(brr (>= 0.0.6))))
···
31
(jsont (>= 0.2.0))
32
(cmdliner (>= 1.3.0))))
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
ocaml-html5rw/html5rw-js.opam
···
1
-
# This file is generated by dune, edit dune-project instead
2
-
opam-version: "2.0"
3
-
synopsis: "Browser-based HTML5 parser via js_of_ocaml/wasm_of_ocaml"
4
-
description:
5
-
"JavaScript and WebAssembly builds of the html5rw HTML5 parser for browser use. Includes a main validator library, web worker for background validation, and browser-based test runner."
6
-
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
7
-
authors: ["Anil Madhavapeddy <anil@recoil.org>"]
8
-
license: "MIT"
9
-
homepage: "https://tangled.org/anil.recoil.org/ocaml-html5rw"
10
-
bug-reports: "https://tangled.org/anil.recoil.org/ocaml-html5rw/issues"
11
-
depends: [
12
-
"dune" {>= "3.20"}
13
-
"ocaml" {>= "5.1.0"}
14
-
"html5rw" {= version}
15
-
"js_of_ocaml" {>= "5.0"}
16
-
"js_of_ocaml-ppx" {>= "5.0"}
17
-
"wasm_of_ocaml-compiler" {>= "5.0"}
18
-
"brr" {>= "0.0.6"}
19
-
"odoc" {with-doc}
20
-
]
21
-
build: [
22
-
["dune" "subst"] {dev}
23
-
[
24
-
"dune"
25
-
"build"
26
-
"-p"
27
-
name
28
-
"-j"
29
-
jobs
30
-
"@install"
31
-
"@runtest" {with-test}
32
-
"@doc" {with-doc}
33
-
]
34
-
]
35
-
x-maintenance-intent: ["(latest)"]
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
+78
-76
ocaml-html5rw/lib/js/dune
···
1
; HTML5rw JavaScript Validator Library
2
; Compiled with js_of_ocaml for browser use
0
0
3
4
-
(library
5
-
(name htmlrw_js)
6
-
(public_name html5rw.js)
7
-
(libraries
8
-
html5rw
9
-
htmlrw_check
10
-
bytesrw
11
-
brr)
12
-
(modes byte) ; js_of_ocaml requires bytecode
13
-
(modules
14
-
htmlrw_js_types
15
-
htmlrw_js_dom
16
-
htmlrw_js_annotate
17
-
htmlrw_js_ui
18
-
htmlrw_js))
19
20
; Standalone JavaScript file for direct browser use
21
; This compiles the library entry point to a .js file
22
-
(executable
23
-
(name htmlrw_js_main)
24
-
(libraries htmlrw_js)
25
-
(js_of_ocaml
26
-
(javascript_files))
27
-
(modes js wasm)
28
-
(modules htmlrw_js_main))
29
30
; Web Worker for background validation
31
; Runs validation in a separate thread to avoid blocking the UI
32
-
(executable
33
-
(name htmlrw_js_worker)
34
-
(libraries html5rw htmlrw_check bytesrw brr)
35
-
(js_of_ocaml
36
-
(javascript_files))
37
-
(modes js wasm)
38
-
(modules htmlrw_js_worker))
39
40
; Test runner for browser-based regression testing
41
; Runs html5lib conformance tests in the browser
42
-
(executable
43
-
(name htmlrw_js_tests_main)
44
-
(libraries html5rw bytesrw brr)
45
-
(js_of_ocaml
46
-
(javascript_files))
47
-
(modes js wasm)
48
-
(modules htmlrw_js_tests htmlrw_js_tests_main))
49
50
; Copy to nice filenames (JS)
51
-
(rule
52
-
(targets htmlrw.js)
53
-
(deps htmlrw_js_main.bc.js)
54
-
(action (copy %{deps} %{targets})))
55
56
-
(rule
57
-
(targets htmlrw-worker.js)
58
-
(deps htmlrw_js_worker.bc.js)
59
-
(action (copy %{deps} %{targets})))
60
61
-
(rule
62
-
(targets htmlrw-tests.js)
63
-
(deps htmlrw_js_tests_main.bc.js)
64
-
(action (copy %{deps} %{targets})))
65
66
; Copy to nice filenames (WASM)
67
; Note: requires wasm_of_ocaml-compiler to be installed
68
-
(rule
69
-
(targets htmlrw.wasm.js)
70
-
(deps htmlrw_js_main.bc.wasm.js)
71
-
(action (copy %{deps} %{targets})))
72
73
-
(rule
74
-
(targets htmlrw-worker.wasm.js)
75
-
(deps htmlrw_js_worker.bc.wasm.js)
76
-
(action (copy %{deps} %{targets})))
77
78
-
(rule
79
-
(targets htmlrw-tests.wasm.js)
80
-
(deps htmlrw_js_tests_main.bc.wasm.js)
81
-
(action (copy %{deps} %{targets})))
82
83
; Install web assets to share/html5rw-js/ for npm packaging
84
-
(install
85
-
(package html5rw-js)
86
-
(section share)
87
-
(files
88
-
; JavaScript bundles
89
-
htmlrw.js
90
-
htmlrw-worker.js
91
-
htmlrw-tests.js
92
-
; WASM loader scripts
93
-
htmlrw.wasm.js
94
-
htmlrw-worker.wasm.js
95
-
htmlrw-tests.wasm.js
96
-
; WASM assets (with content-hashed filenames)
97
-
(glob_files_rec (htmlrw_js_main.bc.wasm.assets/* with_prefix htmlrw_js_main.bc.wasm.assets))
98
-
(glob_files_rec (htmlrw_js_worker.bc.wasm.assets/* with_prefix htmlrw_js_worker.bc.wasm.assets))
99
-
(glob_files_rec (htmlrw_js_tests_main.bc.wasm.assets/* with_prefix htmlrw_js_tests_main.bc.wasm.assets))))
···
1
; HTML5rw JavaScript Validator Library
2
; Compiled with js_of_ocaml for browser use
3
+
;
4
+
; Build rules temporarily disabled - code kept in place
5
6
+
; (library
7
+
; (name htmlrw_js)
8
+
; (public_name html5rw.js)
9
+
; (libraries
10
+
; html5rw
11
+
; htmlrw_check
12
+
; bytesrw
13
+
; brr)
14
+
; (modes byte) ; js_of_ocaml requires bytecode
15
+
; (modules
16
+
; htmlrw_js_types
17
+
; htmlrw_js_dom
18
+
; htmlrw_js_annotate
19
+
; htmlrw_js_ui
20
+
; htmlrw_js))
21
22
; Standalone JavaScript file for direct browser use
23
; This compiles the library entry point to a .js file
24
+
; (executable
25
+
; (name htmlrw_js_main)
26
+
; (libraries htmlrw_js)
27
+
; (js_of_ocaml
28
+
; (javascript_files))
29
+
; (modes js wasm)
30
+
; (modules htmlrw_js_main))
31
32
; Web Worker for background validation
33
; Runs validation in a separate thread to avoid blocking the UI
34
+
; (executable
35
+
; (name htmlrw_js_worker)
36
+
; (libraries html5rw htmlrw_check bytesrw brr)
37
+
; (js_of_ocaml
38
+
; (javascript_files))
39
+
; (modes js wasm)
40
+
; (modules htmlrw_js_worker))
41
42
; Test runner for browser-based regression testing
43
; Runs html5lib conformance tests in the browser
44
+
; (executable
45
+
; (name htmlrw_js_tests_main)
46
+
; (libraries html5rw bytesrw brr)
47
+
; (js_of_ocaml
48
+
; (javascript_files))
49
+
; (modes js wasm)
50
+
; (modules htmlrw_js_tests htmlrw_js_tests_main))
51
52
; Copy to nice filenames (JS)
53
+
; (rule
54
+
; (targets htmlrw.js)
55
+
; (deps htmlrw_js_main.bc.js)
56
+
; (action (copy %{deps} %{targets})))
57
58
+
; (rule
59
+
; (targets htmlrw-worker.js)
60
+
; (deps htmlrw_js_worker.bc.js)
61
+
; (action (copy %{deps} %{targets})))
62
63
+
; (rule
64
+
; (targets htmlrw-tests.js)
65
+
; (deps htmlrw_js_tests_main.bc.js)
66
+
; (action (copy %{deps} %{targets})))
67
68
; Copy to nice filenames (WASM)
69
; Note: requires wasm_of_ocaml-compiler to be installed
70
+
; (rule
71
+
; (targets htmlrw.wasm.js)
72
+
; (deps htmlrw_js_main.bc.wasm.js)
73
+
; (action (copy %{deps} %{targets})))
74
75
+
; (rule
76
+
; (targets htmlrw-worker.wasm.js)
77
+
; (deps htmlrw_js_worker.bc.wasm.js)
78
+
; (action (copy %{deps} %{targets})))
79
80
+
; (rule
81
+
; (targets htmlrw-tests.wasm.js)
82
+
; (deps htmlrw_js_tests_main.bc.wasm.js)
83
+
; (action (copy %{deps} %{targets})))
84
85
; Install web assets to share/html5rw-js/ for npm packaging
86
+
; (install
87
+
; (package html5rw-js)
88
+
; (section share)
89
+
; (files
90
+
; ; JavaScript bundles
91
+
; htmlrw.js
92
+
; htmlrw-worker.js
93
+
; htmlrw-tests.js
94
+
; ; WASM loader scripts
95
+
; htmlrw.wasm.js
96
+
; htmlrw-worker.wasm.js
97
+
; htmlrw-tests.wasm.js
98
+
; ; WASM assets (with content-hashed filenames)
99
+
; (glob_files_rec (htmlrw_js_main.bc.wasm.assets/* with_prefix htmlrw_js_main.bc.wasm.assets))
100
+
; (glob_files_rec (htmlrw_js_worker.bc.wasm.assets/* with_prefix htmlrw_js_worker.bc.wasm.assets))
101
+
; (glob_files_rec (htmlrw_js_tests_main.bc.wasm.assets/* with_prefix htmlrw_js_tests_main.bc.wasm.assets))))
+11
-7
ocaml-jmap/lib/js/dune
···
1
-
(include_subdirs no)
0
0
2
3
-
(library
4
-
(name jmap_brr)
5
-
(public_name jmap.brr)
6
-
(optional)
7
-
(libraries jmap brr jsont.brr)
8
-
(modes byte))
0
0
···
1
+
; JMAP Browser Bindings Library
2
+
;
3
+
; Build rules temporarily disabled - code kept in place
4
5
+
; (include_subdirs no)
6
+
7
+
; (library
8
+
; (name jmap_brr)
9
+
; (public_name jmap.brr)
10
+
; (optional)
11
+
; (libraries jmap brr jsont.brr)
12
+
; (modes byte))
+17
-13
ocaml-jmap/web/dune
···
1
-
(executable
2
-
(name brr_app)
3
-
(libraries jmap_brr brr)
4
-
(modes js)
5
-
(flags (:standard -w -32-69))
6
-
(js_of_ocaml))
7
8
-
(rule
9
-
(targets brr.js)
10
-
(deps brr_app.bc.js)
11
-
(action (copy %{deps} %{targets})))
0
0
12
13
-
(alias
14
-
(name web)
15
-
(deps brr.js brr.html))
0
0
0
0
0
···
1
+
; JMAP Browser Demo Application
2
+
;
3
+
; Build rules temporarily disabled - code kept in place
0
0
0
4
5
+
; (executable
6
+
; (name brr_app)
7
+
; (libraries jmap_brr brr)
8
+
; (modes js)
9
+
; (flags (:standard -w -32-69))
10
+
; (js_of_ocaml))
11
12
+
; (rule
13
+
; (targets brr.js)
14
+
; (deps brr_app.bc.js)
15
+
; (action (copy %{deps} %{targets})))
16
+
17
+
; (alias
18
+
; (name web)
19
+
; (deps brr.js brr.html))
-13
ocaml-langdetect/dune-project
···
25
(odoc :with-doc)
26
(alcotest (and :with-test (>= 1.7.0)))))
27
28
-
(package
29
-
(name langdetect-js)
30
-
(synopsis "Language detection for browsers via js_of_ocaml/wasm_of_ocaml")
31
-
(description
32
-
"Browser-compatible language detection compiled with js_of_ocaml. \
33
-
Provides a JavaScript API for detecting languages in web applications. \
34
-
Supports both JS and WebAssembly output for optimal performance.")
35
-
(depends
36
-
(ocaml (>= 5.1.0))
37
-
(langdetect (= :version))
38
-
(brr (>= 0.0.6))
39
-
(js_of_ocaml (>= 6.0.0))
40
-
(js_of_ocaml-compiler (>= 6.0.0))))
···
25
(odoc :with-doc)
26
(alcotest (and :with-test (>= 1.7.0)))))
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
ocaml-langdetect/langdetect-js.opam
···
1
-
# This file is generated by dune, edit dune-project instead
2
-
opam-version: "2.0"
3
-
synopsis: "Language detection for browsers via js_of_ocaml/wasm_of_ocaml"
4
-
description:
5
-
"Browser-compatible language detection compiled with js_of_ocaml. Provides a JavaScript API for detecting languages in web applications. Supports both JS and WebAssembly output for optimal performance."
6
-
maintainer: ["Anil Madhavapeddy <anil@recoil.org>"]
7
-
authors: ["Anil Madhavapeddy"]
8
-
license: "MIT"
9
-
homepage: "https://tangled.org/anil.recoil.org/ocaml-langdetect"
10
-
bug-reports: "https://tangled.org/anil.recoil.org/ocaml-langdetect/issues"
11
-
depends: [
12
-
"dune" {>= "3.20"}
13
-
"ocaml" {>= "5.1.0"}
14
-
"langdetect" {= version}
15
-
"brr" {>= "0.0.6"}
16
-
"js_of_ocaml" {>= "6.0.0"}
17
-
"js_of_ocaml-compiler" {>= "6.0.0"}
18
-
"odoc" {with-doc}
19
-
]
20
-
build: [
21
-
["dune" "subst"] {dev}
22
-
[
23
-
"dune"
24
-
"build"
25
-
"-p"
26
-
name
27
-
"-j"
28
-
jobs
29
-
"@install"
30
-
"@runtest" {with-test}
31
-
"@doc" {with-doc}
32
-
]
33
-
]
34
-
x-maintenance-intent: ["(latest)"]
···
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
+60
-58
ocaml-langdetect/lib/js/dune
···
1
; Langdetect JavaScript Library
2
; Compiled with js_of_ocaml for browser use
0
0
3
4
-
(library
5
-
(name langdetect_js)
6
-
(public_name langdetect-js)
7
-
(libraries langdetect brr)
8
-
(modes byte) ; js_of_ocaml requires bytecode
9
-
(modules langdetect_js))
10
11
; Standalone JavaScript file for direct browser use
12
13
-
(executable
14
-
(name langdetect_js_main)
15
-
(libraries langdetect_js)
16
-
(js_of_ocaml (javascript_files))
17
-
(modes js wasm)
18
-
(modules langdetect_js_main))
19
20
; Browser-based test runner
21
22
-
(executable
23
-
(name langdetect_js_tests)
24
-
(libraries langdetect_js)
25
-
(js_of_ocaml (javascript_files))
26
-
(modes js wasm)
27
-
(modules langdetect_js_tests))
28
29
; Copy to nice filenames (JS)
30
31
-
(rule
32
-
(targets langdetect.js)
33
-
(deps langdetect_js_main.bc.js)
34
-
(action
35
-
(copy %{deps} %{targets})))
36
37
-
(rule
38
-
(targets langdetect-tests.js)
39
-
(deps langdetect_js_tests.bc.js)
40
-
(action
41
-
(copy %{deps} %{targets})))
42
43
; Copy to nice filenames (WASM)
44
; Note: requires wasm_of_ocaml-compiler to be installed
45
46
-
(rule
47
-
(targets langdetect.wasm.js)
48
-
(deps langdetect_js_main.bc.wasm.js)
49
-
(action
50
-
(copy %{deps} %{targets})))
51
52
-
(rule
53
-
(targets langdetect-tests.wasm.js)
54
-
(deps langdetect_js_tests.bc.wasm.js)
55
-
(action
56
-
(copy %{deps} %{targets})))
57
58
; Install web assets to share/langdetect-js/
59
; Includes HTML demo, JS files, WASM loaders, and WASM assets with source maps
60
61
-
(install
62
-
(package langdetect-js)
63
-
(section share)
64
-
(files
65
-
langdetect.html
66
-
; JS files (work standalone in browsers)
67
-
langdetect.js
68
-
langdetect-tests.js
69
-
; WASM loaders (in same dir so relative asset paths work)
70
-
langdetect_js_main.bc.wasm.js
71
-
langdetect_js_tests.bc.wasm.js
72
-
; WASM assets - must be in langdetect-js/ so relative paths from loaders work
73
-
(glob_files_rec
74
-
(langdetect_js_main.bc.wasm.assets/*
75
-
with_prefix
76
-
langdetect_js_main.bc.wasm.assets))
77
-
(glob_files_rec
78
-
(langdetect_js_tests.bc.wasm.assets/*
79
-
with_prefix
80
-
langdetect_js_tests.bc.wasm.assets))))
···
1
; Langdetect JavaScript Library
2
; Compiled with js_of_ocaml for browser use
3
+
;
4
+
; Build rules temporarily disabled - code kept in place
5
6
+
; (library
7
+
; (name langdetect_js)
8
+
; (public_name langdetect-js)
9
+
; (libraries langdetect brr)
10
+
; (modes byte) ; js_of_ocaml requires bytecode
11
+
; (modules langdetect_js))
12
13
; Standalone JavaScript file for direct browser use
14
15
+
; (executable
16
+
; (name langdetect_js_main)
17
+
; (libraries langdetect_js)
18
+
; (js_of_ocaml (javascript_files))
19
+
; (modes js wasm)
20
+
; (modules langdetect_js_main))
21
22
; Browser-based test runner
23
24
+
; (executable
25
+
; (name langdetect_js_tests)
26
+
; (libraries langdetect_js)
27
+
; (js_of_ocaml (javascript_files))
28
+
; (modes js wasm)
29
+
; (modules langdetect_js_tests))
30
31
; Copy to nice filenames (JS)
32
33
+
; (rule
34
+
; (targets langdetect.js)
35
+
; (deps langdetect_js_main.bc.js)
36
+
; (action
37
+
; (copy %{deps} %{targets})))
38
39
+
; (rule
40
+
; (targets langdetect-tests.js)
41
+
; (deps langdetect_js_tests.bc.js)
42
+
; (action
43
+
; (copy %{deps} %{targets})))
44
45
; Copy to nice filenames (WASM)
46
; Note: requires wasm_of_ocaml-compiler to be installed
47
48
+
; (rule
49
+
; (targets langdetect.wasm.js)
50
+
; (deps langdetect_js_main.bc.wasm.js)
51
+
; (action
52
+
; (copy %{deps} %{targets})))
53
54
+
; (rule
55
+
; (targets langdetect-tests.wasm.js)
56
+
; (deps langdetect_js_tests.bc.wasm.js)
57
+
; (action
58
+
; (copy %{deps} %{targets})))
59
60
; Install web assets to share/langdetect-js/
61
; Includes HTML demo, JS files, WASM loaders, and WASM assets with source maps
62
63
+
; (install
64
+
; (package langdetect-js)
65
+
; (section share)
66
+
; (files
67
+
; langdetect.html
68
+
; ; JS files (work standalone in browsers)
69
+
; langdetect.js
70
+
; langdetect-tests.js
71
+
; ; WASM loaders (in same dir so relative asset paths work)
72
+
; langdetect_js_main.bc.wasm.js
73
+
; langdetect_js_tests.bc.wasm.js
74
+
; ; WASM assets - must be in langdetect-js/ so relative paths from loaders work
75
+
; (glob_files_rec
76
+
; (langdetect_js_main.bc.wasm.assets/*
77
+
; with_prefix
78
+
; langdetect_js_main.bc.wasm.assets))
79
+
; (glob_files_rec
80
+
; (langdetect_js_tests.bc.wasm.assets/*
81
+
; with_prefix
82
+
; langdetect_js_tests.bc.wasm.assets))))