{"id":18651357,"url":"https://github.com/alexisvincent/systemjs-config-builder","last_synced_at":"2025-04-11T15:31:16.737Z","repository":{"id":65513633,"uuid":"73486909","full_name":"alexisvincent/systemjs-config-builder","owner":"alexisvincent","description":"Generate SystemJS config files from node_modules","archived":false,"fork":false,"pushed_at":"2017-02-19T22:01:10.000Z","size":223,"stargazers_count":25,"open_issues_count":8,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-10T15:14:00.489Z","etag":null,"topics":["jspm","node-modules","systemjs","systemjs-config-builder"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexisvincent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-11T15:03:07.000Z","updated_at":"2019-08-30T07:18:52.000Z","dependencies_parsed_at":"2023-01-26T21:01:00.340Z","dependency_job_id":null,"html_url":"https://github.com/alexisvincent/systemjs-config-builder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvincent%2Fsystemjs-config-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvincent%2Fsystemjs-config-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvincent%2Fsystemjs-config-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexisvincent%2Fsystemjs-config-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexisvincent","download_url":"https://codeload.github.com/alexisvincent/systemjs-config-builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248431391,"owners_count":21102194,"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":["jspm","node-modules","systemjs","systemjs-config-builder"],"created_at":"2024-11-07T06:49:36.013Z","updated_at":"2025-04-11T15:31:11.723Z","avatar_url":"https://github.com/alexisvincent.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SystemJS Config Builder\nGenerate SystemJS config files from node_modules\n\n## Overview\nThe easiest way to include modules in SystemJS is *currently* through JSPM. This project aims to provide an alternative, by leveraging the deterministic installs of Yarn (also works with npm) and generating config files to explain to SystemJS how to resolve modules from `node_modules`.\n\n## Roadmap\n\n- [x] Trace node_modules and build registry\n- [x] Generage compatability configs for packages\n- [x] Generate valid SystemJS config file\n- [x] Make sure loading React.JS works\n- [x] Cache registry (to speed up subsequent generations)\n- [x] Use own @node polyfills. See [#1](https://github.com/alexisvincent/systemjs-config-builder/issues/1) for progress\n- [x] Respect `jspmPackage: true`\n- [x] Perform path optimisations (nm: -\u003e node_modules), for smaller configs\n- [ ] Fully support npm resolve algorithym (upper node_module and single dep node_modules)\n- [ ] Allow simple local overrides\n- [ ] Use JSPM overrides\n- [ ] Allow dependency filtering (so we don't include deps meant for just the server)\n- [ ] Provide CLI flag to optimize generated.config.js\n- [ ] Allow configurability\n- [ ] Make more robust\n\nCurrently, given this [package.json](./test/babel/package.json), \nSystemJS Config Builder generates this [config](./test/babel/generated.config.js).\n\n\n## Usage\n### [Example Project (with usage instructions)](./example)\nYou can test the generation via the cli in [systemjs-tools](https://github.com/alexisvincent/systemjs-tools).\n\n`yarn global add systemjs-tools`\n\nadd SystemJS @node browser polyfills\n\n`yarn add systemjs-nodelibs`\n\nand generate the config\n\n`systemjs config`\n\noptionally you can also add a postinstall hook to do this automatically\n\npackage.json\n```json\n{\n  \"scripts\": {\n    \"postinstall\": \"systemjs config\"\n  }\n}\n```\n\n## Thanks\nThanks to [Juha Järvi](https://github.com/jjrv) for helping me flesh out this idea and for the discussions regarding\nhis awesome [cbuild project](https://github.com/charto/cbuild).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexisvincent%2Fsystemjs-config-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexisvincent%2Fsystemjs-config-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexisvincent%2Fsystemjs-config-builder/lists"}