Skip to content

Commit d8a378b

Browse files
committed
feat: automatically set svelte compiler options
1 parent d44922c commit d8a378b

File tree

5 files changed

+33
-6
lines changed

5 files changed

+33
-6
lines changed

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
"@types/html-minifier": "^4.0.0",
3333
"@types/markdown-it": "^12.0.0",
3434
"@types/markdown-it-anchor": "^4.0.4",
35+
"@types/node": "^14.14.17",
3536
"@types/prettier": "^2.1.6",
3637
"@types/prismjs": "^1.16.2",
3738
"@types/rollup__plugin-virtual": "^2.0.1",
@@ -47,7 +48,11 @@
4748
},
4849
"homepage": "https://github.com/metonym/svelte-readme",
4950
"bugs": "https://github.com/metonym/svelte-readme/issues",
50-
"keywords": ["svelte", "svelte-component", "documentation"],
51+
"keywords": [
52+
"svelte",
53+
"svelte-component",
54+
"documentation"
55+
],
5156
"files": [
5257
"dist"
5358
],

src/createConfig.ts

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,25 @@ export default function createConfig(opts: Partial<CreateConfigOptions>): InputO
133133
const pkg = getPackageJSON();
134134
const hash = minify ? hashREADME() : "";
135135
const output_dir = opts.outDir || "dist";
136+
const svelte: Partial<RollupPluginSvelteOptions> = {
137+
compilerOptions: {
138+
dev: DEV,
139+
immutable: true,
140+
},
141+
extensions: [".svelte", ".md"],
142+
preprocess: [preprocessReadme({ ...pkg, prefixUrl: opts.prefixUrl })],
143+
};
144+
145+
if (opts.svelte?.compilerOptions) {
146+
svelte.compilerOptions = {
147+
...svelte.compilerOptions,
148+
...opts.svelte.compilerOptions,
149+
};
150+
}
151+
152+
if (opts.svelte?.extensions) {
153+
svelte.extensions = [...svelte.extensions!, ...opts.svelte.extensions];
154+
}
136155

137156
console.log(`[createConfig] Running in ${DEV ? "development" : "production"}`);
138157
console.log("[createConfig] options:");
@@ -193,11 +212,7 @@ export default function createConfig(opts: Partial<CreateConfigOptions>): InputO
193212
const app = new App({ target: document.body });
194213
export default app;`,
195214
}),
196-
rollupPluginSvelte({
197-
...(opts.svelte || {}),
198-
extensions: [".svelte", ".md"],
199-
preprocess: [preprocessReadme({ ...pkg, prefixUrl: opts.prefixUrl })],
200-
}),
215+
rollupPluginSvelte(svelte),
201216
resolve(),
202217
...(opts.plugins || []),
203218
minify && terser(),

src/preprocessReadme.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import "prism-svelte";
88
import isRelativeUrl from "is-relative-url";
99
import { PreprocessorGroup } from "svelte/types/compiler/preprocess";
1010
import { Node } from "estree-walker";
11+
import { URL } from "url";
1112

1213
const aliases: Record<string, string> = {
1314
sh: "bash",

tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"declaration": true,
44
"esModuleInterop": true,
55
"moduleResolution": "node",
6+
"lib": ["ESNext"],
67
"outDir": "dist",
78
"strict": true,
89
"skipLibCheck": true

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@
119119
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.9.tgz#04afc9a25c6ff93da14deabd65dc44485b53c8d6"
120120
integrity sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==
121121

122+
"@types/node@^14.14.17":
123+
version "14.14.17"
124+
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.17.tgz#29fab92f3986c0e379968ad3c2043683d8020dbb"
125+
integrity sha512-G0lD1/7qD60TJ/mZmhog76k7NcpLWkPVGgzkRy3CTlnFu4LUQh5v2Wa661z6vnXmD8EQrnALUyf0VRtrACYztw==
126+
122127
"@types/prettier@^2.1.6":
123128
version "2.1.6"
124129
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03"

0 commit comments

Comments
 (0)