Commit graph

445 commits

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