aboutsummaryrefslogtreecommitdiff
path: root/babel-import-promise
diff options
context:
space:
mode:
Diffstat (limited to 'babel-import-promise')
-rw-r--r--babel-import-promise/babel-import-promise.mjs31
-rw-r--r--babel-import-promise/package.json5
2 files changed, 36 insertions, 0 deletions
diff --git a/babel-import-promise/babel-import-promise.mjs b/babel-import-promise/babel-import-promise.mjs
new file mode 100644
index 0000000..bdde752
--- /dev/null
+++ b/babel-import-promise/babel-import-promise.mjs
@@ -0,0 +1,31 @@
+export default function ({ types: t }) {
+ return {
+ visitor: {
+ Program(path, state) {
+ let shouldAdd = false
+ const MyVisitor = {
+ Function: {
+ enter: function enter(path) {
+ if (path.node.async) {
+ shouldAdd = true
+ }
+ }
+ },
+ Identifier(path) {
+ if (path.node.name === "Promise") {
+ shouldAdd = true
+ }
+ }
+ };
+ path.traverse(MyVisitor)
+ if (shouldAdd) {
+ let depth = state.filename.replace(state.cwd, "").split("\\").length - 2
+ const identifier = t.identifier('Promise');
+ const importDefaultSpecifier = t.importDefaultSpecifier(identifier);
+ const importDeclaration = t.importDeclaration([importDefaultSpecifier], t.stringLiteral("../".repeat(depth) + 'PromiseV2'));
+ path.unshiftContainer('body', importDeclaration);
+ }
+ }
+ }
+ };
+}; \ No newline at end of file
diff --git a/babel-import-promise/package.json b/babel-import-promise/package.json
new file mode 100644
index 0000000..e43c0c5
--- /dev/null
+++ b/babel-import-promise/package.json
@@ -0,0 +1,5 @@
+{
+ "name": "babel-import-promise",
+ "version": "1.0.0",
+ "module": "babel-import-promise.mjs"
+} \ No newline at end of file