pika-plugin-build-web-babel
Advanced tools
Comparing version 0.7.10 to 0.8.0
{ | ||
"name": "pika-plugin-build-web-babel", | ||
"description": "A @pika/pack plugin: Adds an babel compiled ESM distribution to your package", | ||
"version": "0.7.10", | ||
"version": "0.8.0", | ||
"files": [ | ||
@@ -15,3 +15,4 @@ "src/" | ||
"rollup": "^1.1.0", | ||
"rollup-plugin-babel": "^4.3.0" | ||
"rollup-plugin-babel": "^4.3.0", | ||
"tsconfig-paths": "^3.9.0" | ||
}, | ||
@@ -23,4 +24,5 @@ "scripts": { | ||
"devDependencies": { | ||
"@babel/core": "^7.8.4" | ||
"@babel/core": "^7.8.4", | ||
"typescript": "^3.8.2" | ||
} | ||
} |
@@ -22,1 +22,7 @@ # pika-plugin-build-web-babel | ||
whether generate sourcemap file. defaults to true | ||
## history | ||
### 0.8.0 / 2020.02.29 | ||
- support tsconfig paths |
@@ -13,2 +13,4 @@ var path = (require('path')); | ||
var resolve = require('@rollup/plugin-node-resolve'); | ||
var fs = require('fs'); | ||
var TsconfigPaths = require('tsconfig-paths'); | ||
@@ -27,3 +29,3 @@ const defaultFormat = 'esm'; | ||
const defaultExtensions = ['.jsx', '.js', '.ts', '.tsx']; | ||
const defaultExtensions = ['.ts', '.tsx', '.jsx', '.js']; | ||
@@ -43,18 +45,52 @@ async function build({ | ||
let input = path.join(src, 'index'); | ||
const isTs = (fs.existsSync(input + '.ts') || fs.existsSync(input + '.tsx')); | ||
const plugins = [ | ||
resolve({ | ||
extensions, | ||
}), | ||
rollupBabel({ | ||
exclude: 'node_modules/**', | ||
extensions, | ||
runtimeHelpers, | ||
...(options.envName ? { envName: options.envName } : {}), | ||
}) | ||
]; | ||
const loadResult = TsconfigPaths.loadConfig(cwd); | ||
const matchPath = TsconfigPaths.createMatchPath( | ||
loadResult.absoluteBaseUrl, | ||
loadResult.paths, | ||
['main', 'module'] | ||
); | ||
if (isTs) { | ||
plugins.push({ | ||
name: 'rollup-plugin-ts-paths', | ||
resolveId(s) { | ||
let ret = matchPath(s, TsconfigPaths.ReadJsonSync, TsconfigPaths.FileExistsSync, extensions); | ||
for (e of extensions) { | ||
if (fs.existsSync(`${ret}${e}`)) { | ||
ret = `${ret}${e}`; | ||
break; | ||
} | ||
} | ||
return ret; | ||
} | ||
}); | ||
} | ||
const result = await rollup.rollup({ | ||
input, | ||
external: function (s) { | ||
return !(s.startsWith('/') || s.startsWith('./') || s.startsWith('../')); | ||
const isLocal = (s.startsWith('/') || s.startsWith('./') || s.startsWith('../')); | ||
if (isLocal) { | ||
return false; | ||
} | ||
let ret; | ||
ret = matchPath(s, TsconfigPaths.ReadJsonSync, TsconfigPaths.FileExistsSync, extensions); | ||
if (ret) { | ||
return false; | ||
} | ||
return true; | ||
}, | ||
plugins: [ | ||
resolve({ | ||
extensions, | ||
}), | ||
rollupBabel({ | ||
exclude: 'node_modules/**', | ||
extensions, | ||
runtimeHelpers, | ||
...(options.envName ? { envName: options.envName } : {}), | ||
})], | ||
plugins: plugins, | ||
onwarn: (warning, defaultOnWarnHandler) => { | ||
@@ -61,0 +97,0 @@ // // Unresolved external imports are expected |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
3993
105
27
4
2
1
+ Addedtsconfig-paths@^3.9.0
+ Added@types/json5@0.0.29(transitive)
+ Addedjson5@1.0.2(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedstrip-bom@3.0.0(transitive)
+ Addedtsconfig-paths@3.15.0(transitive)