Skip to content

Commit

Permalink
move data out of function, modernize
Browse files Browse the repository at this point in the history
  • Loading branch information
juliangruber committed Mar 29, 2022
1 parent 38cdb51 commit e3e4319
Showing 1 changed file with 59 additions and 60 deletions.
119 changes: 59 additions & 60 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,80 +1,79 @@
'use strict'

var semver = require('semver')
const semver = require('semver')

module.exports = function ({
version = process.version,
experimental = false
} = {}) {
var coreModules = [
'assert',
'buffer',
'child_process',
'cluster',
'console',
'constants',
'crypto',
'dgram',
'dns',
'domain',
'events',
'fs',
'http',
'https',
'module',
'net',
'os',
'path',
'punycode',
'querystring',
'readline',
'repl',
'stream',
'string_decoder',
'sys',
'timers',
'tls',
'tty',
'url',
'util',
'vm',
'zlib'
]
const coreModules = [
'assert',
'buffer',
'child_process',
'cluster',
'console',
'constants',
'crypto',
'dgram',
'dns',
'domain',
'events',
'fs',
'http',
'https',
'module',
'net',
'os',
'path',
'punycode',
'querystring',
'readline',
'repl',
'stream',
'string_decoder',
'sys',
'timers',
'tls',
'tty',
'url',
'util',
'vm',
'zlib'
]

const versionLockedModules = {
freelist: '<6.0.0',
v8: '>=1.0.0',
process: '>=1.1.0',
inspector: '>=8.0.0',
async_hooks: '>=8.1.0',
http2: '>=8.4.0',
perf_hooks: '>=8.5.0',
trace_events: '>=10.0.0',
worker_threads: '>=12.0.0'
}
const versionLockedModules = {
freelist: '<6.0.0',
v8: '>=1.0.0',
process: '>=1.1.0',
inspector: '>=8.0.0',
async_hooks: '>=8.1.0',
http2: '>=8.4.0',
perf_hooks: '>=8.5.0',
trace_events: '>=10.0.0',
worker_threads: '>=12.0.0'
}

const experimentalModules = {
worker_threads: '>=10.5.0',
wasi: '>=12.16.0',
diagnostics_channel: '^14.17.0 || >=15.1.0'
}

module.exports = ({ version = process.version, experimental = false } = {}) => {
const builtins = [...coreModules]

for (const [name, semverRange] of Object.entries(versionLockedModules)) {
if (version === '*' || semver.satisfies(version, semverRange)) {
coreModules.push(name)
builtins.push(name)
}
}

const experimentalModules = {
worker_threads: '>=10.5.0',
wasi: '>=12.16.0',
diagnostics_channel: '^14.17.0 || >=15.1.0'
}

if (experimental) {
for (const [name, semverRange] of Object.entries(experimentalModules)) {
if (
!coreModules.includes(name) &&
!builtins.includes(name) &&
(version === '*' || semver.satisfies(version, semverRange))
) {
coreModules.push(name)
builtins.push(name)
}
}
}

return coreModules
return builtins
}

0 comments on commit e3e4319

Please sign in to comment.