Skip to content

Commit 752fbde

Browse files
committed
fix: πŸ› use ts import transformer when transpileOnly:true
βœ… Closes: #91
1 parent 951d359 commit 752fbde

File tree

5 files changed

+60
-29
lines changed

5 files changed

+60
-29
lines changed

Diff for: β€Žpackage-lock.json

+30-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: β€Žpackage.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"test": "jest --no-cache",
3131
"test:watch": "jest --no-cache --watchAll",
3232
"lint": "eslint **/*.ts",
33-
"format": "prettier --loglevel silent --write \"src/**/*.js\" && eslint --fix \"src/**/*.js\"",
33+
"format": "prettier --loglevel silent --write \"src/**/*.ts\" && eslint --fix \"src/**/*.ts\"",
3434
"postinstall": "node -e \"console.log('\\u001b[36m\\u001b[1m[svelte-preprocess] Don\\'t forget to install the preprocessors packages that will be used: \\u001b[22m\\u001b[39m\\u001b[34mnode-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc...\\u001b[0m')\"",
3535
"version": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md",
3636
"tag": "git tag -a v$npm_package_version -m 'Release v$npm_package_version'",

Diff for: β€Žsrc/transformers/stylus.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import path from 'path'
1+
import path from 'path';
22
import stylus from 'stylus';
33

44
import { getIncludePaths } from '../utils';
@@ -28,7 +28,9 @@ const transformer: Transformer<Options.Stylus> = ({
2828
code: css,
2929
map: (style as any).sourcemap,
3030
// .map() necessary for windows compatibility
31-
dependencies: style.deps(filename).map((filePath: string) => path.resolve(filePath)),
31+
dependencies: style
32+
.deps(filename)
33+
.map((filePath: string) => path.resolve(filePath)),
3234
});
3335
});
3436
});

Diff for: β€Žsrc/transformers/typescript.ts

+25-14
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ const importTransformer: ts.TransformerFactory<ts.SourceFile> = context => {
7979
return node => ts.visitNode(node, visit);
8080
};
8181

82+
const TS_TRANSFORMERS = {
83+
before: [importTransformer],
84+
};
85+
8286
function compileFileFromMemory(
8387
compilerOptions: CompilerOptions,
8488
{ filename, content }: { filename: string; content: string },
@@ -89,16 +93,18 @@ function compileFileFromMemory(
8993
const realHost = ts.createCompilerHost(compilerOptions, true);
9094
const dummyFileName = ts.sys.resolvePath(filename);
9195

92-
const isDummyFile = (fileName: string) => ts.sys.resolvePath(fileName) === dummyFileName
96+
const isDummyFile = (fileName: string) =>
97+
ts.sys.resolvePath(fileName) === dummyFileName;
9398

9499
const host: ts.CompilerHost = {
95100
fileExists: fileName =>
96101
isDummyFile(fileName) || realHost.fileExists(fileName),
97-
getCanonicalFileName: fileName => isDummyFile(fileName)
98-
? ts.sys.useCaseSensitiveFileNames
99-
? fileName
100-
: fileName.toLowerCase()
101-
: realHost.getCanonicalFileName(fileName),
102+
getCanonicalFileName: fileName =>
103+
isDummyFile(fileName)
104+
? ts.sys.useCaseSensitiveFileNames
105+
? fileName
106+
: fileName.toLowerCase()
107+
: realHost.getCanonicalFileName(fileName),
102108
getSourceFile: (
103109
fileName,
104110
languageVersion,
@@ -108,11 +114,11 @@ function compileFileFromMemory(
108114
isDummyFile(fileName)
109115
? ts.createSourceFile(dummyFileName, code, languageVersion)
110116
: realHost.getSourceFile(
111-
fileName,
112-
languageVersion,
113-
onError,
114-
shouldCreateNewSourceFile,
115-
),
117+
fileName,
118+
languageVersion,
119+
onError,
120+
shouldCreateNewSourceFile,
121+
),
116122
readFile: fileName =>
117123
isDummyFile(fileName) ? content : realHost.readFile(fileName),
118124
writeFile: (fileName, data) => {
@@ -136,9 +142,13 @@ function compileFileFromMemory(
136142
};
137143

138144
const program = ts.createProgram([dummyFileName], compilerOptions, host);
139-
const emitResult = program.emit(undefined, undefined, undefined, undefined, {
140-
before: [importTransformer],
141-
});
145+
const emitResult = program.emit(
146+
undefined,
147+
undefined,
148+
undefined,
149+
undefined,
150+
TS_TRANSFORMERS,
151+
);
142152

143153
// collect diagnostics without svelte import errors
144154
const diagnostics = [
@@ -216,6 +226,7 @@ const transformer: Transformer<Options.Typescript> = ({
216226
fileName: filename,
217227
compilerOptions: compilerOptions,
218228
reportDiagnostics: options.reportDiagnostics !== false,
229+
transformers: TS_TRANSFORMERS,
219230
},
220231
));
221232
} else {

Diff for: β€Žsrc/typings/modules.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,3 @@ declare module 'coffeescript';
33
declare module 'strip-indent';
44
declare module 'postcss-load-config';
55
declare module 'less';
6-

0 commit comments

Comments
Β (0)