ed0c0ed028
This adds some initial features for generating the ambient namespace files (the TS equivalent of .h files) for the C++ binding files. There are a few tests and it works on the sample code in tskit. I split the bindings/ folder into bindings/ and interface/ (for C++ and TS code, respectively). This can be tested locally by running make generate && make debug && make serve and verifying that everything compiles and runs in the browser. One thing I changed for easier parsing was making a @type annotation required, with an @optional tag for making a field or constant optional. Change-Id: If9c5a664e84fac4c734277cddd7774989a1f7bf8 Bug: skia:11826 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407476 Reviewed-by: Nathaniel Nifong <nifong@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
28 lines
625 B
Makefile
28 lines
625 B
Makefile
debug:
|
|
npx tsc
|
|
./compile.sh debug
|
|
rm -rf ./npm_build/bin
|
|
mkdir -p ./npm_build/bin
|
|
cp ../../out/tskit_debug/tskit.js ./npm_build/bin
|
|
cp ../../out/tskit_debug/tskit.wasm ./npm_build/bin
|
|
|
|
release:
|
|
npx tsc
|
|
./compile.sh
|
|
rm -rf ./npm_build/bin
|
|
mkdir -p ./npm_build/bin
|
|
cp ../../out/tskit/tskit.js ./npm_build/bin
|
|
cp ../../out/tskit/tskit.wasm ./npm_build/bin
|
|
|
|
serve:
|
|
echo "Go check out http://localhost:8000/npm_build/example.html"
|
|
python2 serve.py
|
|
|
|
lint:
|
|
npx eslint . --ext .ts
|
|
|
|
apply-lint:
|
|
npx eslint . --ext .ts --fix
|
|
|
|
generate:
|
|
go run ./go/gen_types --input_cpp_dir ./bindings --output_namespace_dir ./bindings
|