478 Commits

Author SHA1 Message Date
Jonas Hermsmeier
0da123265c
upgrade(package): Update winusb-driver-generator to v1.1.7
Change-Type: patch
2018-03-23 21:58:44 +01:00
Jonas Hermsmeier
497e8b5f28
Merge pull request #2095 from resin-io/update-packaging-deps
upgrade(package): Update release packaging deps
2018-03-21 22:39:01 +01:00
Benedict Aas
faf9b113a9
feat(CSS): use roboto font instead of helvetica (#2114)
We replace Helvetica with Roboto as the main font.

Change-Type: patch
Changelog-Entry: Replace Helvetica as the main font with Roboto.
2018-03-12 16:38:01 +00:00
Jonas Hermsmeier
49dd6553fb
chore(package): Remove crc32-stream dependency 2018-03-08 22:14:03 +01:00
Jonas Hermsmeier
d116cd7e90
upgrade(package): Update asar 0.10.0 -> 0.14.2
Change-Type: patch
2018-03-08 22:00:31 +01:00
Jonas Hermsmeier
ed18842281
upgrade(package): Update bindings 1.2.1 -> 1.3.0
Change-Type: patch
2018-03-08 21:58:51 +01:00
Jonas Hermsmeier
4a3bd5fe7a
upgrade(package): Update nan 2.3.5 -> 2.9.2
Change-Type: patch
2018-03-08 21:58:51 +01:00
Jonas Hermsmeier
8a70cb59d1
upgrade(package): Update pkg 4.1.1 -> 4.3.0
Change-Type: patch
2018-03-08 21:58:51 +01:00
Jonas Hermsmeier
0b306219c1
Revert "upgrade(package): versionist 2.8.1 -> 2.13.0"
This reverts commit 2604da104d08671742bd4a8b62e07dab1cfb4702.
2018-03-05 22:15:14 +01:00
Jonas Hermsmeier
bdd05a3f71
upgrade(package): Update electron-mocha 6.0.0 -> 6.0.1
See https://github.com/jprichardson/electron-mocha/issues/123

Change-Type: patch
2018-03-05 16:38:53 +01:00
Jonas Hermsmeier
a12bb4ee7c
upgrade(package): mochainon 1.0.0 -> 2.0.0
Change-Type: patch
2018-03-05 16:38:52 +01:00
Jonas Hermsmeier
1cc5422557
upgrade(package): eslint-plugin-import 2.8.0 -> 2.9.0
Change-Type: patch
2018-03-05 16:38:52 +01:00
Jonas Hermsmeier
55ed4dbc51
upgrade(package): eslint-plugin-jsdoc 3.3.1 -> 3.5.0
Change-Type: patch
2018-03-05 16:38:52 +01:00
Jonas Hermsmeier
201b8dccaa
upgrade(package): eslint-plugin-node 6.0.0 -> 6.0.1
Change-Type: patch
2018-03-05 16:38:52 +01:00
Jonas Hermsmeier
544cd96e3d
upgrade(package): html-angular-validate 0.1.9 -> 0.2.3
Change-Type: patch
2018-03-05 16:38:52 +01:00
Jonas Hermsmeier
2604da104d
upgrade(package): versionist 2.8.1 -> 2.13.0
Change-Type: patch
2018-03-05 16:38:51 +01:00
Jonas Hermsmeier
a392d3b1b4
upgrade(package): sass-lint 1.10.2 -> 1.12.1
Change-Type: patch
2018-03-05 16:38:51 +01:00
Jonas Hermsmeier
b7ef95f68c
upgrade(package): nock 9.0.9 -> 9.2.3
Change-Type: patch
2018-03-05 16:38:51 +01:00
Jonas Hermsmeier
d12166a872
upgrade(package): mocha 3.2.0 -> 5.0.1
Change-Type: patch
2018-03-05 16:38:51 +01:00
Jonas Hermsmeier
74d9fcdbbc
upgrade(package): electron-mocha 5.0.0 -> 6.0.0
Change-Type: patch
2018-03-05 16:38:51 +01:00
Jonas Hermsmeier
804ac8b4dc
upgrade(package): Update resin-cli-visuals to 1.4.1
This updates `resin-cli-visuals` in order to fix drive selection in
the CLI, which was caused by incompatibility of two different `drivelist` versions

Change-Type: patch
2018-03-01 19:12:29 +01:00
Juan Cruz Viotti
8a86d0e655
chore: add "make webpack" as a Concourse build step (#2070)
We also have to add the generated directory to the final package.

Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2018-02-21 19:06:35 +00:00
Jonas Hermsmeier
27c4c0c749 fix(package): Add fsevents to platform specific deps (#2065)
This adds `fsevents` to the platform specific dependencies,
in order to avoid shrinkwrap disagreements between platforms.

Change-Type: patch
2018-02-21 17:45:47 +00:00
Jonas Hermsmeier
47fc1b7357
feat(lib): Use win-drive-clean instead of diskpart
This replaces shelling out to `diskpart` on Windows to clear
the partition table with `win-drive-clean`, which does so via DeviceIoControl.

Change-Type: minor
Changelog-Entry: Use native code to clean drives on Windows
2018-02-16 15:57:34 +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
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
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
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
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
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
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
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
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
Jonas Hermsmeier
c21baeda7a
v1.3.1 2018-01-23 11:39:33 -08:00
Juan Cruz Viotti
4d5c372832
chore: revise Concourse CI related npm scripts (#1977)
- The `concourse-dependencies` and `concourse-build-installers` scripts
are not necessary anymore, given that the Electron pipeline already
knows how to perform these tasks

- The `concourse-test` script will be renamed to
`concourse-test-electron` to include the pipeline name (electron), so a
single project can be served by more than one pipeline. I'll keep the
old `concourse-test` for a bit for backwards compatibility until all
Etcher PRs are rebased

- There is a new `concourse-test-node-cli` script that will be used by
the Node.js CLI pipeline

- There is a new `test-cli` target that is supposed to host CLI tests.
For now, it just runs the SDK tests in a Node.js environment (instead of
in Electron)

Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2018-01-23 14:43:41 -04:00
Jonas Hermsmeier
9b46587b73
upgrade(package): Update electron 1.7.10 -> 1.7.11 (#1985)
This updates Electron to v1.7.11, mitigating CVE-2018-1000006.

See: https://electronjs.org/blog/protocol-handler-fix
Change-Type: patch
Changelog-Entry: Update Electron to v1.7.11
2018-01-23 06:31:19 -08:00
Jonas Hermsmeier
1f838b4b25
upgrade(package): Bump mountutils 1.3.8 -> 1.3.10 (#1983)
This updates `mountutils` from 1.3.8 -> 1.3.10;

- fix(linux): Fix partial unmounts on Linux
- fix(windows): Link to appropriate libraries

Change-Type: patch
Changelog-Entry: Fix incomplete unmounts after flashing on Linux
Fixes #1911
2018-01-23 03:30:12 -08:00
Jonas Hermsmeier
fa4d6e9ef4
upgrade(package): Bump drivelist 6.0.0 -> 6.0.4 (#1975)
This updates `drivelist` to v6.0.4, fixing a crash on Windows 7,
among other things:

- Fix(windows): Impl IsSystemDevice()
- Fix crash on Windows 7
- Fix(darwin): Use proper flag to enable extended regexes in `sed`
- Fix(darwin): Allow mountpoints containing space characters

Change-Type: patch
Changelog-Entry: Fix Etcher not working / crashing on older Windows systems
2018-01-19 06:26:28 -08:00
Juan Cruz Viotti
8d863638cc upgrade: electron-mocha to v5.0.0 (#1973)
Looks like this will fix an issue where the `electron-mocha` main
process fails with an EPERM error on Windows, which we've been
experiencing on our Concourse setup.

See: https://github.com/jprichardson/electron-mocha/issues/119
Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2018-01-16 15:34:22 +01:00
Juan Cruz Viotti
759004e2b2
chore: add .resinci.json builder configuration object (#1965)
This object will eventually replace the `electron-builder.yml` file
that's currently present in the root of the project.

For now, it contains the `electron-builder` options that are project
specific (all the generic bits live in the Electron Concourse pipeline),
but in the future we might want to decouple how users configure packages
from the `electron-builder` project, instead making the user provide
Resin Concourse specific options that are then translated to
`electron-builder` (or any other packaging technology we might decide to
use) under the hood.

Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

Trigger Concourse CI

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2018-01-12 13:25:24 -04:00
Jonas Hermsmeier
ece9a5666e
v1.3.0
Features:

- Display connected Compute Modules even if Windows doesn't have the necessary drivers to act on them
- Add read/write retry delays with backoff to ...
- Add native application menu (which fixes OS native window management shortcuts not working)

Fixes:

- Fix "Couldn't scan drives" error
- Ensure the writer process dies when the GUI application is killed
- Run elevated writing process asynchronously on Windows
- Fix trailing space in environment variables during Windows elevation
- Don't send analytics events when attempting to toggle a disabled drive
- Fix handling of transient write errors on Linux (EBUSY)
- Fix runaway perl process in drivelist on Mac OS

Misc:

- Update Electron from v1.7.9 to v1.7.10
- Remove Angular dependency from image-writer

Change-Type: minor
2018-01-05 18:59:33 +01:00
Jonas Hermsmeier
9b721d83dc
upgrade(package): Update drivelist 5.2.12 -> 6.0.0 (#1953)
* upgrade(package): Update drivelist 5.2.12 -> 6.0.0

This updates `drivelist` to incorporate the new native
bindings rewrite on Windows, fixing scanning errors.

Change-Type: patch
Changelog Entry: Fix "Couldn't scan drives" error

* test(drive-selection): Adjust to breaking drivelist changes

* fix(drivelist): Correct conditions in standard adapter

* refactor(usbboot): Adjust readonly & system flags

* doc(drive-constraints): protected -> isReadonly
2018-01-05 17:22:00 +01:00
Jonas Hermsmeier
fdfdcf915c
upgrade(package): Bump mountutils 1.2.2 -> 1.3.8 (#1946)
Change-Type: patch
2018-01-04 15:47:25 +01:00
Jonas Hermsmeier
222fd9de62
upgrade(package): Bump electron 1.7.9 -> 1.7.10 (#1947)
Electron changelog:

- Fixed crash in custom protocols
- Fixed webrtc crash
- Linux: Fixed subpixel font rendering with freetype
- Mac OS: Fixed rendering issues with Nvidia GPU on High Sierra
- Mac OS: Fixed incorrectly cropped TouchBar items

Change-Type: patch
2018-01-04 13:09:46 +01:00
Jonas Hermsmeier
1093881149
upgrade(package): Bump drivelist 5.2.4 -> 5.2.12 (#1945)
Change-Type: patch
2018-01-04 13:08:55 +01:00
Juan Cruz Viotti
aeb850f4fb
chore: declare Concourse dependencies in package.json (#1938)
Resin Concourse will make sure to provide these during build time.

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2017-12-29 09:51:38 -04:00
Juan Cruz Viotti
3537848d3d
chore: make test npm script run everything we run on the CI services (#1937)
The idea is that the `test` command will replace the recently introduced
`concourse-test` script.

`concourse-test` will become simply a call to `test` for now to ensure
backwards compatibility while we update Resin Concourse.

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2017-12-27 13:29:55 -04:00
Juan Cruz Viotti
357f2183b5
chore: add Concourse related NPM scripts (#1933)
Our Electron Concourse pipeline is completely independent from the
application its testing (ie we can apply it to any other Electron app we
build with ease).

In order to keep such genericity, the application under test should
provide certain npm scripts that tell Concourse how to do specific tasks
on the repo, like install dependencies, in a build-system independent
fashion.

Change-Type: patch
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
2017-12-20 16:06:09 -04:00