esbuild-register
Advanced tools
Comparing version 1.1.1 to 1.2.0
@@ -61,25 +61,27 @@ 'use strict'; | ||
const getLoader = (filename) => FILE_LOADERS[path.extname(filename)]; | ||
function compile(code, filename) { | ||
const options = getOptions(path.dirname(filename)); | ||
const { code: js, warnings, map: jsSourceMap } = esbuild.transformSync(code, { | ||
sourcefile: filename, | ||
sourcemap: true, | ||
loader: getLoader(filename), | ||
target: options.target, | ||
jsxFactory: options.jsxFactory, | ||
jsxFragment: options.jsxFragment, | ||
}); | ||
map[filename] = jsSourceMap; | ||
if (warnings && warnings.length > 0) { | ||
for (const warning of warnings) { | ||
console.log(warning.location); | ||
console.log(warning.text); | ||
function register(esbuildOptions = {}) { | ||
const { extensions = DEFAULT_EXTENSIONS, ...overrides } = esbuildOptions; | ||
function compile(code, filename) { | ||
const options = getOptions(path.dirname(filename)); | ||
const { code: js, warnings, map: jsSourceMap } = esbuild.transformSync(code, { | ||
sourcefile: filename, | ||
sourcemap: true, | ||
loader: getLoader(filename), | ||
target: options.target, | ||
jsxFactory: options.jsxFactory, | ||
jsxFragment: options.jsxFragment, | ||
...overrides, | ||
}); | ||
map[filename] = jsSourceMap; | ||
if (warnings && warnings.length > 0) { | ||
for (const warning of warnings) { | ||
console.log(warning.location); | ||
console.log(warning.text); | ||
} | ||
} | ||
return js; | ||
} | ||
return js; | ||
} | ||
function register() { | ||
installSourceMapSupport(); | ||
pirates.addHook(compile, { | ||
exts: DEFAULT_EXTENSIONS, | ||
exts: extensions, | ||
}); | ||
@@ -86,0 +88,0 @@ } |
{ | ||
"name": "esbuild-register", | ||
"description": "Transpile JSX, TypeScript and esnext features on the fly with esbuild", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"main": "register.js", | ||
@@ -13,3 +13,3 @@ "license": "MIT", | ||
"build": "tsup src/node.ts", | ||
"test": "npm run build && node -r esm -r ./register.js tests/test.ts", | ||
"test": "npm run build && node -r ./register.js tests/test.ts", | ||
"prepublishOnly": "npm run build" | ||
@@ -31,3 +31,2 @@ }, | ||
"esbuild": "^0.8.0", | ||
"esm": "^3.2.25", | ||
"execa": "^4.0.3", | ||
@@ -34,0 +33,0 @@ "tsup": "^2.0.3", |
@@ -6,13 +6,11 @@ # esbuild-register | ||
```bash | ||
yarn add esm esbuild-register --dev | ||
yarn add esbuild-register --dev | ||
``` | ||
You need [`esm`](https://github.com/standard-things/esm) as well because `esbuild` doesn't compile `import` and `export` statements to commonjs `require`. | ||
[`esbuild`](https://github.com/evanw/esbuild) is required as a peer dependency. | ||
[`esbuild`](https://github.com/evanw/esbuild) is also required as a peer dependency. | ||
## Usage | ||
```bash | ||
node -r esm -r esbuild-register file.ts | ||
node -r esbuild-register file.ts | ||
``` | ||
@@ -25,3 +23,3 @@ | ||
```json | ||
"ts": "node -r esm -r esbuild-register" | ||
"ts": "node -r esbuild-register" | ||
``` | ||
@@ -31,4 +29,15 @@ | ||
## Programmatic Usage | ||
```ts | ||
const { register } = require('esbuild-register/dist/node') | ||
register({ | ||
// ...options | ||
}) | ||
``` | ||
## License | ||
MIT © [EGOIST (Kevin Titor)](https://egoist.sh) | ||
w |
@@ -1,1 +0,4 @@ | ||
require('./dist/node').register() | ||
require('./dist/node').register({ | ||
format: 'cjs', | ||
target: `node${process.version.slice(1)}`, | ||
}) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6150
8
7
105
41