Skip to content

Commit a035461

Browse files
authored
build(stacks-utils): ensure correct module resolution in nodejs (#2177)
1 parent c8fb945 commit a035461

File tree

4 files changed

+31
-3
lines changed

4 files changed

+31
-3
lines changed

.changeset/breezy-sheep-exist.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@stackoverflow/stacks-utils": patch
3+
---
4+
5+
ensure correct module resolution in nodejs

packages/stacks-utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"!dist/**/*.test.*"
1717
],
1818
"scripts": {
19-
"build": "tsc",
19+
"build": "vite build && tsc --emitDeclarationOnly",
2020
"test": "vitest run",
2121
"test:watch": "vitest watch",
2222
"format": "prettier --write .",

packages/stacks-utils/src/DateTimeFormatter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import dayjs from "dayjs";
2-
import relativeTime from "dayjs/plugin/relativeTime";
3-
import updateLocale from "dayjs/plugin/updateLocale";
2+
import relativeTime from "dayjs/plugin/relativeTime.js";
3+
import updateLocale from "dayjs/plugin/updateLocale.js";
44

55
dayjs.extend(relativeTime);
66
dayjs.extend(updateLocale);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { defineConfig } from "vite";
2+
import pkg from "./package.json" with { type: "json" };
3+
4+
const external = Object.keys(pkg.dependencies ?? {});
5+
6+
export default defineConfig({
7+
build: {
8+
lib: {
9+
entry: "./src/index.ts",
10+
formats: ["es"],
11+
},
12+
minify: false,
13+
rollupOptions: {
14+
external: (id) =>
15+
external.some((dep) => id === dep || id.startsWith(`${dep}/`)),
16+
output: {
17+
preserveModules: true,
18+
preserveModulesRoot: "src",
19+
entryFileNames: "[name].js",
20+
},
21+
},
22+
},
23+
});

0 commit comments

Comments
 (0)