Use native ESM for dev scripts (#12296)

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
This commit is contained in:
Karan Sapolia
2021-01-30 23:06:21 +05:30
committed by GitHub
parent f8fe8eaab1
commit b63be942ce
39 changed files with 205 additions and 193 deletions

View File

@@ -1,5 +1,4 @@
"use strict";
const definitions = require("../../lib/definitions");
import definitions from "../../lib/definitions/index.js";
function addAssertHelper(type) {
const result =
@@ -14,7 +13,7 @@ function addAssertHelper(type) {
`;
}
module.exports = function generateAsserts() {
export default function generateAsserts() {
let output = `/*
* This file is auto-generated! Do not modify it directly.
* To re-generate run 'make build'
@@ -48,4 +47,4 @@ function assert(type: string, node: any, opts?: any): void {
});
return output;
};
}

View File

@@ -1,9 +1,7 @@
"use strict";
import t from "../../lib/index.js";
import stringifyValidator from "../utils/stringifyValidator.js";
const t = require("../../");
const stringifyValidator = require("../utils/stringifyValidator");
module.exports = function generateAstTypes() {
export default function generateAstTypes() {
let code = `// NOTE: This file is autogenerated. Do not modify.
// See packages/babel-types/scripts/generators/ast-types.js for script used.
@@ -118,7 +116,7 @@ export interface ${deprecatedAlias[type]} extends BaseNode {
code += "}\n\n";
return code;
};
}
function hasDefault(field) {
return field.default != null;

View File

@@ -1,10 +1,8 @@
"use strict";
const definitions = require("../../lib/definitions");
const formatBuilderName = require("../utils/formatBuilderName");
const lowerFirst = require("../utils/lowerFirst");
const t = require("../../");
const stringifyValidator = require("../utils/stringifyValidator");
import t from "../../lib/index.js";
import definitions from "../../lib/definitions/index.js";
import formatBuilderName from "../utils/formatBuilderName.js";
import lowerFirst from "../utils/lowerFirst.js";
import stringifyValidator from "../utils/stringifyValidator.js";
function areAllRemainingFieldsNullable(fieldName, fieldNames, fields) {
const index = fieldNames.indexOf(fieldName);
@@ -73,11 +71,11 @@ function generateBuilderArgs(type) {
return args;
}
module.exports = function generateBuilders(kind) {
export default function generateBuilders(kind) {
return kind === "uppercase.js"
? generateUppercaseBuilders()
: generateLowercaseBuilders();
};
}
function generateLowercaseBuilders() {
let output = `/*

View File

@@ -1,7 +1,6 @@
"use strict";
const definitions = require("../../lib/definitions");
import definitions from "../../lib/definitions/index.js";
module.exports = function generateConstants() {
export default function generateConstants() {
let output = `/*
* This file is auto-generated! Do not modify it directly.
* To re-generate run 'make build'
@@ -13,4 +12,4 @@ import { FLIPPED_ALIAS_KEYS } from "../../definitions";\n\n`;
});
return output;
};
}

View File

@@ -1,10 +1,8 @@
"use strict";
import util from "util";
import stringifyValidator from "../utils/stringifyValidator.js";
import toFunctionName from "../utils/toFunctionName.js";
const util = require("util");
const stringifyValidator = require("../utils/stringifyValidator");
const toFunctionName = require("../utils/toFunctionName");
const types = require("../../");
import t from "../../lib/index.js";
const readme = [
`# @babel/types
@@ -37,17 +35,13 @@ const customTypes = {
key: "if computed then `Expression` else `Identifier | Literal`",
},
};
Object.keys(types.BUILDER_KEYS)
Object.keys(t.BUILDER_KEYS)
.sort()
.forEach(function (key) {
readme.push("### " + key[0].toLowerCase() + key.substr(1));
readme.push("```javascript");
readme.push(
"t." +
toFunctionName(key) +
"(" +
types.BUILDER_KEYS[key].join(", ") +
")"
"t." + toFunctionName(key) + "(" + t.BUILDER_KEYS[key].join(", ") + ")"
);
readme.push("```");
readme.push("");
@@ -59,10 +53,10 @@ Object.keys(types.BUILDER_KEYS)
"(node, opts)`."
);
readme.push("");
if (types.ALIAS_KEYS[key] && types.ALIAS_KEYS[key].length) {
if (t.ALIAS_KEYS[key] && t.ALIAS_KEYS[key].length) {
readme.push(
"Aliases: " +
types.ALIAS_KEYS[key]
t.ALIAS_KEYS[key]
.map(function (key) {
return "`" + key + "`";
})
@@ -70,19 +64,19 @@ Object.keys(types.BUILDER_KEYS)
);
readme.push("");
}
Object.keys(types.NODE_FIELDS[key])
Object.keys(t.NODE_FIELDS[key])
.sort(function (fieldA, fieldB) {
const indexA = types.BUILDER_KEYS[key].indexOf(fieldA);
const indexB = types.BUILDER_KEYS[key].indexOf(fieldB);
const indexA = t.BUILDER_KEYS[key].indexOf(fieldA);
const indexB = t.BUILDER_KEYS[key].indexOf(fieldB);
if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
if (indexA === -1) return 1;
if (indexB === -1) return -1;
return indexA - indexB;
})
.forEach(function (field) {
const defaultValue = types.NODE_FIELDS[key][field].default;
const defaultValue = t.NODE_FIELDS[key][field].default;
const fieldDescription = ["`" + field + "`"];
const validator = types.NODE_FIELDS[key][field].validate;
const validator = t.NODE_FIELDS[key][field].validate;
if (customTypes[key] && customTypes[key][field]) {
fieldDescription.push(`: ${customTypes[key][field]}`);
} else if (validator) {
@@ -99,11 +93,11 @@ Object.keys(types.BUILDER_KEYS)
}
}
}
if (defaultValue !== null || types.NODE_FIELDS[key][field].optional) {
if (defaultValue !== null || t.NODE_FIELDS[key][field].optional) {
fieldDescription.push(
" (default: `" + util.inspect(defaultValue) + "`"
);
if (types.BUILDER_KEYS[key].indexOf(field) < 0) {
if (t.BUILDER_KEYS[key].indexOf(field) < 0) {
fieldDescription.push(", excluded from builder function");
}
fieldDescription.push(")");

View File

@@ -1,8 +1,6 @@
"use strict";
const t = require("../../");
const stringifyValidator = require("../utils/stringifyValidator");
const toFunctionName = require("../utils/toFunctionName");
import t from "../../lib/index.js";
import stringifyValidator from "../utils/stringifyValidator.js";
import toFunctionName from "../utils/toFunctionName.js";
const NODE_PREFIX = "BabelNode";

View File

@@ -1,8 +1,6 @@
"use strict";
const t = require("../../lib");
const stringifyValidator = require("../utils/stringifyValidator");
const toFunctionName = require("../utils/toFunctionName");
import t from "../../lib/index.js";
import stringifyValidator from "../utils/stringifyValidator.js";
import toFunctionName from "../utils/toFunctionName.js";
let code = `// NOTE: This file is autogenerated. Do not modify.
// See packages/babel-types/scripts/generators/typescript-legacy.js for script used.

View File

@@ -1,5 +1,4 @@
"use strict";
const definitions = require("../../lib/definitions");
import definitions from "../../lib/definitions/index.js";
const has = Function.call.bind(Object.prototype.hasOwnProperty);
@@ -62,7 +61,7 @@ function addIsHelper(type, aliasKeys, deprecated) {
`;
}
module.exports = function generateValidators() {
export default function generateValidators() {
let output = `/*
* This file is auto-generated! Do not modify it directly.
* To re-generate run 'make build'
@@ -85,4 +84,4 @@ import type * as t from "../..";\n\n`;
});
return output;
};
}

View File

@@ -0,0 +1 @@
{ "type": "module" }

View File

@@ -1,10 +1,8 @@
"use strict";
const toLowerCase = Function.call.bind("".toLowerCase);
module.exports = function formatBuilderName(type) {
export default function formatBuilderName(type) {
// FunctionExpression -> functionExpression
// JSXIdentifier -> jsxIdentifier
// V8IntrinsicIdentifier -> v8IntrinsicIdentifier
return type.replace(/^([A-Z](?=[a-z0-9])|[A-Z]+(?=[A-Z]))/, toLowerCase);
};
}

View File

@@ -1,4 +1,3 @@
"use strict";
module.exports = function lowerFirst(string) {
export default function lowerFirst(string) {
return string[0].toLowerCase() + string.slice(1);
};
}

View File

@@ -1,4 +1,4 @@
module.exports = function stringifyValidator(validator, nodePrefix) {
export default function stringifyValidator(validator, nodePrefix) {
if (validator === undefined) {
return "any";
}
@@ -55,7 +55,7 @@ module.exports = function stringifyValidator(validator, nodePrefix) {
}
return ["any"];
};
}
/**
* Heuristic to decide whether or not the given type is a value type (eg. "null")

View File

@@ -1,4 +1,4 @@
module.exports = function toFunctionName(typeName) {
export default function toFunctionName(typeName) {
const _ = typeName.replace(/^TS/, "ts").replace(/^JSX/, "jsx");
return _.slice(0, 1).toLowerCase() + _.slice(1);
};
}