ECMAScript module utilities.
- What is this?
- Install
- Use
- API
canParseUrl(input[, base])cwd()defaultConditionsdefaultExtensionsdefaultMainFieldsextensionFormatMapformatsgetSource<T>(id[, options])isAbsoluteSpecifier(value)isArrayIndex(value)isBareSpecifier(value)isDirectory<T>(id[, fs])isFile<T>(id[, fs])isImportsSubpath(value)isModuleId(value)isRelativeSpecifier(value)legacyMainResolve<T>(packageUrl[, manifest][, mainFields][, parent][, fs])lookupPackageScope<T>(url[, end][, fs])moduleResolve<T>(specifier, parent[, conditions][, mainFields][, preserveSymlinks][, fs])packageExportsResolve<T>(packageUrl, subpath, exports[, conditions][, parent][, fs])packageImportsExportsResolve<T>(matchKey, matchObject, packageUrl[, isImports][, conditions][, mainFields][, parent][, fs])packageImportsResolve<T>(specifier, parent[, conditions][, mainFields][, fs])packageResolve<T>(specifier, parent[, conditions][, mainFields][, fs])packageSelfResolve<T>(name, subpath, parent[, conditions][, fs])packageTargetResolve<T>(packageUrl, target, subpath[, patternMatch][, isImports][, conditions][, mainFields][, parent][, fs])patternKeyCompare(a, b)patternMatch(matchKey, matchObject)readPackageJson<T>(id[, specifier][, parent][, fs])resolveAlias(specifier[, options])resolveModule<T>(specifier, parent[, options])resolverroottoRelativeSpecifier(url, parent)toUrl(id[, parent])
- Types
AliasesAwaitable<T>ChangeExtFnEmptyArrayEmptyObjectEmptyStringFileSystemGetSourceContextGetSourceHandlerGetSourceHandlersGetSourceOptionsList<[T]>MainFieldMapMainFieldModuleFormatMapModuleFormatModuleIdNumericPatternKeyComparisonMapPatternKeyComparisonPatternMatchProtocolMapProtocolResolveAliasOptionsResolveModuleOptionsStats
- Contribute
mlly is a set of ECMAScript module (ESM) utilities.
It exposes several tools to bridge the gap between developer experience and the current state of ECMAScript modules.
This package is ESM only.
In Node.js (version 18+) with yarn:
yarn add @flex-development/mllySee Git - Protocols | Yarn  for details regarding installing from Git.
In Deno with esm.sh:
import { resolveModule } from 'https://esm.sh/@flex-development/mlly'In browsers with esm.sh:
<script type="module">
import { resolveModule } from 'https://esm.sh/@flex-development/mlly'
</script>TODO: use
TODO: api
TODO: canParseUrl
TODO: cwd
TODO: defaultConditions
TODO: defaultExtensions
TODO: defaultMainFields
TODO: extensionFormatMap
TODO: formats
TODO: getSource
TODO: isAbsoluteSpecifier
TODO: isArrayIndex
TODO: isBareSpecifier
TODO: isDirectory
TODO: isFile
TODO: isImportsSubpath
TODO: isModuleId
TODO: isRelativeSpecifier
TODO: legacyMainResolve
TODO: lookupPackageScope
TODO: moduleResolve
TODO: packageExportsResolve
packageImportsExportsResolve<T>(matchKey, matchObject, packageUrl[, isImports][, conditions][, mainFields][, parent][, fs])
TODO: packageImportsExportsResolve
TODO: packageImportsResolve
TODO: packageResolve
TODO: packageSelfResolve
packageTargetResolve<T>(packageUrl, target, subpath[, patternMatch][, isImports][, conditions][, mainFields][, parent][, fs])
TODO: packageTargetResolve
TODO: patternKeyCompare
TODO: patternMatch
TODO: readPackageJson
TODO: resolveAlias
TODO: resolveModule
An object containing resolution algorithm implementations.
legacyMainResolvemoduleResolvepackageExportsResolvepackageImportsExportsResolvepackageImportsResolvepackageResolvepackageSelfResolvepackageTargetResolve
TODO: root
TODO: toRelativeSpecifier
TODO: toUrl
This package is fully typed with TypeScript.
TODO: Aliases
TODO: Awaitable<T>
TODO: ChangeExtFn<[Ext]>
TODO: EmptyArray
TODO: EmptyObject
TODO: EmptyString
TODO: FileSystem
TODO: GetSourceContext
TODO: GetSourceHandler
TODO: GetSourceHandlers
TODO: GetSourceOptions
TODO: List<[T]>
TODO: MainFieldMap
TODO: MainField
TODO: ModuleFormatMap
TODO: ModuleFormat
TODO: ModuleId
TODO: Numeric
TODO: PatternKeyComparsionMap
TODO: PatternKeyComparsion
TODO: PatternMatch
TODO: ProtocolMap
TODO: Protocol
TODO: ResolveAliasOptions
TODO: ResolveModuleOptions
TODO: Stats
See CONTRIBUTING.md.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.