1
+ load ("@npm//:defs.bzl" , "npm_link_all_packages" )
2
+ load ("@aspect_rules_js//js:defs.bzl" , "js_library" )
3
+ load ("@aspect_rules_js//npm:defs.bzl" , "npm_package" )
4
+ load ("//build-tools:ts-bundle.bzl" , "ts_bundle" )
5
+
6
+ load ("@aspect_rules_esbuild//esbuild:defs.bzl" , "esbuild" )
7
+ load ("@aspect_rules_ts//ts:defs.bzl" , "ts_project" , "ts_config" )
8
+ load ("@bazel_skylib//rules:write_file.bzl" , "write_file" )
9
+
10
+ npm_link_all_packages (name = "node_modules" )
11
+
12
+ src_files = glob (["src/**/*.ts" ])
13
+
14
+ npm_package (
15
+ name = "package" ,
16
+ package = "autolinker" ,
17
+ srcs = [
18
+ ":library"
19
+ ] + src_files , # include the src files for source maps to reference
20
+ )
21
+
22
+ js_library (
23
+ name = "library" ,
24
+ deps = [
25
+ ":src_esm" ,
26
+ ":src_cjs" ,
27
+ ]
28
+ )
29
+
30
+ # Create ESM bundle
31
+ ts_bundle (
32
+ name = "src_esm" ,
33
+ entry_point = "src/index.ts" ,
34
+ root_dir = "src" ,
35
+ srcs = src_files ,
36
+ tsconfig_target = ":tsconfig" ,
37
+ tsconfig_file_path = "tsconfig.json" ,
38
+ out_js = "esm/index.mjs" ,
39
+ out_js_map = "esm/index.mjs.map" ,
40
+ out_dts = "esm/index.d.ts" ,
41
+ format = "esm" ,
42
+ target = "es2022" ,
43
+ platform = "node" ,
44
+ )
45
+
46
+ # Create CommonJS bundle
47
+ ts_bundle (
48
+ name = "src_cjs" ,
49
+ entry_point = "src/index.ts" ,
50
+ root_dir = "src" ,
51
+ srcs = src_files ,
52
+ tsconfig_target = ":tsconfig" ,
53
+ tsconfig_file_path = "tsconfig.json" ,
54
+ out_js = "cjs/index.js" ,
55
+ out_js_map = "cjs/index.js.map" ,
56
+ out_dts = "cjs/index.d.ts" ,
57
+ format = "cjs" ,
58
+ target = "es2022" ,
59
+ platform = "node" ,
60
+ )
61
+
62
+ ts_config (
63
+ name = "tsconfig" ,
64
+ src = "tsconfig.json" ,
65
+ visibility = [":__subpackages__" ],
66
+ )
0 commit comments