Deno standard library porting for browser and Node.js
With npm:
$ npm install @tybys/denostd
Build from source:
$ npm run build
Output:
dist/cjs
- Module: CommonJS
, Target: ES2019
dist/esm
- Module: ESNext
, Target: ES2019
dist/browser
- Module: UMD
, Target: ES5
but need polyfills for Promise
, Symbol
, WeakMap
, TypedArray
, globalThis
, etc in old browser
Full version:
<script src="https://cdn.jsdelivr.net/npm/@tybys/denostd/dist/browser/denostd.min.js"></script>
<script>
console.log(denostd);
denostd.fmt.printf.printf('%s', 'yo');
</script>
Standalone:
<script src="https://cdn.jsdelivr.net/npm/@tybys/denostd/dist/browser/fmt/printf.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tybys/denostd/dist/browser/node/buffer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tybys/denostd/dist/browser/node/events.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tybys/denostd/dist/browser/node/path.min.js"></script>
<script>
console.log(denostd.fmt);
console.log(denostd.node);
console.log(Buffer);
</script>
Full version:
const denostd = require('@tybys/denostd')
denostd.fmt.printf.printf('%s', 'yo')
Standalone:
const printf = require('@tybys/denostd/dist/cjs/std/fmt/printf.js')
printf.printf('%s', 'yo')
Configuration:
module.exports = {
// ...
node: false // avoid bundling node polyfill
}
Full version:
import * as denostd from '@tybys/denostd'
Standalone:
import * as path from '@tybys/denostd/dist/esm/std/path/mod.js'
Full version:
import * as denostd from '@tybys/denostd'
Standalone:
import * as path from '@tybys/denostd/dist/esm/std/path/mod'
async
bytes
datetime
encoding
ascii85
base32
base64
base64url
hex
toml
utf8
fmt
colors
printf
hash
fnv
md5
sha1
sha3
sha256
sha512
node
buffer
events
path (the same as std/path
)
querystring
timers
url
util
path
testing
asserts
bench
diff
uuid
Author: toyobayashi
Source Code: https://github.com/toyobayashi/denostd
#deno #nodejs #node #javascript