[build] add typescript compiler (#2697)

This commit is contained in:
neverland
2019-02-07 10:43:36 +08:00
committed by GitHub
parent 3e0ac872c8
commit 0fb1083b68
11 changed files with 85 additions and 16 deletions
+6 -4
View File
@@ -14,9 +14,10 @@ const babelConfig = {
configFile: path.join(__dirname, '../babel.config.js')
};
const scriptRegExp = /\.(js|ts|tsx)$/;
const isDir = dir => fs.lstatSync(dir).isDirectory();
const isJs = path => /\.js$/.test(path);
const isCode = path => !/(demo|test|\.md)$/.test(path);
const isScript = path => scriptRegExp.test(path);
function compile(dir) {
const files = fs.readdirSync(dir);
@@ -34,10 +35,11 @@ function compile(dir) {
return compile(filePath);
}
// compile js
if (isJs(file)) {
// compile js or ts
if (isScript(file)) {
const { code } = babel.transformFileSync(filePath, babelConfig);
fs.outputFileSync(filePath, code);
fs.removeSync(filePath);
fs.outputFileSync(filePath.replace(scriptRegExp, '.js'), code);
}
});
}
+2 -2
View File
@@ -30,7 +30,7 @@ module.exports = {
}
},
resolve: {
extensions: ['.js', '.vue', '.css'],
extensions: ['.js', '.ts', '.tsx', '.vue', '.css'],
alias: {
packages: path.join(__dirname, '../packages')
}
@@ -51,7 +51,7 @@ module.exports = {
]
},
{
test: /\.js$/,
test: /\.(js|ts|tsx)$/,
exclude: /node_modules/,
use: 'babel-loader'
},