Skip to content

Commit 5cb2c22

Browse files
authored
chore: add CI and publishing via CI (#4)
1 parent d293d3d commit 5cb2c22

File tree

11 files changed

+91
-21
lines changed

11 files changed

+91
-21
lines changed

.github/workflows/ci.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: ci
2+
3+
on: [push, pull_request]
4+
5+
concurrency:
6+
group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}"
7+
cancel-in-progress: true
8+
9+
jobs:
10+
deno:
11+
if: |
12+
github.event_name == 'push' ||
13+
!startsWith(github.event.pull_request.head.label, 'denoland:')
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 30
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
with:
20+
submodules: true
21+
22+
- uses: denoland/setup-deno@v2
23+
with:
24+
deno-version: canary
25+
26+
- uses: Swatinem/rust-cache@v2
27+
with:
28+
workspaces: src/rs_lib
29+
30+
- name: build
31+
run: deno task wasmbuild
32+
33+
- name: fmt
34+
run: deno fmt --check
35+
36+
- name: lint
37+
run: deno lint
38+
39+
- name: check
40+
run: deno check --doc
41+
42+
- name: test
43+
run: deno test -A
44+
45+
jsr:
46+
runs-on: ubuntu-latest
47+
permissions:
48+
contents: read
49+
id-token: write
50+
steps:
51+
- uses: actions/checkout@v4
52+
with:
53+
submodules: true
54+
- uses: denoland/setup-deno@v2
55+
with:
56+
deno-version: canary
57+
- uses: Swatinem/rust-cache@v2
58+
with:
59+
workspaces: src/rs_lib
60+
- name: build
61+
run: deno task wasmbuild
62+
- name: Publish to JSR on tag
63+
run: deno run -A jsr:@david/publish-on-tag@0.2.0

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[submodule "deno"]
2+
path = deno
3+
url = https://github.com/denoland/deno
4+
shallow = true

Cargo.toml

Lines changed: 0 additions & 11 deletions
This file was deleted.

deno

Submodule deno added at 1a8e5ed

deno.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
{
22
"name": "@deno/loader",
3-
"version": "0.0.8",
43
"tasks": {
5-
"wasmbuild": "deno run -A jsr:@deno/wasmbuild@0.19.2 --out ./src/lib"
4+
"wasmbuild": "cd src/rs_lib && deno run -A jsr:@deno/wasmbuild@0.19.2 --out ../lib"
65
},
76
"publish": {
87
"exclude": [
@@ -12,7 +11,10 @@
1211
},
1312
"exports": "./src/mod.ts",
1413
"exclude": [
15-
"./target",
14+
".vscode",
15+
"deno",
16+
"src/rs_lib/target",
17+
"target",
1618
"tests/jsx/testdata"
1719
],
1820
"imports": {
File renamed without changes.
File renamed without changes.

src/rs_lib/Cargo.toml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,18 @@ deno_cache_dir = { version = "0.22.2", features = ["sync"] }
2121
deno_config = { version = "0.56.0", features = ["workspace", "sync"] }
2222
deno_error = "0.6.1"
2323
deno_graph = { version = "0.95.1", features = ["swc"], default-features = false }
24-
deno_npm_cache = { path = "../../../deno/resolvers/npm_cache" }
25-
deno_npm_installer = { path = "../../../deno/resolvers/npm_installer", default-features = false }
24+
deno_npm_cache = { path = "../../deno/resolvers/npm_cache" }
25+
deno_npm_installer = { path = "../../deno/resolvers/npm_installer", default-features = false }
2626
deno_path_util = "0.4.0"
27-
deno_resolver = { path = "../../../deno/resolvers/deno", features = ["deno_ast", "graph", "sync"] }
27+
deno_resolver = { path = "../../deno/resolvers/deno", features = ["deno_ast", "graph", "sync"] }
2828
deno_semver = "0.8.0"
2929
deno_unsync = { version = "0.4.4", default-features = false }
30-
node_resolver = { path = "../../../deno/resolvers/node", features = ["sync"] }
30+
node_resolver = { path = "../../deno/resolvers/node", features = ["sync"] }
3131
sys_traits = { version = "0.1.16", features = ["real", "wasm"] }
3232
url = "2.5.4"
33+
34+
[profile.release]
35+
codegen-units = 1
36+
incremental = true
37+
lto = true
38+
opt-level = "z"

src/rs_lib/lib.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use std::rc::Rc;
77
use std::sync::Arc;
88

99
use anyhow::bail;
10+
use deno_ast::EmitOptions;
1011
use deno_ast::ModuleKind;
1112
use deno_ast::TranspileModuleOptions;
1213
use deno_ast::TranspileOptions;
@@ -564,13 +565,17 @@ impl DenoLoader {
564565
} else {
565566
Cow::Borrowed(&transpile_and_emit_options.transpile)
566567
};
568+
let emit_options = EmitOptions {
569+
source_map_base: Some(self.workspace_factory.workspace_directory()?.workspace.root_dir().as_ref().clone()),
570+
..transpile_and_emit_options.emit.clone()
571+
};
567572
let transpiled_source = parsed_source
568573
.transpile(
569574
&transpile_options,
570575
&TranspileModuleOptions {
571576
module_kind: Some(ModuleKind::from_is_cjs(is_cjs)),
572577
},
573-
&transpile_and_emit_options.emit,
578+
&emit_options,
574579
)?
575580
.into_source()
576581
.text;

0 commit comments

Comments
 (0)