Commit graph

62 commits

Author SHA1 Message Date
Ray Schamp
f7e9b7ca38 Merge pull request #473 from rschamp/feature/lint
Lint JSON and all of our .js and .scss
2016-05-17 16:01:55 -04:00
Ray Schamp
b0b520fe18 Lint JSON, expand and simplify lint step 2016-05-16 13:02:55 -04:00
Ray Schamp
8f2697b7f1 Move externals, polyfill and init to common chunk
This should allow us to define and update our dependencies more easily (via npm) as well as reducing the number of requests.

Additionally, when we add common packages this will avoid the issue after deploys where a user may get a cached HTML page, but new Javascript, leading to the dreaded blank page because the browser didn't download all dependencies.

Using mangle with UglifyJS also made the total file size for the common chunk bundle smaller than the current total for all of our external/polyfill scripts (1.18MB vs 1.55MB).
2016-05-16 12:59:58 -04:00
Ray Schamp
0f33ec836c Use published version of po2icu
Version 0.0.2 has i18next-conv 2.2.5 which uses iconv-lite rather than iconv. So this means we don't have to patch gcc.
2016-05-13 15:33:46 -04:00
Ray Schamp
dd1c2c1627 Use s3cmd to sync with S3 2016-04-29 15:52:15 -04:00
Ray Schamp
669a8c9ae3 Mark version with webpack 2016-04-28 15:40:50 -04:00
Ray Schamp
ff70324fb5 Use s3 module to deploy to S3 2016-04-19 16:35:51 -04:00
Ray Schamp
43788eb7d8 Split server and routes/config
Turn HtmlGeneratorPlugin into a module
Turn server into dev-server and simplify it
2016-04-18 14:07:11 -04:00
Ray Schamp
0aa9b7c587 Untangle the requests a bit with help from async 2016-04-16 12:49:48 -04:00
Ray Schamp
de5f36b649 Add script for configuring Fastly for S3
* Builds the Pass condition based on the static directory and view routes.
* Updates Fastly with new header and conditions based on the view routes.
* Uses a nice module for interacting with fastly :)

Needs some major cleanup but it works. Hopefully Travis will work too.
2016-04-15 19:42:57 -04:00
Ray Schamp
7aa05b1784 Upgrade css-loader and autoprefixer-loader
These depended on postcss < 5, which caused the errors like

Container#eachAtRule is deprecated. Use Container#walkAtRules instead.
Container#eachRule is deprecated. Use Container#walkRules instead.
Container#eachDecl is deprecated. Use Container#walkDecls instead.
Node#style() is deprecated. Use Node#raw()
Node#_value was deprecated. Use Node#raws.value
Container#remove is deprecated. Use Container#removeChild

The autoprefixer-loader package is deprecated now and recommends using postcss-loader + autoprefixer itself.
2016-04-13 15:21:25 -04:00
Ray Schamp
29fa914b9a Merge pull request #391 from rschamp/feature/token-from-cookie
Add method to retrieve token from session cookie and use it
2016-03-24 12:27:07 -04:00
Ray Schamp
19f469db48 Upgrade and quiet sass-linter
These warnings were annoying me because the noise makes it easy to miss real issues.

The `no-mergeable-selectors` rule is one that we do want to have, but right now it asks that you merge selectors in different `@media` blocks.  When the next release happens we should put that back.

https://github.com/sasstools/sass-lint/issues/307

Similarly, we want `force-element-nesting` but there is a problem with that because there's no easy way to have a nested selector in a list of selectors.
https://github.com/sasstools/sass-lint/issues/575

Finally, until they implement per-line overrides, we have to silence `class-name-format` because we don't have control over the ReactModal class names.  It's a useful rule to keep class names consistent though.  Per-line ignores should be coming soon: https://github.com/sasstools/sass-lint/issues/70
2016-03-23 18:34:54 -04:00
Ray Schamp
96bc1b1ab1 Add method for reading session cookie
Assumes the session cookie is stored as JSON which may or may not have been compressed via zlib (indicated by a leading `.`), which is then base64-encoded, and made URL-safe by replacing all `+` and `/` characters with `-` and `_` respectively.
2016-03-22 09:11:09 -04:00
Ray Schamp
a5e336a175 Use redux for session handling 2016-03-18 11:51:22 -04:00
Andrew Sliwinski
9cbe1c8498 Update devDependencies and remove redundant / unused modules. Re GH-351 2016-03-02 10:14:05 -05:00
Andrew Sliwinski
5ae65979dd Update dependencies. Re GH-351 2016-03-02 10:03:22 -05:00
Andrew Sliwinski
c76533bf38 Update license and add trademark notice 2016-01-31 13:07:21 -05:00
Matthew Taylor
ceec694b2a Revert "Migrate to using a loader method"
This reverts commit 214430b0c4.
2016-01-08 13:50:58 -05:00
Matthew Taylor
214430b0c4 Migrate to using a loader method
This moves all locale/translation building to a dependency, `scratch-www-intl-loader`, as well as tests associated with it. Also gets rid of the `make translations` step.
2016-01-07 17:01:57 -05:00
Matthew Taylor
8ae98d703f Make localizations view-based
1. Load locale strings into `window._messages` in a separate file added to `template.html`, which contains view-specific and general strings
2. Update build-locales to compile separate files
2016-01-06 14:09:32 -05:00
Matthew Taylor
40b41a0227 Merge pull request #285 from mewtaylor/bugfix/update-translations-dependency-repo-develop
Update translations dependency repo (for develop branch)
2015-12-09 09:52:49 -05:00
Matthew Taylor
42672378dd Update where scratchr2_translations points to
I forgot that I had a PR opened to do this, my bad.
2015-12-08 18:52:13 -05:00
Ray Schamp
ae8d4d8990 Use webpack-dev-middleware for assets in dev 2015-11-19 15:25:39 -05:00
Ray Schamp
c065df3faa Use webpack for static assets 2015-11-19 15:25:39 -05:00
Matthew Taylor
133e42de06 Update to beta 1
locales configuration not loaded automatically anymore, so we need to load react-intl with locales included into the browser ahead of time
2015-11-19 15:25:39 -05:00
Matthew Taylor
ebd2c080c8 Upgrade react modules for 0.14
They are now completely 0.14 compatible, so we can remove our port'd versions now.
2015-11-16 09:58:18 -05:00
Ray Schamp
7c0363e99b Merge pull request #211 from rschamp/bugfix/GH-195
Fix GH-195: Use a spinner component to convey activity while logging in
2015-11-11 11:11:02 -05:00
Ray Schamp
ae8c25e2c4 Update sass-lint
This reverts commit bad6e1cca6.
2015-11-06 11:52:16 -05:00
Ray Schamp
f97e3f51ee Add Spinner component
Using one found on http://tobiasahlin.com/spinkit/ for now. @carljbowman please help
2015-11-03 18:45:38 -05:00
Ray Schamp
6bc767dc15 Use the Travis build artifact for deployment 2015-10-29 13:04:42 -04:00
Ray Schamp
14fd4c5860 Fix GH-168: Rehabilitate the Modal props.style
This makes it more sane, and consistent with the way the react-modal `Modal` works.  The old way made multiple modals on the page have the same `style` prop.
2015-10-24 17:15:03 -04:00
Colby Gutierrez-Kraybill
9e9dc0221d Merge pull request #132 from colbygk/feature/sentry-integration
Feature/sentry integration
2015-10-23 14:26:28 -04:00
Colby Gutierrez-Kraybill
b33645beda Handle sentry config and express routing/page handling errors, to do: handle uncaughtExceptions 2015-10-22 15:05:55 -04:00
Andrew Sliwinski
d86703e5db Add window.Intl polyfill. Resolves GH-96 2015-10-21 20:49:31 -04:00
Ray Schamp
65734a9577 Adapt to upgraded react-modal style handling 2015-10-20 19:28:28 -04:00
Colby Gutierrez-Kraybill
d39b691c46 Adding newrelic integration 2015-10-20 12:54:48 -04:00
Matthew Taylor
be5d8cd3eb use po2icu to get po files as json icu files 2015-10-15 23:02:57 -04:00
Matthew Taylor
3d8ae43391 Use forks of react-modal and react-slick
They're not 0.14 compatible completely yet, so use forks that make use of outstanding PRs for 0.14 compatibility until they release an npm module with support
2015-10-14 23:01:19 -04:00
Matthew Taylor
c3b62c8f05 Update core react dependencies 2015-10-14 22:59:38 -04:00
Andrew Sliwinski
f3d6a273fb Resolve merge conflict 2015-10-13 15:57:55 -04:00
Ray Schamp
ecbf770ea4 Move watch & start behavior to npm run dev 2015-10-09 10:52:43 -06:00
Ray Schamp
4fdc4dc49d Make start also watch, and allow stop to kill it 2015-10-08 16:21:39 -06:00
Ray Schamp
621c32a605 Handle API errors by logging them
Upgrade of bunyan required for use with webpack
2015-10-07 11:29:17 -04:00
Ray Schamp
4b4482f1fe Allow logging in and out
On scratchr2, the /session/ endpoint also sets the csrf cookie to allow this.
2015-10-02 16:58:08 -04:00
Ray Schamp
e0d17005e4 Get session from scratchr2 via proxy
Cookies aren't shared across ports, so the proxy is necessary to share the session between scratchr2 and www.
2015-10-02 16:58:08 -04:00
Ray Schamp
c3bc59fee2 Add a Sass linter 2015-09-24 18:32:21 -04:00
Ray Schamp
d6576409f1 Something like session handling 2015-09-22 10:26:19 -04:00
Andrew Sliwinski
5eca8d03ae Add deployment configuration 2015-09-19 19:25:54 -04:00
Colby Gutierrez-Kraybill
1cf6cedaee Initial nginx config generation, can use environment variabes PORT and SERVER_NAME. Dynamically figures out static regex based on build directory 2015-09-16 15:09:15 -04:00