UNPKG

babel-plugin-bulk-import

Version:
3 lines 2.62 kB
'use strict';var _=require('../');var _2=_interopRequireDefault(_);var _path=require('path');var _path2=_interopRequireDefault(_path);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}/** * Created by madshall on 8/2/17. */var babel=require('babel-core');var debug=require('debug')('bulkimport');var parse=function parse(code,name){var f=new Function('require','\n '+code+';\n return '+name+';\n ');debug('\n '+code+';\n return '+name+';\n ');var res;try{res=f(require)}catch(e){debug(e)}debug(res);return res};it('works with all',function(){var example='import * as all from \'./case/**/*.js\';';var _babel$transform=babel.transform(example,{plugins:[_2.default],filename:_path2.default.resolve(__dirname,__filename)}),code=_babel$transform.code;expect(code).toBeDefined()});it('can resolve modules from local path',function(){var example='import * as all from \'./case/**/*.js\';';var _babel$transform2=babel.transform(example,{plugins:[_2.default],filename:_path2.default.resolve(__dirname,__filename)}),code=_babel$transform2.code;var all=parse(code,'all');expect(all.case).toBeDefined();expect(all.case.case1).toBeDefined();expect(all.case.case1.case).toBe(1);expect(all.case.subfolder).toBeDefined();expect(all.case.subfolder.case3).toBeDefined();expect(all.case.subfolder.case3.case).toBe(3)});it('can resolve modules from node_modules',function(){var example='import * as all from \'lodash/{*,**/*}.js\';';var _babel$transform3=babel.transform(example,{plugins:[_2.default],filename:_path2.default.resolve(__dirname,__filename)}),code=_babel$transform3.code;var all=parse(code,'all');expect(all.node_modules.lodash).toBeDefined();expect(all.node_modules.lodash.fp).toBeDefined()});it('can resolve modules with their own requirements',function(){var example='import * as all from \'./case/**/*.js\';';var _babel$transform4=babel.transform(example,{plugins:[_2.default],filename:_path2.default.resolve(__dirname,__filename)}),code=_babel$transform4.code;var all=parse(code,'all');expect(all.case).toBeDefined();expect(all.case.case3.case.case).toBe(3)});it('works with partial imports',function(){var example='import {case1 as C1, case2 as C2, case3 as C3, subfolder as S} from \'./case/**/*.js\';';var _babel$transform5=babel.transform(example,{plugins:[_2.default],filename:_path2.default.resolve(__dirname,__filename)}),code=_babel$transform5.code;var partials=parse(code,'{C1, C2, C3, S}');expect(code).toBeDefined();expect(partials.C1.case).toBe(1);expect(partials.C2.case).toBe(2);expect(partials.C3.case).toBe(3);expect(partials.S).toBeUndefined()});