{"id":20349629,"url":"https://github.com/montagejs/mr","last_synced_at":"2025-04-06T07:12:51.545Z","repository":{"id":4341157,"uuid":"5477010","full_name":"montagejs/mr","owner":"montagejs","description":"Montage Require: A \"no-build-step\" CommonJS module system for browsers.","archived":false,"fork":false,"pushed_at":"2021-01-23T12:42:26.000Z","size":1235,"stargazers_count":118,"open_issues_count":13,"forks_count":26,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-05-20T22:21:50.402Z","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":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/montagejs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-20T04:23:26.000Z","updated_at":"2024-01-09T10:25:27.000Z","dependencies_parsed_at":"2022-08-06T16:15:24.141Z","dependency_job_id":null,"html_url":"https://github.com/montagejs/mr","commit_stats":null,"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montagejs%2Fmr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montagejs%2Fmr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montagejs%2Fmr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/montagejs%2Fmr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/montagejs","download_url":"https://codeload.github.com/montagejs/mr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445671,"owners_count":20939958,"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-11-14T22:26:47.067Z","updated_at":"2025-04-06T07:12:51.525Z","avatar_url":"https://github.com/montagejs.png","language":"JavaScript","readme":"\n# Montage Require (aka mr)\n\n[![npm version](https://img.shields.io/npm/v/mr.svg?style=flat)](https://www.npmjs.com/package/mr)\n\n[![Build Status](https://travis-ci.org/montagejs/mr.svg?branch=master)](http://travis-ci.org/montagejs/mr)\n\n[![Analytics](https://ga-beacon.appspot.com/UA-35717912-2/montagejs/mr)](https://github.com/montagejs/mr)\n\nThis is a CommonJS module system, highly compatible with NodeJS,\nintended for front-end development of web applications using npm style\npackages. It is designed to be automatically replaced by the Montage\nOptimizer with a smaller, faster and bundled production module system.\n\nMr is installed as a package in your application using npm:\n\n```bash\n$ npm init                  # if you don't already have a package.json\n$ npm install --save mr\n```\n\nIn an HTML file next to your `package.json` add the Mr script and provide a\nmodule to load:\n\n```html\n\u003cscript src=\"node_modules/mr/bootstrap.js\" data-module=\"index\"\u003e\u003c/script\u003e\n```\n\nStart writing your code in `index.js`, using the `require` function as you\nwould in Node. Have a look at the [demo](https://github.com/montagejs/mr/tree/master/demo)\nfor working example.\n\nYou can place your `package.json` in a different location, or avoid having one\nat all, with other [script tag attributes](https://github.com/montagejs/mr/tree/master/docs/Script-attributes.md).\n\n## Optimization\n\nTake a look at [Mop, the Montage Optimizer](https://github.com/montagejs/mop)\nto optimize applications for production. The optimizer can bundle packages with\nall of the dependent modules, can preload bundles of progressive enhancements\nin phases, and can generate HTML5 application cache manifests.\n\n## Documentation\n\nMr is [compatible with Node and npm](https://github.com/montagejs/mr/tree/master/docs/Node-compatability.md), although\nthere are some differences.\n\nThere is documentation for:\n\n - [`package.json` properties](https://github.com/montagejs/mr/tree/master/docs/Package-API.md)\n - [`require` function](https://github.com/montagejs/mr/tree/master/docs/Require-API.md)\n - [`module` object](https://github.com/montagejs/mr/tree/master/docs/Module-API.md)\n - [The package `config` object](https://github.com/montagejs/mr/tree/master/docs/Config-API.md)\n\nAnd you may be interested in an in-depth look at [how Mr works](https://github.com/montagejs/mr/tree/master/docs/How-it-works.md).\n\n## Compatibility\n\nAt present, Mr depends on `document.querySelector` and\nprobably several other recent EcmaScript methods that might not be\navailable in legacy browsers.  With your help, I intend to isolate and\nfix these bugs.\n\nAt time of writing, tests pass in Chrome 21, Safari 5.1.5, and Firefox\n13 on Mac OS 10.6.\n\n\n## Maintenance\n\nTests are in the `spec` directory. Use `npm test` to run the tests in\nNodeJS or open `spec/run.html` in a browser. \n\nTo run the tests in your browser, simply use `npm run test:jasmine`.\n\nTo run the tests using Karma use `npm run test:karma` and for continious tests run with file changes detection `npm run test:karma-dev`.\n\n## About\n\nThis implementation is a part from Motorola Mobility’s [Montage][] web\napplication framework.  The module system was  written by Tom Robinson\nand Kris Kowal.  Motorola holds the copyright on much of the original\ncontent, and provided it as open source under the permissive BSD\n3-Clause license.  This project is maintained by Kris Kowal and Stuart\nKnightley, continuing with that license.\n\n[Montage]: http://github.com/montage.js/montage\n\n","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmontagejs%2Fmr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmontagejs%2Fmr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmontagejs%2Fmr/lists"}