diff --git a/deps/v8/third_party/inspector_protocol/code_generator.py b/deps/v8/third_party/inspector_protocol/code_generator.py index 7c72cc70e4fbeb..5cf5a308c5e6a0 100755 --- a/deps/v8/third_party/inspector_protocol/code_generator.py +++ b/deps/v8/third_party/inspector_protocol/code_generator.py @@ -43,6 +43,9 @@ def json_object_hook(object_dict): items = [(k, os.path.join(output_base, v) if k == "output" else v) for (k, v) in items] keys, values = list(zip(*items)) + # 'async' is a keyword since Python 3.7. + # Avoid namedtuple(rename=True) for compatibility with Python 2.X. + keys = tuple('async_' if k == 'async' else k for k in keys) return collections.namedtuple('X', keys)(*values) return json.loads(data, object_hook=json_object_hook) @@ -555,7 +558,7 @@ def is_async_command(self, domain, command): if not self.config.protocol.options: return False return self.check_options(self.config.protocol.options, domain, command, - "async", None, False) + "async_", None, False) def is_exported(self, domain, name): if not self.config.protocol.options: diff --git a/doc/api/esm.md b/doc/api/esm.md index 20f4330acc96c7..75547159d3a0ae 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -573,8 +573,14 @@ The resolve hook returns the resolved file URL and module format for a given module specifier and parent file URL: ```js -const baseURL = new URL(`${process.cwd()}/`, 'file://'); - +import { URL, pathToFileURL } from 'url'; +const baseURL = pathToFileURL(process.cwd()).href; + +/** + * @param {string} specifier + * @param {string} parentModuleURL + * @param {function} defaultResolver + */ export async function resolve(specifier, parentModuleURL = baseURL, defaultResolver) { @@ -612,13 +618,21 @@ be written: import path from 'path'; import process from 'process'; import Module from 'module'; +import { URL, pathToFileURL } from 'url'; const builtins = Module.builtinModules; const JS_EXTENSIONS = new Set(['.js', '.mjs']); -const baseURL = new URL(`${process.cwd()}/`, 'file://'); +const baseURL = pathToFileURL(process.cwd()).href; -export function resolve(specifier, parentModuleURL = baseURL, defaultResolve) { +/** + * @param {string} specifier + * @param {string} parentModuleURL + * @param {function} defaultResolver + */ +export async function resolve(specifier, + parentModuleURL = baseURL, + defaultResolver) { if (builtins.includes(specifier)) { return { url: specifier, @@ -627,7 +641,7 @@ export function resolve(specifier, parentModuleURL = baseURL, defaultResolve) { } if (/^\.{0,2}[/]/.test(specifier) !== true && !specifier.startsWith('file:')) { // For node_modules support: - // return defaultResolve(specifier, parentModuleURL); + // return defaultResolver(specifier, parentModuleURL); throw new Error( `imports must begin with '/', './', or '../'; '${specifier}' does not`); }