2091 Commits

Author SHA1 Message Date
Jonas Hermsmeier
6990d7632a
fix(Makefile): Support arm64 / armv8 / aarch64
This adds support for 64bit arm cpu architectures.

Change-Type: patch
Changelog-Entry: Support building Etcher on armv8
2018-02-16 15:29:47 +01:00
Juan Cruz Viotti
4fa0f990e5
feat(GUI): bundle the GUI code with Webpack (#1943)
This commit introduces a Webpack configuration file that bundles the GUI
code along with its dependencies (except the Etcher SDK and its own
dependencies), and uses Babel to add support for JSX (required by the
Rendition library).

The GUI code that goes into the bundle was moved to `lib/gui/app` so we
can easily ignore the whole subdirectory when creating production
distributable packages.

We now have a new make target called `webpack` that can be used to
create the GUI bundle. Such target will be called everytime a package is
generated.

Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2018-02-15 17:39:15 +00:00
Benedict Aas
e0f789bc14
refactor: remove stale invalid key check in store (#2050)
We remove a piece of code checking whether `_.keys` returns any non-string
values in its array, but per the Lodash documentation `_.keys` always returns an
array of strings.

Change-Type: patch
Changelog-Entry: Remove stale `invalidKey` check in store.
2018-02-15 17:23:11 +00:00
Jonas Hermsmeier
b93dabd670
Merge pull request #2047 from resin-io/update-sass
upgrade(package): Update node-sass 4.5.3 -> 4.7.2
2018-02-15 03:55:36 -08:00
Jonas Hermsmeier
83528df18b
upgrade(package): Update node-sass 4.5.3 -> 4.7.2
Change-Type: patch
2018-02-14 20:38:00 +01:00
Jonas Hermsmeier
1e65a09e8e
Merge pull request #2012 from resin-io/use-template-contents
feat: replace template paths with contents
2018-02-14 06:54:54 -08:00
Benedict Aas
34b4f65c20
feat: log the event status of the banner (#2013)
We add log the banner HTTP load event object to the analytics.

Change-Type: patch
Changelog-Entry: Log the banner load event to analytics.
2018-02-14 12:03:40 +00:00
Jonas Hermsmeier
de4f9e4257
Merge pull request #2039 from resin-io/uv-threadpool-size
feat(writer): Increase UV_THREADPOOL_SIZE
2018-02-13 10:55:07 -08:00
Jonas Hermsmeier
dc2c16d6b5
Merge pull request #2031 from resin-io/remove-unnecessary-deps
chore(package): Remove unnecessary deps
2018-02-13 10:54:44 -08:00
Jonas Hermsmeier
fbb175608d
feat(writer): Increase UV_THREADPOOL_SIZE
This increases the UV_THREADPOOL_SIZE to CPUs * 4 to
facilitate full write speeds when writing to multiple destinations,
in preparation for integrating multi-writes.

Change-Type: patch
Changelog-Entry: Increase UV_THREADPOOL_SIZE to allocate 4 threads per CPU
2018-02-13 17:31:59 +01:00
Jonas Hermsmeier
ab026b1635
test(image-stream): Fix lint error in tester 2018-02-13 17:15:39 +01:00
Jonas Hermsmeier
0bc09defa7
chore(package): Remove unused dependency trackjs 2018-02-13 16:13:49 +01:00
Jonas Hermsmeier
04352494a0
test: Remove unnecessary file-exists dependency
Change-Type: patch
2018-02-13 16:13:49 +01:00
Benedict Aas
96c76177af fix sanity-checks 2018-02-13 11:19:59 +00:00
Benedict Aas
d5a14031c6 pass linter 2018-02-13 11:19:59 +00:00
Benedict Aas
ad0b5e7583 test modal 2018-02-13 11:19:59 +00:00
Benedict Aas
f2424095e0 test other pages 2018-02-13 11:19:59 +00:00
Benedict Aas
db2bed896a feat: replace template paths with contents
We replace the `templateUrl` fields with `template` fields and thus
switch from template paths to template contents in preparation for the
Webpack PR.

Changelog-Entry: Replace template paths with template contents.
Change-Type: patch
2018-02-13 11:19:59 +00:00
Benedict Aas
c3600ee8fc
refactor: rename selection state and store functions (#2037)
We rename functions in `selection-state` and the `store`.

Change-Type: patch
Changelog-Entry: Rename selection-state and store functions.
2018-02-13 11:15:22 +00:00
Benedict Aas
bb5efb3450
feat(GUI): add descriptive name to modals (#2036)
We add a descriptive name to modals for analytics and debugging.

Change-Type: patch
Changelog-Entry: Add descriptive name to modals for analytics and
debugging.
2018-02-13 11:13:48 +00:00
Jonas Hermsmeier
2e1764af82
Merge pull request #2029 from resin-io/remove-unused-robot
refactor(lib): Remove unused robot protocol
2018-02-12 04:58:52 -08:00
Jonas Hermsmeier
a0c704cd94
Merge pull request #2030 from resin-io/update-eslint-plugins
upgrade(package): Update eslint plugins
2018-02-09 12:28:42 -08:00
Jonas Hermsmeier
76f537a636
upgrade(package): Update eslint plugins
This updates outdated eslint plugins:

- eslint-plugin-import 2.7.0 -> 2.8.0
- eslint-plugin-jsdoc 3.1.1 -> 3.3.1
- eslint-plugin-lodash 2.3.6 -> 2.6.1
- eslint-plugin-node 5.1.1 -> 6.0.0
- eslint-plugin-promise 3.5.0 -> 3.6.0

Change-Type: patch
2018-02-09 19:34:53 +01:00
Jonas Hermsmeier
fdd0d781ca
refactor(lib): Remove unused robot protocol
This removes the remnants of the unused "robot protocol",
which was previously used by the CLI, but has been superseded by IPC.

Change-Type: minor
Changelog-Entry: Remove unused robot protocol
2018-02-09 19:25:36 +01:00
Benedict Aas
47338cf07b
upgrade(package): Update eslint 3.19.0 -> 4.17.0 (#2026)
We upgrade eslint for better support of the object-curly-newline
options, and change the quantity of elements required before the linter
enforces newlines on objects, in addition we apply `consistent` to avoid
errors when there are newlines in objects with less than 2 elements.

```
const { field } = object

const {
  field
} = object

const {
  field1,
  field2
} = object
````

Change-Type: patch
Changelog-Entry: Upgrade eslint to use object-curly-newline options.
2018-02-09 15:30:43 +00:00
Jonas Hermsmeier
4c1884fc95
Merge pull request #1998 from resin-io/update-udif
upgrade(package): Update udif 0.10 -> 0.13
2018-02-09 07:10:18 -08:00
Jonas Hermsmeier
c2ba053737
Merge pull request #2021 from resin-io/use-ng-if
feat(GUI): replace ng-show and ng-hide with ng-if
2018-02-09 03:41:53 -08:00
Jonas Hermsmeier
4cd16a40d0
Merge pull request #1743 from Lin-Buo-Ren/patch-1
docs: Add WoeUSB as an alternative tool to burn Windows USB images
2018-02-09 03:40:10 -08:00
Jonas Hermsmeier
0038c6c65a
Merge pull request #2010 from resin-io/menu-link-ref
feat(gui): Add ref params to homepage links in menu
2018-02-09 03:39:22 -08:00
Jonas Hermsmeier
56b0f13525
Merge pull request #2027 from resin-io/remove-tmp
refactor(test): Remove dependency on `tmp`
2018-02-08 10:33:06 -08:00
Jonas Hermsmeier
974315868d
Merge branch 'master' into patch-1 2018-02-08 09:52:12 -08:00
Jonas Hermsmeier
5634954b7e
refactor(test): Remove dependency on tmp
This removes the dependence on `tmp`, as this module has been known
to cause problems, while also being unnecessary for what it's being used for.

Change-Type: minor
2018-02-08 18:43:48 +01:00
Benedict Aas
dab1eece4c
feat: add icon next to drive on warnings (#2014)
We add an icon next to the drive size that is displayed when there is a
drive-image compatibility status message available. We display the first
one in the list and importance is then enforced by the order they are
added to the list in `drive-constraints`.

Change-Type: patch
Changelog-Entry: Add icon next to drive size when compatibility warnings exist.
2018-02-08 16:43:34 +00:00
Jonas Hermsmeier
d01b73a661
upgrade(package): Update udif 0.10 -> 0.13
This updates `udif` to 0.13.0:

**v0.13.0:**

- fix(readstream): Use strict mode for compat with Node 4
- refactor(lib): Improve & fix zerofill streaming
- test: Add passthrough to check for read/push after EOD
- test: Add compression method tests
- feat(udif): Add LZFSE compression type constant
- fix(readstream): Fix passing on readable stream options

**v0.12.0:**

- feat(image): Support use of custom `fs` instances
- feat(readstream): Stream ZEROFILL & FREE blocks

Fixes a buffer allocation failure on large zerofill ranges.

Change-Type: patch
Changelog-Entry: Fix "Array buffer allocation failed" when flashing some .dmg images
2018-02-08 16:11:56 +01:00
Jonas Hermsmeier
5754b4c6af
feat(gui): Add ref params to homepage links in menu
This adds a `ref` param to the URLs in the menu,
in order to see where page views are coming from.

Change-Type: patch
2018-02-08 13:42:53 +01:00
Benedict Aas
e769ef7d0b feat(GUI): replace ng-show and ng-hide with ng-if
We replace `ng-show/hide` with `ng-if` on the main page in order to
remove unnecessary calls and become more efficient.

Changelog-Entry: Replace ng-show/hide with ng-if on main page.
Change-Type: patch
2018-02-07 17:53:17 +00:00
Jonas Hermsmeier
41a694e4a4
Merge pull request #2022 from resin-io/fix-linter-tabindex-button
fix: move tabindex attrs to button from within
2018-02-07 09:24:13 -08:00
Benedict Aas
76a05d2dc9 fix: move tabindex attrs to button from within
We move the `tabindex` attributes to the button element directly from
elements contained within the button element – this is to satisfy the
HTML linter.

Changelog-Entry: Move tabindex attributes to button elements from
contained elements.
Change-Type: patch
2018-02-07 16:06:07 +00:00
Jonas Hermsmeier
1895601198
Merge pull request #2008 from resin-io/update-issue-template
doc(github): Update instructions in ISSUE_TEMPLATE
2018-01-31 07:58:28 -08:00
Jonas Hermsmeier
f6bfdb2ced
doc(github): Update instructions in ISSUE_TEMPLATE
This updates the instructions to open the Developer Tools in the issue template,
as the keyboard shortcuts have changed to their defaults on Linux & Windows
from [Ctrl]+[Alt]+[I] to [Ctrl]+[Shift]+[I].

Further, the editor config is updated to allow trailing spaces in Markdown
files to add trailing spaces to the list items in the issue template, in
order to avoid people not putting whitespace in between, causing the formatting
to not be parsed properly.

Change-Type: patch
2018-01-30 22:30:01 +01:00
Jonas Hermsmeier
1eb7ce8741
Merge pull request #1997 from resin-io/fix-devtools-detach
fix(gui): Fix DevTools opening in docked mode
2018-01-30 08:37:01 -08:00
Jonas Hermsmeier
a5aaf760d0
fix(gui): Fix DevTools opening in docked mode
This fixes the Developer Tools opening in docked mode by default.

Change-Type: patch
2018-01-29 21:59:46 +01:00
Benedict Aas
df2ebf93b6 refactor: replace lodash templates #1810 (#2006)
We replace the lodash templates with arrow-functions and change the
single-argument object into multiple arguments.

Fixes #1810 
Closes #2006 

Change-Type: patch
Changelog-Entry: Replace Lodash templates with arrow-functions.
2018-01-29 12:46:13 -08:00
Benedict Aas
4dc64ee15b
feat(GUI): add app to gui folder structure (#2002)
* feat(GUI): add app to gui folder structure

We add a `lib/gui/app/` folder to help transition to Webpack usage.

Change-Type: patch
Changelog-Entry: Add `lib/gui/app` folder to ease into Webpack usage.
2018-01-29 18:34:21 +00:00
Jonas Hermsmeier
a83ae05316
upgrade(package): Update yargs 4.7.1 -> 11.0.0 (#1995)
This updates `yargs` to 11.0.0

Change-Type: patch
2018-01-29 06:25:50 -08:00
Benedict Aas
b0e6170d93 fix: specify utf-8 encoding with meta tag (#2003)
We specify the encoding to be UTF-8 with a meta tag such that Electron
won't get confused and try any other encodings.

Change-Type: patch
Changelog-Entry: Specify UTF-8 encoding with meta tag.
2018-01-26 10:45:49 -08:00
Jonas Hermsmeier
890122894f
fix(gui): Fix menu's application name (#1996)
This replaces use of `electron.app.getName()` with the package.json's `.displayName`
property to ensure the correct application name is displayed when packaged.

Change-Type: patch
2018-01-26 07:04:54 -08:00
Jonas Hermsmeier
9c019cafd5
upgrade(package): Bump debug 2.6.8 -> 3.1.0 (#1994)
This updates `debug` to 3.1.0 due to a RegExp DOS vulnerability.

Change-Type: patch
2018-01-24 14:48:34 -08:00
Juan Cruz Viotti
b357047e3a
chore: encode complete paths to patched file in patches/ (#1987)
So that the build system doesn't need to know in advance at which
directory the paths needs to be applied.

This will make it easier to add patches support to the Concourse
pipelines.

Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2018-01-23 18:48:35 -04:00
Juan Cruz Viotti
f932e947e0
chore: declare Concourse node-cli pipeline's entrypoint (#1988)
Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2018-01-23 17:56:57 -04:00