Commit Graph

21282 Commits

Author SHA1 Message Date
Ben Newman
b920f6fe15 Bump package versions for 1.7.1-beta.8 release. release/METEOR@1.7.1-beta.8 2018-06-28 19:08:08 -04:00
Ben Newman
e53c74c2cb Merge branch 'devel' into release-1.7.1 2018-06-28 19:04:15 -04:00
Ben Newman
4502ad6e57 Merge pull request #10029 from meteor/isomorphic-fetch
Provide isomorphic implementation of WHATWG fetch() API.
2018-06-28 18:58:53 -04:00
Ben Newman
9abd2ce4c8 Add another basic fetch() test. 2018-06-28 18:52:58 -04:00
James Burgess
a20f4e74d8 Replace http with fetch in bundle-visualizer (#10031) 2018-06-28 18:33:44 -04:00
Ben Newman
a024544b45 Switch appcache tests from HTTP to fetch(). 2018-06-28 18:32:31 -04:00
Ben Newman
4363c4d0ec Removed unused http dependency from ddp-client. 2018-06-28 18:32:31 -04:00
Ben Newman
6e4b7b4d3d Remove unused http and random dependencies from autoupdate. 2018-06-28 18:32:30 -04:00
Ben Newman
2be9902a1e Switch dynamic-import from HTTP to fetch. 2018-06-28 18:32:30 -04:00
Ben Newman
06ea07d14b Provide isomorphic implementation of WHATWG fetch() API. 2018-06-28 18:25:14 -04:00
Ben Newman
8b04c25390 Emit multiple meteorInstall calls for distinct meteorInstallOptions.
I recently noticed a bug whereby modules transferred from the application
bundle to the modules bundle would lose their application-specific import
extensions, since all modules installed in the modules bundle have only
.js and .json as import extensions, matching default Node behavior.

This commit fixes that bug by emitting one meteorInstall call per distinct
meteorInstallOptions object. This logic would work if every module had a
different meteorInstallOptions object, but in practice the modules bundle
should end up with exactly two meteorInstall calls, because a single
options object is shared among all modules from the same source batch.
2018-06-28 18:07:34 -04:00
Ben Newman
ae609e0d96 Improve file.imported logic in the ImportScanner. 2018-06-28 14:12:24 -04:00
Ben Newman
6b572c6ad3 Bump package versions for 1.7.1-beta.7 release. release/METEOR@1.7.1-beta.7 2018-06-26 15:48:08 -04:00
Ben Newman
ce4197cb71 Mention update of install npm package in History.md. 2018-06-26 15:46:21 -04:00
Ben Newman
eee2557a44 Update meteor-babel to version 7.0.0-beta.51-1. 2018-06-26 15:45:45 -04:00
Ben Newman
b425a82afe Merge branch 'devel' into release-1.7.1 2018-06-26 15:13:45 -04:00
Ben Newman
6fa99a9923 Merge pull request #10033 from meteor/improve-lazy-output-resource-error-reporting
Improve lazy OutputResource error reporting.
2018-06-26 15:11:39 -04:00
Ben Newman
ea69f4ece1 Make unchecked pending errors fatal in OutputResource#_get. 2018-06-26 14:37:09 -04:00
Ben Newman
cf804f22e4 Do not return files with errors from ImportScanner#getOutputFiles.
This works whether or not the file object is a JsOutputResource.
2018-06-26 14:25:32 -04:00
Ben Newman
59eecf9dad Ensure at least one error reported when lazyFinalizer fails. 2018-06-26 14:24:16 -04:00
Ben Newman
5abc8fbdd2 Always record ResourceSlot errors in InputFile#addError. 2018-06-26 13:54:09 -04:00
Ben Newman
9f7ef9cdb1 Fix compiler plugins caching self-test for the stylus plugin. 2018-06-26 13:09:37 -04:00
Ben Newman
de3fef17ca Stop eagerly forcing compilation of lazy CssOutputResources.
This should be a better fix for the problem I tried to fix with
479e505d71.

If we're going to be using compileOneFileLater by default, that's what we
should be testing in the compiler plugins self-tests.
2018-06-26 13:09:28 -04:00
Ben Newman
f7f3d34181 Mark non-isRoot files lazy in MultiFileCachingCompiler.
The concept of a "root" file is specific to MultiFileCachingCompiler, so
we need to normalize it into a representation that makes sense to the rest
of the compiler plugin system.

Should help with #10014.
2018-06-26 13:09:14 -04:00
Ben Newman
2d4019ddd9 Bump package versions for 1.7.1-beta.6 release. release/METEOR@1.7.1-beta.6 2018-06-25 16:47:33 -04:00
Ben Newman
156f167d52 Merge branch 'devel' into release-1.7.1 2018-06-25 16:45:30 -04:00
Ben Newman
24865b28a0 Wrap Module.prototype.require instead of using options.wrapRequire.
a630b5c2ac
7a9abeca88
2018-06-25 16:43:46 -04:00
Ben Newman
9f06a6f6c5 Allow resolving index.* modules with non-.js file extensions. (#10027)
The previous commit enabled importing index.* modules at runtime, but
unfortunately the build-time Resolver logic also needed updating, which
will require a new Meteor release.
2018-06-25 14:36:45 -04:00
Ben Newman
445fd3714a Update install package used by modules-runtime to version 0.11.1.
This enables using index.* modules with non-.js file extensions to make
the containing directory importable (cc @justinanastos):
c417044421

Since this is a core package patch update, you can update to this version
of the modules-runtime package by running

  meteor update modules-runtime

This should give you modules-runtime@0.10.1.
2018-06-25 13:25:15 -04:00
Ben Newman
f804132d7b Bump package versions for 1.7.1-beta.5 release. release/METEOR@1.7.1-beta.5 2018-06-23 10:22:28 -04:00
Ben Newman
35e6d912e0 Fix compiler plugins caching self-test for the stylus plugin. 2018-06-23 09:57:38 -04:00
James Burgess
fbea42ca7c Replace generic bundle names with arch names in bundle-visualizer (#10021) 2018-06-22 16:46:34 -04:00
Ben Newman
211d0b25fa Stop eagerly forcing compilation of lazy CssOutputResources.
This should be a better fix for the problem I tried to fix with
479e505d71.

If we're going to be using compileOneFileLater by default, that's what we
should be testing in the compiler plugins self-tests.
2018-06-22 16:43:55 -04:00
Ben Newman
fb8bcf44b0 Mark non-isRoot files lazy in MultiFileCachingCompiler.
The concept of a "root" file is specific to MultiFileCachingCompiler, so
we need to normalize it into a representation that makes sense to the rest
of the compiler plugin system.

Should help with #10014.
2018-06-22 16:43:54 -04:00
Ben Newman
a355eaa5f3 Merge branch 'devel' into release-1.7.1 2018-06-18 16:19:23 -04:00
Ben Newman
f42629ce5e Merge branch 'master' into devel 2018-06-16 15:21:11 -04:00
Ben Newman
3fe7fb9ebf Merge branch 'release-1.6.1.3' 2018-06-16 15:18:44 -04:00
Ben Newman
1a8cb855ba Bump package versions for the official 1.6.1.3 release. release/METEOR@1.6.1.3 2018-06-16 14:56:11 -04:00
Ben Newman
921e55bd3c Bump package versions for 1.6.1.3-rc.0 release. release/METEOR@1.6.1.3-rc.0 2018-06-16 11:44:34 -04:00
Ben Newman
536cf34910 Bump $BUNDLE_VERSION to 8.11.3-meteor-1.6.1.3 before rebuilding dev bundle. 2018-06-16 11:15:54 -04:00
Ben Newman
1a265b39ce Update Node to version 8.11.3. 2018-06-16 11:09:55 -04:00
Ben Newman
62c6917f8d Bump package versions for 1.7.1-beta.4 release. release/METEOR@1.7.1-beta.4 2018-06-16 11:04:21 -04:00
Ben Newman
81554e1ddf Merge branch 'devel' into release-1.7.1 2018-06-16 11:03:34 -04:00
Ben Newman
281a849432 Be more defensive about lazy stylesheets that fail to compile.
I should have paid more attention to @abernix's analysis here, as it was
exactly right: https://github.com/meteor/meteor/pull/9983#issuecomment-397240476

cc @pagesrichie
2018-06-16 11:02:29 -04:00
Ben Newman
fd7cb50c7a Bump package versions for 1.7.1-beta.3 release. release/METEOR@1.7.1-beta.3 2018-06-15 16:12:11 -04:00
Ben Newman
fa75ed91b8 Merge branch 'devel' into release-1.7.1 2018-06-15 16:11:03 -04:00
Ben Newman
ce34a60387 Source maps and minification for dynamic CSS modules. (#9998)
When a CSS (or compiled-to-CSS) module is lazy (e.g., in `imports/` or
`node_modules`) and not otherwise imported by another CSS module, Meteor
automatically turns it into a JS module so that it can be handled by the
`ImportScanner`, and imported dynamically by other JS modules.

Until now, there were two problems with CSS handled in this way: it did
not have proper source maps, and the CSS text was not minified in
production.

This commit introduces a special minification step for dynamic CSS, which
must take place before we create the dynamic JS module. Waiting for the
usual minification of CSS would be a mistake, since that happens long
after the `ImportScanner` and `Linker` have already processed JavaScript
modules. Modifying the contents of JS modules at that point would be
impossible without recomputing source maps, etc.

Since the JS module dynamically creates a `<style>` tag and appends it to
the `<head>` of the document, the code of the JS module has no meaningful
relationship to the lines of CSS text that are actually evaluated by the
browser, so it would be a mistake to give the JS module the same source
map as the original CSS resource.

Instead, when there is a source map, we write it out as an asset that can
be requested at runtime, and append a sourceMappingURL comment to the end
of the CSS text referring to this asset URL. Note that this only happens
in development, which makes sense because minification in production
invalidates the source map, and we don't want to expose source code in
production anyway.
2018-06-15 16:10:26 -04:00
Ben Newman
0ca6202aab Bump package versions for 1.7.1-beta.2 release. release/METEOR@1.7.1-beta.2 2018-06-13 19:53:48 -04:00
Ben Newman
a664ff220c Merge branch 'devel' into release-1.7.1 2018-06-13 19:52:23 -04:00
Ben Newman
a1f4e94c59 Merge branch 'master' into devel 2018-06-13 19:51:26 -04:00