Commit graph

136 commits

Author SHA1 Message Date
Ben Gotow
67b6dfc5b0 bump(version): 0.4.36 and changelog 2016-05-13 15:57:03 -07:00
Ben Gotow
de4a69b89a fix(build): Defer require of parent node modules until they're fetched #2184 2016-05-10 19:08:41 -07:00
Evan Morikawa
f2fbfbceba fix(build): rename babel task to .js to be picked up by grunt 2016-05-06 16:46:36 -07:00
Evan Morikawa
6f923b0e91 feat(babel6): remove eslinter fixer task 2016-05-06 12:20:16 -07:00
Evan Morikawa
5b26322c89 feat(babel6): Add task to fix function spacing 2016-05-06 11:55:45 -07:00
Evan Morikawa
654820d568 feat(babel6): 90,798 lint problems
Fix eslint-task. Grunt doesn't recognize es6 files
2016-05-06 11:55:38 -07:00
Evan Morikawa
13e0a8f442 feat(babel6): Add test for spec describe 2016-05-06 11:55:18 -07:00
Evan Morikawa
2692fce522 feat(babel6): Fix destructuring default from exports and update linter 2016-05-06 11:55:14 -07:00
Evan Morikawa
e355971dd2 feat(babel6): Use absolute paths for linter and dont call default on coffee 2016-05-06 11:54:58 -07:00
Evan Morikawa
2d55322705 feat(babel6): Detect when packages don't have a default export 2016-05-06 11:54:57 -07:00
Evan Morikawa
21419b9df0 feat(babel6): Convert to use new es6 require syntax 2016-05-06 11:54:55 -07:00
Evan Morikawa
850e703aac feat(babel6): Add babel presets and lint for require.default 2016-05-06 11:54:52 -07:00
Evan Morikawa
8db8722f74 feat(babel6): Initial babel conversion 2016-05-06 11:54:38 -07:00
Ben Gotow
c543de9e81 cleanup(specs): Remove space-pen. Goodbye, jQuery! 2016-04-26 13:14:07 -07:00
Ben Gotow
80c8d733c8 cleanup(config): Remove unused features, dependencies 2016-04-26 13:14:06 -07:00
Evan Morikawa
c416731d35 fix(build): fix lstatSync throwing 2016-04-25 16:18:23 -07:00
Evan Morikawa
6a55717157 feat(package): fix build-resources-task and move submodule 2016-04-25 16:01:56 -07:00
Evan Morikawa
25dea6a136 feat(package): require 'engines': {'nylas': '*'} in package.json 2016-04-25 15:06:37 -07:00
Ben Gotow
4d38ac6310 cson(cleanup): Remove imports, only used for config.cson now 2016-04-24 20:33:34 -05:00
Ben Gotow
ba16a71777 fix(build): CSON => JSON no longer necessary for /keymaps, /menus 2016-04-24 20:27:29 -05:00
Ben Gotow
a46bad4eb7 refactor(menus): Major prune of keymaps/commands, real conditional menus
Summary:
Keymaps & menus CSON => JSON, remove AtomKeymaps, CommandRegistry use of CSS selectors, use Mousetrap instead

Important Notes:

- The `application:` prefix is reserved for commands which are handled in the application process. Don't use it for other things. You will not receive the events in the window.

- Maintaining dynamic menus seems to come with quite an overhead, because Electron updates the entire menu every time. In the future, we'll need https://github.com/electron/electron/issues/528 to really make things nice. I will be tracking this upstream.

- The format for keyboard shortcuts has changed. `cmd-X` is now `command+shift+x`

Test Plan: Run tests

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2917
2016-04-24 12:16:25 -05:00
Ben Gotow
0c430a470c bump(asar): 0.10, use ordering feature we PR'd [TEST CI] 2016-03-08 15:21:28 -08:00
Ben Gotow
6a190f36f8 Merge pull request #1342 from mbilker/linux-32bit-docker
[RFC] Linux 32-bit Docker build
2016-03-03 14:10:41 -08:00
mbilker
385931ca9e fix(launch): convert Atom's launch script for N1
Addresses #411

The `N1.sh` launch script fails to account for running from
`/usr/{local/}bin/nylas` where it would throw an error saying
it couldn't find the electron binary.

The Atom launch script works just fine and takes that into account.
The installed launch script here is a reflactored Atom launch script
that properly accounts for running the `nylas` executable and locates
the actual binary accordingly.
2016-03-02 17:47:47 -08:00
Ben Gotow
162aac4943 fix(build): Don't delete plugin package.json files, restore ellipsis (@sdw consulted HIG!) 2016-02-24 18:15:55 -08:00
mbilker
fd162ac4da fix(publish-nylas-build): return undefined to prevent grunt interpreting as failed build 2016-02-15 21:12:17 -05:00
mbilker
0fcd9d0a22 fix(build): use special docker build file to run appropriate build tasks 2016-02-15 19:41:13 -05:00
Evan Morikawa
aaf68b25c8 fix(win): add windows-shortcuts to asar exclude 2016-02-11 13:52:53 -08:00
Karim Hamidou
59964b04c8 set the ContentType when uploading packages to S3. 2016-01-13 11:12:39 -08:00
Ben Gotow
f250fe2528 fix(examples): examples => packages, move away from installing them 2016-01-07 14:56:34 -08:00
Ben Gotow
beb38c85c0 fix(rpm): Treat-deb and-rpm as separate platforms on N1Server 2016-01-05 17:51:02 -08:00
Ben Gotow
a9c586cf2b fix(rpm): Upload RPM builds following naming convention 2016-01-05 17:32:11 -08:00
mbilker
777ba0f91d fix(grunt): replace shareDir with linuxShareDir to reflect global changes
The `install` task would fail since `linuxShareDir` was undefined for the
template `.desktop` file.
2016-01-04 22:08:20 -05:00
Evan Morikawa
a68b03a23e fix(build): debian packages use different share dir 2016-01-04 16:39:43 -08:00
Evan Morikawa
822da1c0de feat(build): new rpm builds
Summary: Now builds RPM on Travis

Test Plan: manual

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2391
2016-01-04 09:56:14 -08:00
Evan Morikawa
d3d2bd35ec fix(date): copyright year auto-updates 2016-01-04 09:41:28 -08:00
Dave Perdue
7e952f8375 Remove redundant path in .desktop for Linux
The install-task has two instructions that add an extra "resources" to the iconName directory and thus the icon doesn't work. The resulting nylus.desktop has an invalid path for the icon.
2015-12-16 11:59:01 -08:00
Ben Gotow
5c48d27cfc fix(locales): Copy lproj files to ensure navigator.language works
See https://github.com/atom/electron/issues/2484
2015-12-15 11:34:56 -08:00
Ben Gotow
433b218f48 fix(ci): stable instead of release/* branches 2015-12-11 17:13:42 -08:00
Ben Gotow
f16f97eaea fix(ci): Publish appveyor release branch builds 2015-12-11 15:11:13 -08:00
Ben Gotow
7ea0202cc7 fix(ci): Publish builds on release branches 2015-12-11 14:44:53 -08:00
mbilker
7b037ae8f2 fix(tests): replace () with [] for properties of process.env
This bug appeared during a Travis test run, and only appeared on
the Linux hosts running the tests. The function appears to treat
the `process.env` as a set of functions, not properties. This
commit correctly interprets them as properties.
2015-12-08 18:06:41 -05:00
Evan Morikawa
989f38ca77 feat(ci): add Travis and AppVeyor ci support 2015-12-07 12:48:26 -05:00
Evan Morikawa
e9936581be feat(build): add nylas resources 2015-12-02 15:12:56 -08:00
Evan Morikawa
c3ecca2692 feat(tests): add integration tests
comment

Adding test harness

Using key strokes in main window test

Tests work now

Clean up argument variables

Rename list manager and get rid of old spec-helper methods

Extract out time overrides from spec-helper

Spectron test for contenteditable

fix spec exit codes and boot mode

fix(spec): cleanup N1.sh and make specs fail with exit code 1

Revert tests and get it working in window

Move to spec_integration and add window load tester

Specs pass. Console logs still in

Remove console logs

Extract N1 Launcher ready method

Make integrated unit test runner

feat(tests): adding integration tests

Summary:
The /spectron folder got moved to /spec_integration

There are now unit tests (the old ones) run via the renamed
`script/grunt run-unit-tests`

There are now integration tests run via the command `script/grunt
run-integration-tests`.

There are two types of integration tests:
1. Tests that operate on the whole app via Selenium/Chromedriver. These
tests have access to Spectron APIs but do NOT have access to any JS object
running inside the application. See the `app-boot-spec.es6` for an example
of these tests. This is tricky because we want to test the Main window,
but Spectron may latch onto any other of our loading windows. Code in
`integration-helper` give us an API that finds and loads the main window
so we can test it

2. Tests that run in the unit test suite that need Spectron to perform
integration-like behavior. These are the contentedtiable specs. The
Spectron server is accessed from the app and can be used to trigger
actions on the running app, from the app. These tests use the
windowed-test runner so Spectron can identify whether the tests have
completed, passed, or failed. Unfortunately Spectron can't access the logs
, nor the exit code of the test script thereby forcing us to parse the
HTML DOM. (Note this is still a WIP)

I also revamped the `N1.sh` file when getting the launch arguments to work
properly. It's much cleaner. We didn't need most of the data.

Test Plan: new tests

Reviewers: juan, bengotow

Differential Revision: https://phab.nylas.com/D2289

Fix composer specs

Tests can properly detect when Spectron is in the environment

Report plain text output in specs

fixing contenteditable specs

Testing slow keymaps on contenteditable specs

Move to DOm mutation

Spell as `subtree` not `subTree`
2015-12-02 13:41:14 -08:00
Ben Gotow
734e670e81 fix(specs): Remove promise usage, process.env as fn to fix node 0.10 2015-11-30 12:39:17 -08:00
mbilker
e532fa91f8 fix(grunt): update location of rpm icon name 2015-11-27 15:18:46 -05:00
Evan Morikawa
a69dad52a3 fix(task): spec task uses Promise 2015-11-26 13:03:44 -08:00
mbilker
2967e2e495 fix(spectron): prevent execution for windows only 2015-11-24 00:17:00 -05:00
mbilker
4153741566 fix(spectron): typo with darwin 2015-11-23 23:34:37 -05:00