Skip to content

feat: add option ext #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5,584 changes: 3,314 additions & 2,270 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sigmacomputing/babel-plugin-lodash",
"version": "3.3.5",
"name": "@openagenda/babel-plugin-lodash",
"version": "3.4.0",
"description": "Modular Lodash builds without the hassle.",
"keywords": [
"babel-plugin",
Expand Down
8 changes: 4 additions & 4 deletions src/importModule.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import mapping from './mapping'

/*----------------------------------------------------------------------------*/

function resolvePath(pkgStore, name, path) {
function resolvePath(pkgStore, name, path, ext) {
let { base, id } = pkgStore
const lower = name.toLowerCase()
const module = mapping.modules.get(id)
Expand All @@ -20,11 +20,11 @@ function resolvePath(pkgStore, name, path) {
}
}

return id + '/' + (base ? base + '/' : '') + module.get(base).get(lower)
return id + '/' + (base ? base + '/' : '') + module.get(base).get(lower) + ext
}

function importModule(pkgStore, name, path) {
return addDefault(path, resolvePath(pkgStore, name, path), { nameHint: name })
function importModule(pkgStore, name, path, ext) {
return addDefault(path, resolvePath(pkgStore, name, path, ext), { nameHint: name })
}

export default _.memoize(importModule, (pkgStore, name) => (pkgStore.path + '/' + name).toLowerCase())
10 changes: 6 additions & 4 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ export default function lodash({ types }) {
const visitor = {
Program(path, state) {
const { ids } = _.assign(mapping, config(state.opts))
const { ext = '.js' } = state.opts
const { file } = path.hub

// Clear tracked method imports.
Expand Down Expand Up @@ -157,7 +158,7 @@ export default function lodash({ types }) {
if (isChain && refPath.parentPath.isCallExpression()) {
throw refPath.buildCodeFrameError(CHAIN_ERROR)
}
const { name } = importModule(pkgStore, imported, refPath)
const { name } = importModule(pkgStore, imported, refPath, ext)
refPath.replaceWith({ type, name })
}
else if (parentPath.isMemberExpression()) {
Expand All @@ -169,7 +170,7 @@ export default function lodash({ types }) {
throw refPath.buildCodeFrameError(CHAIN_ERROR)
}

const { name } = importModule(pkgStore, key, refPath)
const { name } = importModule(pkgStore, key, refPath, ext)
parentPath.replaceWith({ type, name })
}
else if (isLodash) {
Expand All @@ -194,7 +195,8 @@ export default function lodash({ types }) {
}
},

ExportNamedDeclaration(path) {
ExportNamedDeclaration(path, state) {
const { ext = '.js' } = state.opts
const { node } = path
const pkgPath = _.get(node, 'source.value')
const pkgStore = store.get(pkgPath)
Expand All @@ -205,7 +207,7 @@ export default function lodash({ types }) {

node.source = null
_.each(node.specifiers, (spec) => {
spec.local = importModule(pkgStore, spec.local.name, path)
spec.local = importModule(pkgStore, spec.local.name, path, ext)
})
}
}
Expand Down
4 changes: 2 additions & 2 deletions test/fixtures/compat-arguments/expected.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"use strict";

var _map2 = _interopRequireDefault(require("lodash-compat/collection/map"));
var _map2 = _interopRequireDefault(require("lodash-compat/collection/map.js"));

var _capitalize2 = _interopRequireDefault(require("lodash-compat/string/capitalize"));
var _capitalize2 = _interopRequireDefault(require("lodash-compat/string/capitalize.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

Expand Down
8 changes: 4 additions & 4 deletions test/fixtures/compat-basic-default/expected.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
"use strict";

var _reject2 = _interopRequireDefault(require("lodash-compat/collection/reject"));
var _reject2 = _interopRequireDefault(require("lodash-compat/collection/reject.js"));

var _take2 = _interopRequireDefault(require("lodash-compat/array/take"));
var _take2 = _interopRequireDefault(require("lodash-compat/array/take.js"));

var _add2 = _interopRequireDefault(require("lodash-compat/math/add"));
var _add2 = _interopRequireDefault(require("lodash-compat/math/add.js"));

var _map2 = _interopRequireDefault(require("lodash-compat/collection/map"));
var _map2 = _interopRequireDefault(require("lodash-compat/collection/map.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

Expand Down
8 changes: 4 additions & 4 deletions test/fixtures/compat-basic-member/expected.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
"use strict";

var _take2 = _interopRequireDefault(require("lodash-compat/array/take"));
var _take2 = _interopRequireDefault(require("lodash-compat/array/take.js"));

var _reject2 = _interopRequireDefault(require("lodash-compat/collection/reject"));
var _reject2 = _interopRequireDefault(require("lodash-compat/collection/reject.js"));

var _map2 = _interopRequireDefault(require("lodash-compat/collection/map"));
var _map2 = _interopRequireDefault(require("lodash-compat/collection/map.js"));

var _add2 = _interopRequireDefault(require("lodash-compat/math/add"));
var _add2 = _interopRequireDefault(require("lodash-compat/math/add.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

Expand Down
10 changes: 5 additions & 5 deletions test/fixtures/compat-default-and-member/expected.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"use strict";

var _reject2 = _interopRequireDefault(require("lodash-compat/collection/reject"));
var _reject2 = _interopRequireDefault(require("lodash-compat/collection/reject.js"));

var _add2 = _interopRequireDefault(require("lodash-compat/math/add"));
var _add2 = _interopRequireDefault(require("lodash-compat/math/add.js"));

var _take2 = _interopRequireDefault(require("lodash-compat/array/take"));
var _take2 = _interopRequireDefault(require("lodash-compat/array/take.js"));

var _map2 = _interopRequireDefault(require("lodash-compat/collection/map"));
var _map2 = _interopRequireDefault(require("lodash-compat/collection/map.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const result = (0, _map2.default)([], n => (0, _add2.default)(1, n));
(0, _take2.default)((0, _reject2.default)(result), 1);
(0, _take2.default)((0, _reject2.default)(result), 1);
10 changes: 5 additions & 5 deletions test/fixtures/compat-expression-default/expected.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
"use strict";

var _filter2 = _interopRequireDefault(require("lodash-compat/collection/filter"));
var _filter2 = _interopRequireDefault(require("lodash-compat/collection/filter.js"));

var _map2 = _interopRequireDefault(require("lodash-compat/collection/map"));
var _map2 = _interopRequireDefault(require("lodash-compat/collection/map.js"));

var _noop2 = _interopRequireDefault(require("lodash-compat/utility/noop"));
var _noop2 = _interopRequireDefault(require("lodash-compat/utility/noop.js"));

var _identity2 = _interopRequireDefault(require("lodash-compat/utility/identity"));
var _identity2 = _interopRequireDefault(require("lodash-compat/utility/identity.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

_identity2.default || _noop2.default;
_noop2.default ? _map2.default : _filter2.default;
_noop2.default;
_noop2.default;
10 changes: 5 additions & 5 deletions test/fixtures/compat-expression-member/expected.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
"use strict";

var _noop2 = _interopRequireDefault(require("lodash-compat/utility/noop"));
var _noop2 = _interopRequireDefault(require("lodash-compat/utility/noop.js"));

var _map2 = _interopRequireDefault(require("lodash-compat/collection/map"));
var _map2 = _interopRequireDefault(require("lodash-compat/collection/map.js"));

var _identity2 = _interopRequireDefault(require("lodash-compat/utility/identity"));
var _identity2 = _interopRequireDefault(require("lodash-compat/utility/identity.js"));

var _filter2 = _interopRequireDefault(require("lodash-compat/collection/filter"));
var _filter2 = _interopRequireDefault(require("lodash-compat/collection/filter.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

_identity2.default || _noop2.default;
_noop2.default ? _map2.default : _filter2.default;
_noop2.default;
_noop2.default;
8 changes: 4 additions & 4 deletions test/fixtures/compat-property-values/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
});
exports.formatters = void 0;

var _snakeCase2 = _interopRequireDefault(require("lodash-compat/string/snakeCase"));
var _snakeCase2 = _interopRequireDefault(require("lodash-compat/string/snakeCase.js"));

var _kebabCase2 = _interopRequireDefault(require("lodash-compat/string/kebabCase"));
var _kebabCase2 = _interopRequireDefault(require("lodash-compat/string/kebabCase.js"));

var _camelCase2 = _interopRequireDefault(require("lodash-compat/string/camelCase"));
var _camelCase2 = _interopRequireDefault(require("lodash-compat/string/camelCase.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

Expand All @@ -18,4 +18,4 @@ const formatters = {
'kebabCase': _kebabCase2.default,
'snakeCase': _snakeCase2.default
};
exports.formatters = formatters;
exports.formatters = formatters;
6 changes: 3 additions & 3 deletions test/fixtures/compat-variable-declarator-exports/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
});
exports.case3 = exports.case2 = exports.case1 = void 0;

var _kebabCase2 = _interopRequireDefault(require("lodash-compat/string/kebabCase"));
var _kebabCase2 = _interopRequireDefault(require("lodash-compat/string/kebabCase.js"));

var _camelCase2 = _interopRequireDefault(require("lodash-compat/string/camelCase"));
var _camelCase2 = _interopRequireDefault(require("lodash-compat/string/camelCase.js"));

var _string = require("string");

Expand All @@ -18,4 +18,4 @@ exports.case1 = case1;
const case2 = _kebabCase2.default;
exports.case2 = case2;
const case3 = _string.snakeCase;
exports.case3 = case3;
exports.case3 = case3;
6 changes: 3 additions & 3 deletions test/fixtures/es-arguments/expected.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use strict";

var _map2 = _interopRequireDefault(require("lodash-es/map"));
var _map2 = _interopRequireDefault(require("lodash-es/map.js"));

var _capitalize2 = _interopRequireDefault(require("lodash-es/capitalize"));
var _capitalize2 = _interopRequireDefault(require("lodash-es/capitalize.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

(0, _map2.default)([], _capitalize2.default);
(0, _map2.default)([], _capitalize2.default);
10 changes: 5 additions & 5 deletions test/fixtures/es-basic-default/expected.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"use strict";

var _reject2 = _interopRequireDefault(require("lodash-es/reject"));
var _reject2 = _interopRequireDefault(require("lodash-es/reject.js"));

var _take2 = _interopRequireDefault(require("lodash-es/take"));
var _take2 = _interopRequireDefault(require("lodash-es/take.js"));

var _add2 = _interopRequireDefault(require("lodash-es/add"));
var _add2 = _interopRequireDefault(require("lodash-es/add.js"));

var _map2 = _interopRequireDefault(require("lodash-es/map"));
var _map2 = _interopRequireDefault(require("lodash-es/map.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const result = (0, _map2.default)([], n => (0, _add2.default)(1, n));
(0, _take2.default)((0, _reject2.default)(result), 1);
(0, _take2.default)((0, _reject2.default)(result), 1);
10 changes: 5 additions & 5 deletions test/fixtures/es-basic-member/expected.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"use strict";

var _take2 = _interopRequireDefault(require("lodash-es/take"));
var _take2 = _interopRequireDefault(require("lodash-es/take.js"));

var _reject2 = _interopRequireDefault(require("lodash-es/reject"));
var _reject2 = _interopRequireDefault(require("lodash-es/reject.js"));

var _map2 = _interopRequireDefault(require("lodash-es/map"));
var _map2 = _interopRequireDefault(require("lodash-es/map.js"));

var _add2 = _interopRequireDefault(require("lodash-es/add"));
var _add2 = _interopRequireDefault(require("lodash-es/add.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const result = (0, _map2.default)([], n => (0, _add2.default)(1, n));
(0, _take2.default)((0, _reject2.default)(result), 1);
(0, _take2.default)((0, _reject2.default)(result), 1);
10 changes: 5 additions & 5 deletions test/fixtures/es-default-and-member/expected.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
"use strict";

var _reject2 = _interopRequireDefault(require("lodash-es/reject"));
var _reject2 = _interopRequireDefault(require("lodash-es/reject.js"));

var _add2 = _interopRequireDefault(require("lodash-es/add"));
var _add2 = _interopRequireDefault(require("lodash-es/add.js"));

var _take2 = _interopRequireDefault(require("lodash-es/take"));
var _take2 = _interopRequireDefault(require("lodash-es/take.js"));

var _map2 = _interopRequireDefault(require("lodash-es/map"));
var _map2 = _interopRequireDefault(require("lodash-es/map.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const result = (0, _map2.default)([], n => (0, _add2.default)(1, n));
(0, _take2.default)((0, _reject2.default)(result), 1);
(0, _take2.default)((0, _reject2.default)(result), 1);
14 changes: 7 additions & 7 deletions test/fixtures/es-expression-default/expected.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
"use strict";

var _pick2 = _interopRequireDefault(require("lodash-es/pick"));
var _pick2 = _interopRequireDefault(require("lodash-es/pick.js"));

var _omit2 = _interopRequireDefault(require("lodash-es/omit"));
var _omit2 = _interopRequireDefault(require("lodash-es/omit.js"));

var _filter2 = _interopRequireDefault(require("lodash-es/filter"));
var _filter2 = _interopRequireDefault(require("lodash-es/filter.js"));

var _map2 = _interopRequireDefault(require("lodash-es/map"));
var _map2 = _interopRequireDefault(require("lodash-es/map.js"));

var _noop2 = _interopRequireDefault(require("lodash-es/noop"));
var _noop2 = _interopRequireDefault(require("lodash-es/noop.js"));

var _identity2 = _interopRequireDefault(require("lodash-es/identity"));
var _identity2 = _interopRequireDefault(require("lodash-es/identity.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const func1 = _identity2.default || _noop2.default;
const func2 = _noop2.default ? _map2.default : _filter2.default;
_noop2.default;
(bool ? _omit2.default : _pick2.default)(object);
(bool ? _omit2.default : _pick2.default)(object);
10 changes: 5 additions & 5 deletions test/fixtures/es-expression-member/expected.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
"use strict";

var _noop2 = _interopRequireDefault(require("lodash-es/noop"));
var _noop2 = _interopRequireDefault(require("lodash-es/noop.js"));

var _map2 = _interopRequireDefault(require("lodash-es/map"));
var _map2 = _interopRequireDefault(require("lodash-es/map.js"));

var _identity2 = _interopRequireDefault(require("lodash-es/identity"));
var _identity2 = _interopRequireDefault(require("lodash-es/identity.js"));

var _filter2 = _interopRequireDefault(require("lodash-es/filter"));
var _filter2 = _interopRequireDefault(require("lodash-es/filter.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

_identity2.default || _noop2.default;
_noop2.default ? _map2.default : _filter2.default;
_noop2.default;
_noop2.default;
8 changes: 4 additions & 4 deletions test/fixtures/es-property-values/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
});
exports.formatters = void 0;

var _snakeCase2 = _interopRequireDefault(require("lodash-es/snakeCase"));
var _snakeCase2 = _interopRequireDefault(require("lodash-es/snakeCase.js"));

var _kebabCase2 = _interopRequireDefault(require("lodash-es/kebabCase"));
var _kebabCase2 = _interopRequireDefault(require("lodash-es/kebabCase.js"));

var _camelCase2 = _interopRequireDefault(require("lodash-es/camelCase"));
var _camelCase2 = _interopRequireDefault(require("lodash-es/camelCase.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

Expand All @@ -18,4 +18,4 @@ const formatters = {
'kebabCase': _kebabCase2.default,
'snakeCase': _snakeCase2.default
};
exports.formatters = formatters;
exports.formatters = formatters;
6 changes: 3 additions & 3 deletions test/fixtures/es-variable-declarator-exports/expected.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
});
exports.case3 = exports.case2 = exports.case1 = void 0;

var _kebabCase2 = _interopRequireDefault(require("lodash-es/kebabCase"));
var _kebabCase2 = _interopRequireDefault(require("lodash-es/kebabCase.js"));

var _camelCase2 = _interopRequireDefault(require("lodash-es/camelCase"));
var _camelCase2 = _interopRequireDefault(require("lodash-es/camelCase.js"));

var _string = require("string");

Expand All @@ -18,4 +18,4 @@ exports.case1 = case1;
const case2 = _kebabCase2.default;
exports.case2 = case2;
const case3 = _string.snakeCase;
exports.case3 = case3;
exports.case3 = case3;
Loading