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