mirror of
https://github.com/denoland/deno.git
synced 2024-11-14 16:33:45 -05:00
f1d3a17043
This commit adds "--compat" flag. When the flag is passed a set of mappings for built-in Node modules is injected into the import map. If user doesn't explicitly provide an import map (using "--import-map" flag) then a map is created on the fly. If there are already existing mappings in import map that would clash with built-in Node modules a set of diagnostics is printed to the terminal with suggestions how to proceed.
60 lines
1 KiB
Rust
60 lines
1 KiB
Rust
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
|
|
|
use std::collections::HashMap;
|
|
|
|
static SUPPORTED_MODULES: &[&str] = &[
|
|
"assert",
|
|
"assert/strict",
|
|
"async_hooks",
|
|
"buffer",
|
|
"child_process",
|
|
"cluster",
|
|
"console",
|
|
"constants",
|
|
"crypto",
|
|
"dgram",
|
|
"dns",
|
|
"domain",
|
|
"events",
|
|
"fs",
|
|
"fs/promises",
|
|
"http",
|
|
"https",
|
|
"module",
|
|
"net",
|
|
"os",
|
|
"path",
|
|
"path/posix",
|
|
"path/win32",
|
|
"perf_hooks",
|
|
"process",
|
|
"querystring",
|
|
"readline",
|
|
"stream",
|
|
"stream/promises",
|
|
"stream/web",
|
|
"string_decoder",
|
|
"sys",
|
|
"timers",
|
|
"timers/promises",
|
|
"tls",
|
|
"tty",
|
|
"url",
|
|
"util",
|
|
"util/types",
|
|
"v8",
|
|
"vm",
|
|
"zlib",
|
|
];
|
|
|
|
pub fn get_mapped_node_builtins() -> HashMap<String, String> {
|
|
let mut mappings = HashMap::new();
|
|
|
|
for module in SUPPORTED_MODULES {
|
|
// TODO(bartlomieju): this is unversioned, and should be fixed to use latest stable?
|
|
let module_url = format!("https://deno.land/std/node/{}.ts", module);
|
|
mappings.insert(module.to_string(), module_url);
|
|
}
|
|
|
|
mappings
|
|
}
|