1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# The Rust port of @tabnas/css. ts/ is canonical; this module tracks it.
#
# `version` MUST equal ts/package.json "version" and the VERSION constants in
# ts/src/css.ts and go/css.go — tests/version.rs fails the build if it drifts.
[]
= "tabnas-css"
= "0.5.16"
= "2021"
# The engine's own floor (parser rs/Cargo.toml): this crate is a plugin on
# it, so it can promise no older compiler than the engine does.
= "1.85"
= "MIT"
= "Parse CSS into a reworkcss-style abstract syntax tree."
= "https://github.com/tabnas/css"
= "https://github.com/tabnas/css"
= "https://docs.rs/tabnas-css"
= "README.md"
= ["css", "stylesheet", "parser", "ast", "tabnas"]
= ["parser-implementations", "web-programming"]
# `doc/` ships because the `#[cfg(doctest)]` module in src/lib.rs includes
# those pages, so a crate without them is one whose own doctests cannot
# build, and `translate/` because `translate()` in src/lib.rs includes the
# crate's copies of the manifest and the render. `tests/` does NOT ship:
# every integration test reads something from the repository (the shared
# test/spec fixtures, css-grammar.jsonic, ts/package.json), none of which
# can be included from outside rs/, so shipping them would leave
# `cargo test` on the unpacked crate failing on a missing repository root.
= ["src/**", "examples/**", "doc/**", "translate/**", "README.md", "LICENSE"]
[]
= "tabnas_css"
= "src/lib.rs"
[]
# The engine and the relaxed-JSON grammar this plugin layers on, as the
# TypeScript and Go ports do, consumed as SIBLING CHECKOUTS, the standard
# tabnas development model: clone https://github.com/tabnas/parser,
# https://github.com/tabnas/json and https://github.com/tabnas/jsonic next
# to this repo. tabnas-json is not named here: tabnas-jsonic takes it by
# path itself, which is the only reason its checkout is needed.
= { = "0.12.11", = "tabnas-parser" }
= { = "0.7.9" }
[]
# The introspection plugin, for tests/debug_model.rs: the Rust half of
# ts/test/debug-model.test.ts, which proves the grammar composes with it
# and reads the same structured model. Tests only, and a sibling checkout
# like the rest: clone https://github.com/tabnas/debug.
# The engine checks its whole rule stack against a shadow copy on every
# step when debug assertions are on: its own self-test, and quadratic in
# nesting depth. Measured on this grammar in a debug build, 1,000 nested
# rules took 8.3 s, 2,000 took 32.9 s and 4,000 took 134 s; with the check
# off, 20,000 take 1 to 3 s. `cargo test` runs the 20,000-level tests, so
# the check stays off here. A profile applies only to the root package: a
# crate that depends on this one sets the same key in its own manifest
# (README.md, "Untrusted input").
[]
= false