Commit graph

276 commits

Author SHA1 Message Date
David Balatero
db62494109
Force app to quit on Mac when we auto update 2017-09-14 16:53:50 -07:00
David Balatero
9a7f4ae41c
Show dialog box when there's an update for download 2017-09-14 16:53:50 -07:00
Scott Nonnenberg
b5c10041b2
Bump version to 1.0.13
FREEBIE
2017-09-14 16:53:50 -07:00
Scott Nonnenberg
37d803fb13
Bump version to 1.0.12
FREEBIE
2017-09-14 16:53:50 -07:00
Scott Nonnenberg
ceff9ca203
Bump version to 1.0.11
FREEBIE
2017-09-14 16:53:49 -07:00
Scott Nonnenberg
b82cc62913
Bump version to 1.0.10
FREEBIE
2017-09-14 16:53:49 -07:00
Scott Nonnenberg
0c4161e5a3
Bump version to v1.0.9
1.0.8 seems to have a signing problem.

FREEBIE
2017-09-14 16:53:49 -07:00
Scott Nonnenberg
3b6c9dd34e
Bump version to v1.0.8
FREEBIE
2017-09-14 16:53:49 -07:00
lilia
634b7dbb39
Bump to 1.0.7
// FREEBIE
2017-09-14 16:53:49 -07:00
lilia
00aabfd4e0
Exclude hunspell source from packaged apps
// FREEBIE
2017-09-14 16:53:48 -07:00
lilia
cedbd5db8d
Unpack hunspell dictionaries on windows and linux
// FREEBIE
2017-09-14 16:53:48 -07:00
Scott Nonnenberg
ebc373185a
Introduce new dependency for user settings: electron-config
FREEBIE
2017-09-14 16:53:48 -07:00
Scott Nonnenberg
4e9305fc96
Remove duplicate key in package.json
FREEBIE
2017-09-14 16:53:48 -07:00
lilia
5a88faf334
Bump to 1.0.6 2017-09-14 16:53:46 -07:00
lilia
cf9523f1f8
Restructure prep-release script slightly
Order of operations is now:
- regenerate local assets
- clean the release dir
- download linux/windows releases
- build osx release
- smoke all test releases

// FREEBIE
2017-09-14 16:53:46 -07:00
lilia
bb431f7c91
Remove mac artifactName config
Default is fine here.

// FREEBIE
2017-09-14 16:53:46 -07:00
lilia
d63c603c21
Add spectron 2017-09-14 16:53:45 -07:00
lilia
bc71f4aa2b
CI builds and uploads all targets
// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
08b7ce88d9
More release scripting in npm
npm run icon-gen and grunt (run default task) can be grouped into one
operation.

Use SIGNAL_ENV instead of NODE_ENV since Setting NODE_ENV adversely
affects yarn's install behavior, so we had to set it after the install
and before the build. By using a custom variable instead, we can set it
globally and eventually use it in a build matrix.

Move mas build to its own npm script

// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
5078e1e7d8
Reset bundleVersion 2017-09-14 16:53:45 -07:00
lilia
a2667f784b
CI builds zip for all platforms
// FREEBIE
2017-09-14 16:53:45 -07:00
lilia
e1282f9b3b
Bump to 1.0.5 2017-09-14 16:53:44 -07:00
lilia
2d65ae3689
Disable build script publishing in ci
Travis and AppVeyor configs will handle publishing ci builds

// FREEBIE
2017-09-14 16:53:44 -07:00
lilia
6977928e99
Build only .zip on mac 2017-09-14 16:53:44 -07:00
lilia
aaee025409
Rename script 2017-09-14 16:53:44 -07:00
lilia
693a59809e
Fix setting environment var on windows
Use platform-specific commands to set NODE_ENV after yarn install but
before yarn travis-build.

// FREEBIE
2017-09-14 16:53:44 -07:00
lilia
81d8b78d05
Switch to grunt-sass + node-sass-import-once
These modules together allow us to import css files from third party
components without maintaining symlinks that essentially rename them as
sass partials, which doesn't work on windows.

// FREEBIE
2017-09-14 16:53:44 -07:00
lilia
d6c0fbe9a3
WIP Travis build
// FREEBIE
2017-09-14 16:53:43 -07:00
lilia
689827ee2f
Bump bundleVersion
// FREEBIE
2017-09-14 16:53:43 -07:00
lilia
e83ceba570
Bump bundleVersion for app store 2017-09-14 16:53:43 -07:00
lilia
f716f70bf4
Add icon path for linux
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
6468038401
Add bundleVersion to mac config
This corresponds to CFBundleVersion in the mac build. It must be
incremented every time we upload a new build to the app store for the
current release version.

// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
4c3977e13b
Change mac output dir in asar script
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
0c8e769c2a
Exclude some build files from native modules
In practice this removes about 1MB of extraneous build resoures from the
spellchecker module in a packaged build.

// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
38b292ef9e
Setup for mas build
// FREEBIE
2017-09-14 16:53:42 -07:00
lilia
6c49687126
Bump version 2017-09-14 16:53:42 -07:00
lilia
7ef901d628
yarn remove icon-gen 2017-09-14 16:53:41 -07:00
lilia
7d47b53dc3
Generate icons with electron-icon-maker
Either icon-gen or local scaling of images was producing a corrupted and
glitchy .icns file. With this module, we need only provide a 1024px
image and it handles the scaling and generation of all other icon
assets.

// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
c9537ff9a9
Add asar for inspeting asar contents 2017-09-14 16:53:40 -07:00
lilia
429cc46cf9
yarn add --dev electron-publisher-s3
// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
9f873e21a2
yarn upgrade electron-builder 2017-09-14 16:53:40 -07:00
lilia
8732127b1d
yarn upgrade icon-gen 2017-09-14 16:53:40 -07:00
lilia
a885123ab3
Upgrade dev dependencies
Including multiple major version upgrades.

// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
90ad83a91d
Add yarn.lock
Remove grunt-preen due to its dependency on module incompatible with
current node.

// FREEBIE
2017-09-14 16:53:40 -07:00
lilia
77d5ef2f68
Add spellcheck
As of Electron 1.6.5, this requires disabling the sandbox in order to
get access to the `webFrame` api.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
eefcaf0bcc
Bump version 2017-09-14 16:53:39 -07:00
lilia
de3816b094
Get standalone registration working in development
Whisper.events.trigger('openStandalone') to open the standalone
registration view.

// FREEBIE
2017-09-14 16:53:39 -07:00
lilia
1c8d3fb41a
Bump version 2017-09-14 16:53:38 -07:00
lilia
ab9f5beead
Fix release script
// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
e7e030a5e2
Build expiration date
Add the buildExpiration config and add it to the renderer's config
object. Use grunt to write the build expiration to
config/local-production.json which will override the default value (no
expiration) in production. Finally, run this grunt task as part of the
build process.

// FREEBIE
2017-09-14 16:53:38 -07:00
lilia
4963af60c9
Use default output dir: ./dist 2017-09-14 16:53:37 -07:00
lilia
7e1bee1082
Configure app/build using node config
Add environment-specific configs under `./config` and integrate with the
build system. Also changes package.json `files` from blacklist to
whitelist.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
6a49036da9
Bump to 1.0.1 2017-09-14 16:53:36 -07:00
lilia
81a40bb548
Remove spaces from windows installer name
Spaces in the file name get escaped to %20. Then the percent sign gets
escaped again on the way to s3 upload, such that the object name on s3
ends up as %2520. To fix this, we can simply omit spaces from our
artifact names.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
32be90c728
Fix missing icons on linux
Move these to where the build expects them to be.

In theory electron-builder should generate these from a build/icon.icns
but that doesn't seem to be working.

// FREEBIE
2017-09-14 16:53:36 -07:00
lilia
9e39442ea8
Setup publishing to s3 2017-09-14 16:53:36 -07:00
lilia
a99890d254
Generate ico and icns from png
`npm run icon-gen` builds icon files from png files in the images
directory, outputting to build/icon.{ico,icns} (the expected location
for electron-builder).

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
2bbd0d58c6
Separate development and production environments
Set NODE_ENV at run time or build time to switch the app between dev and
production modes.

At build time, the current NODE_ENV will be included in the packaged
app's package.json file. At runtime we read NODE_ENV from package.json,
but also allow the local environment variable to override. A query
string parsed by a preload script exposes the value to the renderer,
which then determines whether we use the staging or production server.
Additionally, different environments have different user data
directories.

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
beb058aed6
Add productName to package.json
This defines the display name of the packaged app. It can contain
spaces.

// FREEBIE
2017-09-14 16:53:35 -07:00
lilia
584d29f4a4
Exclude some files from inclusion in packaged app
This adds and extends the default `files` config from electron-builder
such that it adds all and only the necessary files to our app.asar.

// FREEBIE
2017-09-14 16:53:34 -07:00
lilia
dcc6f599a2
Auto-update hourly 2017-09-14 16:53:34 -07:00
lilia
83d827c127
Configure electron-builder
// FREEBIE
2017-09-14 16:53:34 -07:00
lilia
995ccda9e4
Add electron and electron-builder dev dependencies
// FREEBIE
2017-09-14 16:53:34 -07:00
lilia
e6e8f02fb7
Populate required fields in package.json
// FREEBIE
2017-09-14 16:53:34 -07:00
lilia
2cf7ea0a94
Hello Electron
In package.json, define our main entry point for electron, and add a
node script to start it up.

Add main.js from Electron/electron-quick-start with two modifications.
1. Load background.html instead of index.html
2. Disable node integration in the renderer

At this point we can load the background page in a window
with `npm start`, though it currently breaks on missing chrome app APIs.

// FREEBIE
2017-09-14 16:53:28 -07:00
lilia
79ad09ba47 Update jshint 2017-04-18 16:46:02 -07:00
lilia
c442a02cb6 Add build support for expiring old releases
Builds expire after 90 days.
2016-04-03 20:55:53 -07:00
Sam Lanning
b7fd862aa6 Create tx task which performs 'tx pull' followed by 'locale-patch'
// FREEBIE
2016-01-25 14:21:46 -08:00
lilia
a229075016 Update project/repo names in package.json
// FREEBIE
2016-01-02 02:51:55 -08:00
lilia
c526dbda5f Set up production build task
`grunt copy`

Closes #191
2015-03-19 18:34:56 -07:00
Joe Bandenburg
ac8584dd85 Add JSCS and run as grunt test task
This change only introduces a single rule but more can easily be added
going forwards.
2015-01-14 10:00:40 -10:00
Daniel Reichert
5114fa1f0a Update name and repository in package.json 2014-12-12 14:33:18 -08:00
Arlo Breault
8d56a1b248 Run tests on Sauce Labs
* Issue #57
2014-11-22 20:30:57 -08:00
lilia
cd888f66ef Build unminified manifest.css from sources 2014-11-07 00:32:58 -08:00
lilia
a79fb363aa Let npm install bower
One less step for new contributors who need to add dependencies.
2014-10-30 14:47:50 -07:00
lilia
73f4f64351 Grunt preen and concat
Set up grunt with tasks for:
  * preen - deletes unused files from bower_components, configured in
      bower.json
  * concat - concatenates preened bower components, configured
      automagically from the preen config

It's worth noting that this setup assumes the order of files within a
package doesn't matter. This is usually true since we often include only
one file from the package.
2014-10-29 20:50:51 -07:00