- Fix commented require issue
- Add support for require('dir') dir/index.js
- Update Travis NodeJS to 4.8.0
- Migrate Montage custom loaders to MontageRequire
- Import support for module types html, mjson and reel from Montage.js
- Import module metadata annotation from Montage.js
- Upgrade tests stack
- Migrate specs to Jasmine 2.5.2O (npm run test:jasmine)
- Revamp NodeJS tests runner (npm test)
- Migrate Phantom.js tests runner to Karma (npm run test:karma)
- Memory optimization by caching a regex and making sure XHRs that are re-used don’t hold on their responses by calling abort() after the request succeeded or failed
- Minimize object creation and closure scope
- speed optimization
- reducing scope lookup
- reducing scope lookup in closure
- updates bluebird dependency to ~3.4.6
- Fixes a bug where a JSON module would fail to load because it would try to re-parse the content while it was already done
- Addresses an issue caused by IE11 non-standard Map.prototype.set that returns undefined instead of Map itself
- Performance Improvements
- Don't load Mr's
devDependencies
into the mappings
- Update Q to v1.0.1
- Disable Firebug workaround that breaks modern Firefox
- Fix display name for packages beginning with digits
- Revert sourceMappingURL change, causes issues in Chrome and doesn't work great in Firefox.
- Change
//@
for//#
for SourceURL comment to match the spec - Use
sourceMappingURL
instead ofsourceURL
. This allows the evaled code to appear as source files in Firefox. - Friendlier display names for modules:
__FILE__http______localhost__8081__montagejs__mr__demo__data__
is nowmr_demo__data
- Fix requiring dependencies with ".js" in their name in script-injection mode (thanks @evax)
- Fix requiring twice a module that throws an error
- Added
moduleTypes
config parameter so that all loadable extensions are known. This fixes a bug where modules with a "." in them would not be loaded as JavaScript modules. When implementing a custom extension loader you must add the extension to theconfig.moduleTypes
array when loading a package.
- Use overlays in config given to
loadPackage
.
- Correct extension detection
- Remove support for
directories
package.json
property. Node ignores the property, and continuing to support it breaks compatibility - Remove support for package reflexive module names
- Fix main linkage for relative identifiers. Previously, a package with a
main
property that started with "./" would be linked incorrectly. - Fix loading of modules with a
.min.js
extension - Don't block XHR for the
file:
protocol. Firefox and Safari allow it as long as requests remain within the HTML page's directory. - Add support for the
browser
property inpackage.json
, as pioneered by Browserify - Add "sandbox", to inject dependencies into a module. Require with
require("mr/sandbox")
- Update Q from v0.9.6 to v0.9.7
- Fix loading of bundles
- Wait for preload to finish before issuing requests for modules that might be included in one of the bundles
- Use
config.read
when running on Node
- Use
config.read
to loadpackage.json
if given toloadPackage
- Fix
require.identify
to work with cyclic package dependencies
- Fix bootstrap stopping if document had finished loading.
- Update to Q v0.9.6
- Add more complete demo and split the readme into multiple documentation files.
- Fix bug when loading dependencies that use script-injection which are not included in a preloading bundle. Before Mr would hang when waiting for them to load.
- Fix bug in preloading, where isResolved was replaced with isPending in Q 0.9
- Fix preloading. Fixes some logic in figuring out whether to issue a script request for a package.json in production
- Test runner updates
- Add injectDependency and injectMapping
- Update case sensitivity test to capture errors on first require, for case sensitive file systems
- Add support for running tests under PhantomJS and Travis
- Update Q from v0.9.0 to v0.9.2
- Update Q from v0.8.12 to v0.9.0
- Defer throwing load errors to execution (Fixes #14)
- Update bootstrapping for latest Q
- Support returned exports in bootstrapping
- Export more Node utilities (when used on Node)
- Require.urlToPath -> Require.locationToPath(location)
- Add Require.filePathToLocation(path)
- Add Require.directoryPathToLocation(path)
- Add Require.findPackagePath(directory)
- Add Require.findPackageLocationAndModuleId(path)
- Add support for
production
mode. Currently causes Mr to ignoredevDependencies
- Update Q to 0.8.12