Use native ESM for dev scripts (#12296)
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
This commit is contained in:
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = `/*
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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(")");
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
1
packages/babel-types/scripts/package.json
Normal file
1
packages/babel-types/scripts/package.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "type": "module" }
|
||||
@@ -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);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
"use strict";
|
||||
module.exports = function lowerFirst(string) {
|
||||
export default function lowerFirst(string) {
|
||||
return string[0].toLowerCase() + string.slice(1);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user