{"id":16299496,"url":"https://github.com/ryanroll/babel-package-import","last_synced_at":"2026-06-15T21:32:05.244Z","repository":{"id":67846588,"uuid":"49807741","full_name":"RyanRoll/babel-package-import","owner":"RyanRoll","description":"A way of structuring JS modules","archived":false,"fork":false,"pushed_at":"2016-02-18T06:31:38.000Z","size":23,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-02T09:21:26.830Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RyanRoll.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-17T07:35:54.000Z","updated_at":"2016-02-23T01:36:29.000Z","dependencies_parsed_at":"2023-06-25T22:30:37.667Z","dependency_job_id":null,"html_url":"https://github.com/RyanRoll/babel-package-import","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"c53608bae6fd7ed15cae7cc593a9976249ebc85e"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanRoll%2Fbabel-package-import","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanRoll%2Fbabel-package-import/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanRoll%2Fbabel-package-import/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanRoll%2Fbabel-package-import/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RyanRoll","download_url":"https://codeload.github.com/RyanRoll/babel-package-import/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103701,"owners_count":21048234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T20:48:12.798Z","updated_at":"2025-11-08T22:02:42.482Z","avatar_url":"https://github.com/RyanRoll.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Babel Package Import\n\n[![Travis branch](https://img.shields.io/travis/RyanRoll/babel-package-import/master.svg?style=flat-square)](https://travis-ci.org/RyanRoll/babel-package-import)\n[![npm](https://img.shields.io/npm/v/babel-package-import.svg?style=flat-square)](https://www.npmjs.com/package/babel-package-import)\n[![npm](https://img.shields.io/npm/l/babel-package-import.svg?style=flat-square)](https://www.npmjs.com/package/babel-package-import)\n\nA way of structuring JS modules\n\n## Example\n\n##### Package Structure\n\n```\nmyApp\n├── moduleA\n│   └── index.js\n├── moduleB\n│   └── index.js\n├── moduleC\n│   └── index.js\n└── index.js\n```\n\n\n##### In\n\n```jsx\nimport * as myApp from './myApp/*';\n```\n\n##### Out(ES6)\n\n```jsx\nlet myApp = {};\nmyApp['index'] = require('./myApp/index');\nmyApp['moduleA'] = {};\nmyApp['moduleA']['index'] = require('./myApp/moduleA/index');\nmyApp['moduleB'] = {};\nmyApp['moduleB']['index'] = require('./myApp/moduleB/index');\nmyApp['moduleC'] = {};\nmyApp['moduleC']['index'] = require('./myApp/moduleC/index');\n\n```\n\n##### Out(Raw)\n\n\n```jsx\nuse strict';\nvar _index = require('./myApp/index');\nvar $$_import_N1ebPFQ6qx = _interopRequireWildcard(_index);\nvar _index2 = require('./myApp/moduleA/index');\nvar $$_import_EJb_vtXT9l = _interopRequireWildcard(_index2);\nvar _index3 = require('./myApp/moduleB/index');\nvar $$_import_4yG_vtQ65l = _interopRequireWildcard(_index3);\nvar _index4 = require('./myApp/moduleC/index');\nvar $$_import_NJmbPFXa5g = _interopRequireWildcard(_index4);\n\nfunction _interopRequireWildcard(obj) { if (obj \u0026\u0026 obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar $$_export_VJZwKQT9l = {};\n$$_export_VJZwKQT9l['index'] = $$_import_N1ebPFQ6qx;\n$$_export_VJZwKQT9l['moduleA'] = {};\n$$_export_VJZwKQT9l['moduleA']['index'] = $$_import_EJb_vtXT9l;\n$$_export_VJZwKQT9l['moduleB'] = {};\n$$_export_VJZwKQT9l['moduleB']['index'] = $$_import_4yG_vtQ65l;\n$$_export_VJZwKQT9l['moduleC'] = {};\n$$_export_VJZwKQT9l['moduleC']['index'] = $$_import_NJmbPFXa5g;\nvar myApp = $$_export_VJZwKQT9l;\n```\n\n\n## Usage\n\n##### Via `.babelrc` (Recommended)\n**.babelrc**\n\n```json\n{\n  \"plugins\": [\"babel-package-import\"]\n}\n```\n\n##### Via CLI\n\n```sh\n$ babel --plugins babel-package-import script.js\n```\n\n##### Via Node API\n\n```jsx\nimport { transform } from 'babel-core';\ntransform('code', {\n  plugins: ['babel-package-import']\n});\n```\n\n## Installation\n\n```\nnpm install --save-dev babel-package-import\n```\n\n## Import Cache\n\nBabel Package Import will cache modules which has been imported for every file.\n\n#### Example\n\n##### In\n\n```jsx\nimport * as myApp from './myApp/*';\nimport myApp2, { index as indexJS, moduleA } from './myApp/*';\n\n```\n\n##### Out(Raw)\n\n```jsx\n'use strict';\nvar _index = require('./myApp/index');\nvar $$_import_4ygTNmf9qx = _interopRequireWildcard(_index);\nvar _index2 = require('./myApp/moduleA/index');\nvar $$_import_4J_TNXM55e = _interopRequireWildcard(_index2);\nvar _index3 = require('./myApp/moduleB/index');\nvar $$_import_NkzTEmzq9e = _interopRequireWildcard(_index3);\nvar _index4 = require('./myApp/moduleC/index');\nvar $$_import_4JXpEmG99e = _interopRequireWildcard(_index4);\n\nfunction _interopRequireWildcard(obj) { if (obj \u0026\u0026 obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar $$_export_EyaEmM5qx = {};\n$$_export_EyaEmM5qx['index'] = $$_import_4ygTNmf9qx;\n$$_export_EyaEmM5qx['moduleA'] = {};\n$$_export_EyaEmM5qx['moduleA']['index'] = $$_import_4J_TNXM55e;\n$$_export_EyaEmM5qx['moduleB'] = {};\n$$_export_EyaEmM5qx['moduleB']['index'] = $$_import_NkzTEmzq9e;\n$$_export_EyaEmM5qx['moduleC'] = {};\n$$_export_EyaEmM5qx['moduleC']['index'] = $$_import_4JXpEmG99e;\nvar myApp = $$_export_EyaEmM5qx;\nvar myApp2 = $$_export_EyaEmM5qx;\nvar _$$_export_EyaEmM5qx = $$_export_EyaEmM5qx;\nvar indexJS = _$$_export_EyaEmM5qx.index;\nvar moduleA = _$$_export_EyaEmM5qx.moduleA;\n\n```\n\n## License\n\n[MIT license](https://github.com/RyanRoll/babel-package-import/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanroll%2Fbabel-package-import","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanroll%2Fbabel-package-import","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanroll%2Fbabel-package-import/lists"}