diff --git a/elementType.js b/elementType.js index 96873ac..c7b909a 100644 --- a/elementType.js +++ b/elementType.js @@ -1 +1 @@ -module.exports = require('./lib').elementType; // eslint-disable-line import/no-unresolved +export { elementType as default } from './src'; \ No newline at end of file diff --git a/eventHandlers.js b/eventHandlers.js index b5d7f62..208eaca 100644 --- a/eventHandlers.js +++ b/eventHandlers.js @@ -1 +1 @@ -module.exports = require('./lib').eventHandlers; // eslint-disable-line import/no-unresolved +export { eventHandlers as default } from './src'; \ No newline at end of file diff --git a/eventHandlersByType.js b/eventHandlersByType.js index b7a0c42..e2757e9 100644 --- a/eventHandlersByType.js +++ b/eventHandlersByType.js @@ -1 +1 @@ -module.exports = require('./lib').eventHandlersByType; // eslint-disable-line import/no-unresolved +export { eventHandlersByType as default } from './src'; \ No newline at end of file diff --git a/getLiteralPropValue.js b/getLiteralPropValue.js index efc5c8d..970fc39 100644 --- a/getLiteralPropValue.js +++ b/getLiteralPropValue.js @@ -1 +1 @@ -module.exports = require('./lib').getLiteralPropValue; // eslint-disable-line import/no-unresolved +export { getLiteralPropValue as default } from './src'; \ No newline at end of file diff --git a/getProp.js b/getProp.js index e523c2c..4e270e9 100644 --- a/getProp.js +++ b/getProp.js @@ -1 +1 @@ -module.exports = require('./lib').getProp; // eslint-disable-line import/no-unresolved +export { getProp as default } from './src'; \ No newline at end of file diff --git a/getPropValue.js b/getPropValue.js index 883a37c..86bf585 100644 --- a/getPropValue.js +++ b/getPropValue.js @@ -1 +1 @@ -module.exports = require('./lib').getPropValue; // eslint-disable-line import/no-unresolved +export { getPropValue as default } from './src'; \ No newline at end of file diff --git a/hasAnyProp.js b/hasAnyProp.js index 2a88420..95b3adc 100644 --- a/hasAnyProp.js +++ b/hasAnyProp.js @@ -1 +1 @@ -module.exports = require('./lib').hasAnyProp; // eslint-disable-line import/no-unresolved +export { hasAnyProp as default } from './src'; \ No newline at end of file diff --git a/hasEveryProp.js b/hasEveryProp.js index 338f569..e865100 100644 --- a/hasEveryProp.js +++ b/hasEveryProp.js @@ -1 +1 @@ -module.exports = require('./lib').hasEveryProp; // eslint-disable-line import/no-unresolved +export { hasEveryProp } from './src'; \ No newline at end of file diff --git a/hasProp.js b/hasProp.js index 0f1cd04..bfed363 100644 --- a/hasProp.js +++ b/hasProp.js @@ -1 +1 @@ -module.exports = require('./lib').hasProp; // eslint-disable-line import/no-unresolved +export { hasProp } from './src'; \ No newline at end of file diff --git a/package.json b/package.json index 738d1b3..befb66e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "jsx-ast-utils", "version": "3.3.4", "description": "AST utility module for statically analyzing JSX", - "main": "lib/index.js", + "main": "src/index.js", "scripts": { "prepack": "npmignore --auto --commentLines=autogenerated && npm run build", "prebuild": "rimraf lib", @@ -62,8 +62,6 @@ }, "license": "MIT", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", "object.assign": "^4.1.4", "object.values": "^1.1.6" }, diff --git a/propName.js b/propName.js index 361a52b..4424cfe 100644 --- a/propName.js +++ b/propName.js @@ -1 +1 @@ -module.exports = require('./lib').propName; // eslint-disable-line import/no-unresolved +export { propName } from './src'; \ No newline at end of file diff --git a/src/index.js b/src/index.js index 6814764..565a66e 100644 --- a/src/index.js +++ b/src/index.js @@ -5,7 +5,7 @@ import getProp from './getProp'; import getPropValue, { getLiteralPropValue } from './getPropValue'; import propName from './propName'; -module.exports = { +export { hasProp, hasAnyProp, hasEveryProp, diff --git a/src/values/JSXElement.js b/src/values/JSXElement.js index e5a049f..029c23d 100644 --- a/src/values/JSXElement.js +++ b/src/values/JSXElement.js @@ -1,12 +1,11 @@ +import getValue from './index'; + /** * Extractor function for a JSXElement type value node. * * Returns self-closing element with correct name. */ export default function extractValueFromJSXElement(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; - const Tag = value.openingElement.name.name; if (value.openingElement.selfClosing) { return `<${Tag} />`; diff --git a/src/values/JSXFragment.js b/src/values/JSXFragment.js index 379137e..90cbc54 100644 --- a/src/values/JSXFragment.js +++ b/src/values/JSXFragment.js @@ -1,12 +1,11 @@ +import getValue from './index'; + /** * Extractor function for a JSXFragment type value node. * * Returns self-closing element with correct name. */ export default function extractValueFromJSXFragment(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; - if (value.children.length === 0) { return '<>'; } diff --git a/src/values/expressions/ArrayExpression.js b/src/values/expressions/ArrayExpression.js index f333d58..4462c9d 100644 --- a/src/values/expressions/ArrayExpression.js +++ b/src/values/expressions/ArrayExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for an ArrayExpression type value node. * An array expression is an expression with [] syntax. @@ -5,8 +7,6 @@ * @returns - An array of the extracted elements. */ export default function extractValueFromArrayExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return value.elements.map((element) => { if (element === null) return undefined; return getValue(element); diff --git a/src/values/expressions/AssignmentExpression.js b/src/values/expressions/AssignmentExpression.js index 7a14de5..6fce401 100644 --- a/src/values/expressions/AssignmentExpression.js +++ b/src/values/expressions/AssignmentExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a AssignmentExpression type value node. * An assignment expression looks like `x = y` or `x += y` in expression position. @@ -7,7 +9,5 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromAssignmentExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return `${getValue(value.left)} ${value.operator} ${getValue(value.right)}`; } diff --git a/src/values/expressions/BinaryExpression.js b/src/values/expressions/BinaryExpression.js index 5764f3f..7cf9c07 100644 --- a/src/values/expressions/BinaryExpression.js +++ b/src/values/expressions/BinaryExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a BinaryExpression type value node. * A binary expression has a left and right side separated by an operator @@ -7,8 +9,6 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromBinaryExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; const { operator, left, right } = value; const leftVal = getValue(left); const rightVal = getValue(right); diff --git a/src/values/expressions/BindExpression.js b/src/values/expressions/BindExpression.js index bc0bf0f..6c10fa4 100644 --- a/src/values/expressions/BindExpression.js +++ b/src/values/expressions/BindExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a BindExpression type value node. * A bind expression looks like `::this.foo` @@ -8,8 +10,6 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromBindExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; const callee = getValue(value.callee); // If value.object === null, the callee must be a MemberExpression. diff --git a/src/values/expressions/CallExpression.js b/src/values/expressions/CallExpression.js index f225d16..ce7e43d 100644 --- a/src/values/expressions/CallExpression.js +++ b/src/values/expressions/CallExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a CallExpression type value node. * A call expression looks like `bar()` @@ -8,8 +10,6 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromCallExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; const args = Array.isArray(value.arguments) ? value.arguments.map((x) => getValue(x)).join(', ') : ''; return `${getValue(value.callee)}${value.optional ? '?.' : ''}(${args})`; } diff --git a/src/values/expressions/ChainExpression.js b/src/values/expressions/ChainExpression.js index 1fb00a7..e8b3b75 100644 --- a/src/values/expressions/ChainExpression.js +++ b/src/values/expressions/ChainExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a ChainExpression type value node. * A member expression is accessing a property on an object `obj.property`. @@ -7,7 +9,5 @@ * and maintaing `obj?.property` convention. */ export default function extractValueFromChainExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return getValue(value.expression || value); } diff --git a/src/values/expressions/ConditionalExpression.js b/src/values/expressions/ConditionalExpression.js index 4fd185d..a3308f6 100644 --- a/src/values/expressions/ConditionalExpression.js +++ b/src/values/expressions/ConditionalExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a ConditionalExpression type value node. * @@ -5,8 +7,6 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromConditionalExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; const { test, alternate, diff --git a/src/values/expressions/LogicalExpression.js b/src/values/expressions/LogicalExpression.js index 5b65a4e..b5cc573 100644 --- a/src/values/expressions/LogicalExpression.js +++ b/src/values/expressions/LogicalExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a LogicalExpression type value node. * A logical expression is `a && b` or `a || b`, so we evaluate both sides @@ -7,8 +9,6 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromLogicalExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; const { operator, left, right } = value; const leftVal = getValue(left); const rightVal = getValue(right); diff --git a/src/values/expressions/MemberExpression.js b/src/values/expressions/MemberExpression.js index 5d48fd5..d0cb7af 100644 --- a/src/values/expressions/MemberExpression.js +++ b/src/values/expressions/MemberExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a MemberExpression type value node. * A member expression is accessing a property on an object `obj.property`. @@ -7,7 +9,5 @@ * and maintaing `obj.property` convention. */ export default function extractValueFromMemberExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return `${getValue(value.object)}${value.optional ? '?.' : '.'}${getValue(value.property)}`; } diff --git a/src/values/expressions/ObjectExpression.js b/src/values/expressions/ObjectExpression.js index 383b569..c1c08a8 100644 --- a/src/values/expressions/ObjectExpression.js +++ b/src/values/expressions/ObjectExpression.js @@ -1,4 +1,5 @@ import assign from 'object.assign'; +import getValue from './index'; /** * Extractor function for an ObjectExpression type value node. @@ -7,8 +8,6 @@ import assign from 'object.assign'; * @returns - a representation of the object */ export default function extractValueFromObjectExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return value.properties.reduce((obj, property) => { // Support types: SpreadProperty and ExperimentalSpreadProperty if (/^(?:Experimental)?Spread(?:Property|Element)$/.test(property.type)) { diff --git a/src/values/expressions/OptionalCallExpression.js b/src/values/expressions/OptionalCallExpression.js index bcee760..3a36971 100644 --- a/src/values/expressions/OptionalCallExpression.js +++ b/src/values/expressions/OptionalCallExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a OptionalCallExpression type value node. * A member expression is accessing a property on an object `obj.property` and invoking it. @@ -7,7 +9,5 @@ * and maintaing `obj.property?.()` convention. */ export default function extractValueFromOptionalCallExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return `${getValue(value.callee)}?.(${value.arguments.map((x) => getValue(x)).join(', ')})`; } diff --git a/src/values/expressions/OptionalMemberExpression.js b/src/values/expressions/OptionalMemberExpression.js index 8062eae..d236b04 100644 --- a/src/values/expressions/OptionalMemberExpression.js +++ b/src/values/expressions/OptionalMemberExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a OptionalMemberExpression type value node. * A member expression is accessing a property on an object `obj.property`. @@ -7,7 +9,5 @@ * and maintaing `obj?.property` convention. */ export default function extractValueFromOptionalMemberExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return `${getValue(value.object)}?.${getValue(value.property)}`; } diff --git a/src/values/expressions/SequenceExpression.js b/src/values/expressions/SequenceExpression.js index 129d992..d644730 100644 --- a/src/values/expressions/SequenceExpression.js +++ b/src/values/expressions/SequenceExpression.js @@ -1,3 +1,5 @@ +import getValue from './index'; + /** * Extractor function for a SequenceExpression type value node. * A Sequence expression is an object with an attribute named @@ -7,7 +9,5 @@ * @returns - An array of the extracted elements. */ export default function extractValueFromSequenceExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return value.expressions.map((element) => getValue(element)); } diff --git a/src/values/expressions/TSNonNullExpression.js b/src/values/expressions/TSNonNullExpression.js index 79dd1b0..7d74c8f 100644 --- a/src/values/expressions/TSNonNullExpression.js +++ b/src/values/expressions/TSNonNullExpression.js @@ -1,5 +1,5 @@ -const extractValueFromThisExpression = require('./ThisExpression').default; -const extractValueFromCallExpression = require('./CallExpression').default; +import extractValueFromThisExpression from './ThisExpression'; +import extractValueFromCallExpression from './CallExpression'; function navigate(obj, prop, value) { if (value.computed) { diff --git a/src/values/expressions/TypeCastExpression.js b/src/values/expressions/TypeCastExpression.js index 1afd232..aeda1e5 100644 --- a/src/values/expressions/TypeCastExpression.js +++ b/src/values/expressions/TypeCastExpression.js @@ -1,3 +1,4 @@ +import getValue from './index'; /** * Extractor function for a TypeCastExpression type value node. * A type cast expression looks like `(this.handleClick: (event: MouseEvent) => void))` @@ -7,7 +8,5 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromTypeCastExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; return getValue(value.expression); } diff --git a/src/values/expressions/UnaryExpression.js b/src/values/expressions/UnaryExpression.js index b699722..cc1fa35 100644 --- a/src/values/expressions/UnaryExpression.js +++ b/src/values/expressions/UnaryExpression.js @@ -1,3 +1,4 @@ +import getValue from './index'; /** * Extractor function for a UnaryExpression type value node. * A unary expression is an expression with a unary operator. @@ -7,8 +8,6 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromUnaryExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; const { operator, argument } = value; switch (operator) { diff --git a/src/values/expressions/UpdateExpression.js b/src/values/expressions/UpdateExpression.js index 0e3898c..ca005a2 100644 --- a/src/values/expressions/UpdateExpression.js +++ b/src/values/expressions/UpdateExpression.js @@ -1,3 +1,4 @@ +import getValue from './index'; /** * Extractor function for an UpdateExpression type value node. * An update expression is an expression with an update operator. @@ -7,8 +8,6 @@ * @returns - The extracted value converted to correct type. */ export default function extractValueFromUpdateExpression(value) { - // eslint-disable-next-line global-require - const getValue = require('.').default; const { operator, argument, prefix } = value; let val = getValue(argument);