Package Exports
- libxmljs
- libxmljs/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (libxmljs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
libxmljs
npm install libxmljs
NodeJS bindings for libxml2 written in Typescript
Documentation
https://libxmljs.github.io/libxmljs/
Examples
For more examples, check out the test suite.
import libxmljs from "libxmljs";
libxmljs
.parseXmlAsync(
`
<?xml version="1.0" encoding="UTF-8"?>
<root>
<child foo="bar">
<grandchild baz="fizbuzz">grandchild content</grandchild>
</child>
<sibling>with content!</sibling>
</root>
`
)
.then((xmlDoc) => {
const gchild = xmlDoc.find("//grandchild")[0];
console.log(gchild.text()); // prints "grandchild content"
const child = xmlDoc.root()?.child(0);
console.log(child?.getAttribute("foo")?.value()); // prints "bar"
});
Package Scripts
npm run init-submodules
Clones libxml2 source code to
vendor/libxml2
npm run configure
Generate new cmake config headers with cmake in vendor/libxml2.config. Used when updating to a new libxml2 version.
npm run build
Build the C++ source code using node-gyp
npm run swig
Generate a new
src/libxml2.cc
andswig.xml
file by processing the native code using SWIG. Used when making changes to native code or any of the SWIG interface files (src/*.i)
npm run tsgenerate
Generates typescript definitons for native bindings exports. Used when changes are made to native exports. Auto-generates
constants.ts
,functions.ts
,types.ts
, andvariables.ts
withinlib/bindings/
npm run tsc
Compiles Typescript within
lib/
and outputs it todist/
Usenpm run dev
to put Typescript compiler into watch mode.
npm run test
Runs all tests in
test/
using nodeunit. Usenpm run test -- -t TEST_NAME
to run a specific test.
npm run docs
Generates
docs/
using Typedoc