Commit graph

67 commits

Author SHA1 Message Date
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