This repository was archived by the owner on Dec 7, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsvelte.config.js
More file actions
83 lines (73 loc) · 2.78 KB
/
svelte.config.js
File metadata and controls
83 lines (73 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
const sass = require('node-sass')
const { preprocess, createEnv, readConfigFile } = require('@pyoner/svelte-ts-preprocess')
// const stylus = require('stylus')
const env = createEnv()
const compilerOptions = readConfigFile(env)
const opts = {
env,
compilerOptions: {
...compilerOptions,
allowNonTsExtensions: true
},
hideErrors: true
}
// Needed for the svelte-vscode extension
module.exports = {
preprocess: {
style: ({ content, attributes, filename }) => {
if (attributes.type !== 'text/scss' && attributes.lang !== 'scss') return
// // Needed because svelte indents the style content
// content = content.replace(/^ /gm, '')
return new Promise((resolve, reject) => {
sass.render(
{
file: filename,
data: content,
includePaths: ['src', 'node_modules'],
sourceMap: true,
// indentedSyntax: true,
// indentWidth: 4,
outFile: filename + '.css'
},
(err, result) => {
if (err) return reject(err)
resolve({
code: result.css.toString(),
map: JSON.parse(result.map.toString()),
dependencies: result.stats.includedFiles
})
}
)
})
// if (attributes.lang !== 'stylus') return
// return new Promise((resolve, reject) => {
// const style = stylus(content, {
// filename,
// sourcemap: true
// })
// style.render((err, css) => {
// if (err) reject(err)
// resolve({ code: css, /*dependencies: style.deps(),*/ map: style.sourcemap })
// })
// })
},
script: preprocess(opts).script
// script: ({ content, attributes, filename }) => {
// if (attributes.lang !== 'typescript') return
// return new Promise((resolve, reject) => {
// try {
// const result = sucrase.transform(content, {
// transforms: ['typescript'],
// filePath: filename,
// sourceMapOptions: {
// compiledFilename: filename
// }
// })
// resolve({ code: result.code, map: result.sourceMap })
// } catch (e) {
// reject(e)
// }
// })
// }
}
}