Skip to content

Commit ef26507

Browse files
committed
Merge branch 'abernix/fix-windows-dev-bundle-extract-error' into release-1.4.3.x
2 parents 2fd61b8 + ab111e7 commit ef26507

File tree

4 files changed

+32
-4
lines changed

4 files changed

+32
-4
lines changed

Development.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ As the first suggestion to the reader of this document: If, during the course of
99
If you want to run on the bleeding edge, or [help contribute to Meteor](Contributing.md), you
1010
can run Meteor directly from a Git checkout using these steps:
1111

12-
0. **Clone from GitHub**
12+
1. **Clone from GitHub**
1313

1414
```sh
1515
$ git clone --recursive https://github.com/meteor/meteor.git
@@ -173,7 +173,7 @@ Since Meteor is a free, open-source project, you can run tests in the context of
173173

174174
To enable CircleCI for your development:
175175

176-
0. Make sure you have an account with [CircleCI](https://circleci.com)
176+
1. Make sure you have an account with [CircleCI](https://circleci.com)
177177
0. Make sure you have [forked](https://help.github.com/articles/fork-a-repo/) [Meteor](https://github.com/meteor/meteor) into your own GitHub account.
178178
0. Go to the [Add Projects](https://circleci.com/add-projects) page on CircleCI.
179179
0. On the left, click on your GitHub username.

Roadmap.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Meteor Roadmap
44

5-
**Up to date as of February 15, 2017**
5+
**Up to date as of March 17, 2017**
66

77
This document describes the high level features the Meteor project maintainers have decided to prioritize in the near- to medium-term future. A large fraction of the maintainers’ time will be dedicated to working on the features described here. As with any roadmap, this is a living document that will evolve as priorities and dependencies shift; we aim to update the roadmap with any changes or status updates on a monthly basis.
88

@@ -21,10 +21,27 @@ Fast initial page load times are somewhat less important for single-page reactiv
2121

2222
Speeding up page load times will require a combination of new tools for asynchronous JavaScript delivery (code splitting), dead code elimination, deferred evaluation of JavaScript modules, and performance profiling (so that developers can identify expensive packages).
2323

24+
### Dynamic `import(...)`
25+
2426
The banner feature of this effort will be first-class support for [dynamic `import(...)`](https://github.com/tc39/proposal-dynamic-import), which enables asynchronous module fetching.
2527

26-
Other optimizations include making it possible to remove (or dynamically load) large dependencies like `jquery` and `underscore`, and caching JavaScript modules more agressively on the client.
28+
Read the recent [blog post](https://blog.meteor.com/meteor-1-5-react-loadable-f029a320e59c) for an overview of how this system will work in Meteor 1.5.
29+
30+
Remaining work can be found [here](https://github.com/meteor/meteor/blob/release-1.5/packages/dynamic-import/TODO.md), though not all of those ideas will necessarily block the initial 1.5 release.
31+
32+
### Making large dependencies optional
33+
34+
Making it possible to remove (or dynamically load) large dependencies like `jquery`, `underscore`, and `minimongo` will have a significant impact on bundle sizes.
35+
36+
### More aggressive client caching
37+
38+
Using `Cache-Control: immutable` to cache the initial JavaScript bundle will reduce the amortized cost of downloading the initial JavaScript bundle in newer browsers.
39+
40+
Dynamic `import(...)` benefits dramatically from storing previously-received module versions in [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API), though it may be possible to use IndexedDB in a faster way.
41+
42+
### Better dead code elimination
2743

44+
Although Meteor minifies JavaScript in production, and modules that are never imported are not included in the client bundle, Meteor could do a better job of removing code within modules that will never be used, according to static analysis. The static syntax of ECMAScript 2015 `import` and `export` declarations should make this analysis easier.
2845

2946
## Upgrade to Node 6
3047

meteor.bat

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ IF EXIST "%~dp0\.git" (
1616
REM need `< con` so that we can run this file from Node
1717
REM (See http://stackoverflow.com/questions/9155289/calling-powershell-from-nodejs)
1818
PowerShell.exe -executionpolicy ByPass -file "%~dp0\scripts\windows\download-dev-bundle.ps1" < con
19+
IF errorlevel 1 (
20+
echo An error occurred while obtaining the dev_bundle. Please try again.
21+
exit /b 1
22+
)
1923
)
2024

2125
rem if dev_bundle is the wrong version, remove it and get a new one
@@ -28,6 +32,10 @@ IF EXIST "%~dp0\.git" (
2832
exit /b 1
2933
)
3034
PowerShell.exe -executionpolicy ByPass -file "%~dp0\scripts\windows\download-dev-bundle.ps1" < con
35+
IF errorlevel 1 (
36+
echo An error occurred while obtaining the dev_bundle. Please try again.
37+
exit /b 1
38+
)
3139
)
3240

3341
rem Only set this when we're in a checkout. When running from a release,

scripts/windows/download-dev-bundle.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ if (Test-Path $devbundle_zip) {
4242
Write-Host "Extracting $TARBALL to the dev_bundle directory"
4343

4444
cmd /C "7z.exe x $devbundle_zip -so | 7z.exe x -aoa -si -ttar -o$CHECKOUT_DIR\dev_bundle_XXX" | out-null
45+
if ($LASTEXITCODE -ne 0) {
46+
Exit 1
47+
}
4548

4649
$downloaded_tmp = $CHECKOUT_DIR + "\dev_bundle_XXX"
4750
$downloaded_path = $downloaded_tmp + "\dev_bundle_" + $PLATFORM + "_" + $BUNDLE_VERSION

0 commit comments

Comments
 (0)