From 7d53b6ffba2c7f0b3c5f3d3126d1f8954bfa803c Mon Sep 17 00:00:00 2001 From: Jason Bedard Date: Thu, 6 May 2021 10:59:39 -0700 Subject: [PATCH] feat(builtin): add js_library JSEcmaScriptModuleInfo support --- internal/js_library/js_library.bzl | 10 ++++ .../esbuild/test/typescript/bundle.golden.txt | 48 +++---------------- packages/rollup/rollup_bundle.bzl | 3 +- 3 files changed, 18 insertions(+), 43 deletions(-) diff --git a/internal/js_library/js_library.bzl b/internal/js_library/js_library.bzl index cdc988b4a9..83c88b6be4 100644 --- a/internal/js_library/js_library.bzl +++ b/internal/js_library/js_library.bzl @@ -18,10 +18,12 @@ load( "//:providers.bzl", "DeclarationInfo", "ExternalNpmPackageInfo", + "JSEcmaScriptModuleInfo", "JSModuleInfo", "JSNamedModuleInfo", "LinkablePackageInfo", "declaration_info", + "js_ecma_script_module_info", "js_module_info", "js_named_module_info", ) @@ -164,6 +166,7 @@ def _impl(ctx): files_depsets = [files_depset] npm_sources_depsets = [files_depset] + direct_ecma_script_module_depsets = [files_depset] direct_sources_depsets = [files_depset] direct_named_module_sources_depsets = [named_module_files_depset] typings_depsets = [typings_depset] @@ -173,6 +176,9 @@ def _impl(ctx): if ExternalNpmPackageInfo in dep: npm_sources_depsets.append(dep[ExternalNpmPackageInfo].sources) else: + if JSEcmaScriptModuleInfo in dep: + direct_ecma_script_module_depsets.append(dep[JSEcmaScriptModuleInfo].direct_sources) + direct_sources_depsets.append(dep[JSEcmaScriptModuleInfo].direct_sources) if JSModuleInfo in dep: js_files_depsets.append(dep[JSModuleInfo].direct_sources) direct_sources_depsets.append(dep[JSModuleInfo].direct_sources) @@ -196,6 +202,10 @@ def _impl(ctx): ), ), AmdNamesInfo(names = ctx.attr.amd_names), + js_ecma_script_module_info( + sources = depset(transitive = direct_ecma_script_module_depsets), + deps = ctx.attr.deps, + ), js_module_info( sources = depset(transitive = js_files_depsets), deps = ctx.attr.deps, diff --git a/packages/esbuild/test/typescript/bundle.golden.txt b/packages/esbuild/test/typescript/bundle.golden.txt index 0a699278d9..a3e84d8517 100644 --- a/packages/esbuild/test/typescript/bundle.golden.txt +++ b/packages/esbuild/test/typescript/bundle.golden.txt @@ -1,59 +1,23 @@ -var __create = Object.create; var __defProp = Object.defineProperty; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; -var __getOwnPropNames = Object.getOwnPropertyNames; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); var __name = (target, value) => __defProp(target, "name", {value, configurable: true}); -var __commonJS = (cb, mod) => () => (mod || cb((mod = {exports: {}}).exports, mod), mod.exports); -var __reExport = (target, module, desc) => { - if (module && typeof module === "object" || typeof module === "function") { - for (let key of __getOwnPropNames(module)) - if (!__hasOwnProp.call(target, key) && key !== "default") - __defProp(target, key, {get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable}); - } - return target; -}; -var __toModule = (module) => { - return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? {get: () => module.default, enumerable: true} : {value: module, enumerable: true})), module); -}; - - -var require_module_dynamic = __commonJS((exports, module) => { - (function(factory) { - if (typeof module === "object" && typeof module.exports === "object") { - var v = factory(require, exports); - if (v !== void 0) - module.exports = v; - } else if (typeof define === "function" && define.amd) { - define("build_bazel_rules_nodejs/packages/esbuild/test/typescript/module-dynamic/index", ["require", "exports"], factory); - } - })(function(require2, exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", {value: true}); - exports2.getId = void 0; - exports2.getId = () => "dynamic-id"; - }); -}); -var import_module_dynamic = __toModule(require_module_dynamic()); +var getId = /* @__PURE__ */ __name(() => "dynamic-id", "getId"); -var getId = /* @__PURE__ */ __name(() => "module-one", "getId"); +var getId2 = /* @__PURE__ */ __name(() => "module-one", "getId"); -var getId2 = /* @__PURE__ */ __name(() => "module-two", "getId"); +var getId3 = /* @__PURE__ */ __name(() => "module-two", "getId"); -var getId3 = /* @__PURE__ */ __name(() => `generated-module`, "getId"); +var getId4 = /* @__PURE__ */ __name(() => `generated-module`, "getId"); -var getId4 = /* @__PURE__ */ __name(() => "relative-module", "getId"); +var getId5 = /* @__PURE__ */ __name(() => "relative-module", "getId"); -var ID = `Full ID: ${getId()} - ${getId2()} - ${(0, import_module_dynamic.getId)()} - ${getId4()} - ${getId3()}`; +var ID = `Full ID: ${getId2()} - ${getId3()} - ${getId()} - ${getId5()} - ${getId4()}`; console.log(ID); export { ID diff --git a/packages/rollup/rollup_bundle.bzl b/packages/rollup/rollup_bundle.bzl index 1bfeb0491b..d7303f7dca 100644 --- a/packages/rollup/rollup_bundle.bzl +++ b/packages/rollup/rollup_bundle.bzl @@ -254,7 +254,8 @@ def _rollup_bundle(ctx): for dep in ctx.attr.deps: if JSEcmaScriptModuleInfo in dep: deps_depsets.append(dep[JSEcmaScriptModuleInfo].sources) - elif JSModuleInfo in dep: + + if JSModuleInfo in dep: deps_depsets.append(dep[JSModuleInfo].sources) elif hasattr(dep, "files"): deps_depsets.append(dep.files)