Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions .github/workflows/lint-format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Lint and Format

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
lint:
runs-on: ubuntu-latest
name: Lint

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Zig
uses: openharmony-zig/[email protected]
with:
tag: '0.16.0'

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22

- name: Validate prek config
run: npm exec --yes --package @j178/prek -- prek validate-config prek.toml

- name: Check Zig syntax
run: |
set -euo pipefail
while IFS= read -r -d '' file; do
zig ast-check "$file"
done < <(git ls-files -z '*.zig')
while IFS= read -r -d '' file; do
zig ast-check --zon "$file"
done < <(git ls-files -z '*.zon')

- name: Build root package
run: zig build --summary all

format:
runs-on: ubuntu-latest
name: Format

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Zig
uses: openharmony-zig/[email protected]
with:
tag: '0.16.0'

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22

- name: Check formatting
run: |
set -euo pipefail
git ls-files -z '*.zig' '*.zon' | xargs -0 zig fmt
git ls-files -z '*.js' '*.jsx' '*.ts' '*.tsx' '*.ets' \
| xargs -0 npm exec --yes --package @ohos-rs/oxk -- oxk format
git diff --exit-code
7 changes: 4 additions & 3 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ pub fn build(b: *std.Build) !void {
const napi = b.addModule("napi", .{
.root_source_file = b.path("src/napi.zig"),
});
const build_options = b.addOptions();
build_options.addOption(bool, "napi_tsgen", false);
const build_options = b.addModule("build_options", .{
.root_source_file = b.path("src/build/options.zig"),
});

napi.addImport("napi-sys", napi_sys);
napi.addOptions("build_options", build_options);
napi.addImport("build_options", build_options);

napi.addIncludePath(b.path("src/sys/header"));
napi_sys.addIncludePath(b.path("src/sys/header"));
Expand Down
10 changes: 5 additions & 5 deletions examples/allocator-builtin/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* auto-generated by zig-addon */
/* eslint-disable */
export declare function allocator_kind(): string
export declare function manual_allocation_roundtrip(len: number): boolean
export declare function make_js_owned_buffer(len: number): Buffer
export declare function make_copied_buffer(): Buffer
export declare function input_sum(input: Buffer): number
export declare function allocator_kind(): string;
export declare function manual_allocation_roundtrip(len: number): boolean;
export declare function make_js_owned_buffer(len: number): Buffer;
export declare function make_copied_buffer(): Buffer;
export declare function input_sum(input: Buffer): number;
21 changes: 10 additions & 11 deletions examples/allocator-custom/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@
/* eslint-disable */

export interface Stats {
alloc_calls: number
free_calls: number
active_allocations: number
active_bytes: number
alloc_calls: number;
free_calls: number;
active_allocations: number;
active_bytes: number;
}


export declare function allocator_kind(): string
export declare function allocator_stats(): Stats
export declare function custom_allocation_roundtrip(len: number): boolean
export declare function make_js_owned_buffer(len: number): Buffer
export declare function make_copied_buffer(): Buffer
export declare function input_sum(input: Buffer): number
export declare function allocator_kind(): string;
export declare function allocator_stats(): Stats;
export declare function custom_allocation_roundtrip(len: number): boolean;
export declare function make_js_owned_buffer(len: number): Buffer;
export declare function make_copied_buffer(): Buffer;
export declare function input_sum(input: Buffer): number;
Loading
Loading