tangled
alpha
login
or
join now
anil.recoil.org
/
ocaml-html5rw
1
fork
atom
OCaml HTML5 parser/serialiser based on Python's JustHTML
1
fork
atom
overview
issues
pulls
pipelines
disable jsoo builds for now
anil.recoil.org
1 month ago
f28b8b93
ec81e385
0/1
build.yml
failed
3min 57s
+78
-125
3 changed files
expand all
collapse all
unified
split
dune-project
html5rw-js.opam
lib
js
dune
-14
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
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
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))))