Root Swift package mirroring PureYAML's structure, rules, and verification gates. Includes the XML node model (Node, Element, Attribute, QualifiedName), a working emitter (Serializer) with escaping and pretty/compact options, and structural validation. The parser surface is stable; parse() raises notImplemented until the scanner lands, pinned by a test. - dependency-free, namespaced under PureXML - portability and style gates carried over (style, namespacing, forbidden patterns, swiftformat, swiftlint, linux, wasm, windows CI) - 11 tests passing
14 lines
432 B
Bash
Executable File
14 lines
432 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# pre-push hook: run the mechanical gates locally before a push reaches GitHub.
|
|
# These mirror the CI workflow (.github/workflows/ci.yml) so red is caught here
|
|
# first. PureXML is a root Swift package, so Swift gates run at repo root.
|
|
#
|
|
# Install (per repo): git config core.hooksPath .githooks
|
|
|
|
set -u
|
|
|
|
ROOT=$(git rev-parse --show-toplevel 2>/dev/null || echo .)
|
|
cd "$ROOT" || exit 1
|
|
|
|
bash scripts/check-all.sh
|