Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / tslib / test / validateModuleExportsMatchCommonJS / index.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/tslib/test/validateModuleExportsMatchCommonJS/index.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/tslib/test/validateModuleExportsMatchCommonJS/index.js
new file mode 100644 (file)
index 0000000..0c1b613
--- /dev/null
@@ -0,0 +1,23 @@
+// When on node 14, it validates that all of the commonjs exports
+// are correctly re-exported for es modules importers.
+
+const nodeMajor = Number(process.version.split(".")[0].slice(1))
+if (nodeMajor < 14) {
+  console.log("Skipping because node does not support module exports.")
+  process.exit(0)
+}
+
+// ES Modules import via the ./modules folder
+import * as esTSLib from "../../modules/index.js"
+
+// Force a commonjs resolve
+import { createRequire } from "module";
+const commonJSTSLib = createRequire(import.meta.url)("../../tslib.js");
+
+for (const key in commonJSTSLib) {
+  if (commonJSTSLib.hasOwnProperty(key)) {
+    if(!esTSLib[key]) throw new Error(`ESModules is missing ${key} - it needs to be re-exported in  ./modules/index.js`)
+  }
+}
+
+console.log("All exports in commonjs are available for es module consumers.")