Change Log
v49
- Improve the build process to fix an edge case reported in #118esm (v48) output:
const parser = require('htmlparser').Parser;
the expected output was fixed in v49:import htmlparser2 from '/v48/htmlparser2@5.0.0/es2021/htmlparser2.js' const parser = htmlparser2.Parser; // Parser is undefined
import { Parser as htmlparser2_Parser } from '/v48/htmlparser2@5.0.0/es2021/htmlparser2.js' const parser = Parser; // Parser is a class
- Add more polyfills for Deno, huge thanks to @talentlessguy (#117)
- path
- querystring
- url
- timers
- Better self-hosting options improved by @imisaacs, super! (#116, #119, #120, #122)
- Add Unlimted(max 1PB) Storage to store builds and cache via NFS on esm.sh back server behind Cloudflare
v48
- Improve cjs-lexer service to handle the edge case is shown below:esm output:
function debounce() {}; debounce.debounce = debounce; module.exports = debounce;
export { debounce } // this was missed export default debounce
- Ignore
?target
in Deno (fix #109) - Add Storage Interface to store data to anywhere (currently only support postdb + local FS)
v47
v46
- Split modules based on exports defines (ref #78)
- Add
cache-folder
config foryarn add
- Improve
resolveVersion
to support format 4.x (fix #93) - Import initESM to support bare exports in package.json (fix #97)
- Bundle mode should respect the extra external (fix #98)
- Support node:path importing (fix #100)
- Pass
?alias
and?deps
to deps (fix #101) - Improve
cjs-lexer
sever (fix #103) - Upgrade rex to 1.4.1
- Upgrade esbuild to 0.12.24
V45
- Improve build performance
- Filter
cjs-moudle-lexer
server invalid exports output - Improve
resolveVersion
function to support format like 4.x (fix #93) - Improve dts transform (fix #95)
V44
- Add
Alias
feature (#89)in combination withimport useSWR from 'https://esm.sh/swr?alias=react:preact/compat'
?deps
:The origin idea was came from @lucacasonato.import useSWR from 'https://esm.sh/swr?alias=react:preact/compat&deps=preact@10.5.14'
- Add
node
build target (#84) - Check
exports
field to get entry point inpackage.json
- Run cjs-lexer as a server
- Upgrade esbuild to 0.11.18 with
es2021
build target - Bugfixs for #90, #85, #83, #77, #65, #48, #41.
V43
V42
- Add
__esModule
reserved word - Align require change for esbuild 0.12
- Fix setImmediate polyfill args (#75)
- Upgrade esbuild to 0.11.12
V41
- Add
timeout
(30 seconds) for new build request, or use previous build version instead if it exists - Fix
bundle
mode - Fix build dead loop
- Upgrade esbuild to 0.11.12
V40
- Update polyfills for node builtin modules
- Upgrade esbuild to 0.11.9
V39
- Imporve
parseCJSModuleExports
to support json module - Pass
NODE_ENV
toparseCJSModuleExports
- Update node buffer polyfill
- Upgrade postdb to v0.6.2
V38
- Fix build for packages with
module
type (#48) - Improve
parseCJSModuleExports
function (use cjs-module-lexer and nodejs eval both to parse cjs exports, and ignore JSON module) - Pass
NODE_ENV
toparseCJSModuleExports
function - Upgrade esbuild to 0.11.6
V37
- Add bundle mode
- Fix module exports parsing
V36
- Fix esm build for some edge cases
- Add simple test (thanks @zhoukekestar)
- Upgrade esbuild to 0.11.5
V35
- Set build
target
by theuser-agent
of browser automaticlly
V34
- Remove bundle mode · Breaking
- Add build queue instead of mutex lock
- Use AST(cjs-module-lexer) to parse cjs exports
- Add a testing page at https://esm.sh?test
- Fix
__setImmediate$
is not defined - Support exports define in package.json
- Support mjs extension
- Improve NpmPackage resolve (fix #41)
- Upgrade esbuild to 0.11.4
- Upgrade rex to 1.3.0