about summary refs log tree commit diff
path: root/config/webpack
AgeCommit message (Collapse)Author
2017-11-01Upgrade compression-webpack-plugin to version 1.0.1 (#5581)Yamagishi Kazutoshi
2017-10-31Add ServiceWorker caching for static assets (#5524)Nolan Lawson
2017-10-27Use contenthash for ExtractTextWebpackPlugin (#5462)Akihiko Odaki
[hash] is not documented.
2017-10-10Remove prop types from external libraries (#5304)Nolan Lawson
2017-10-08Use ES module build of react-router-dom (#5264)Nolan Lawson
2017-10-04Configure webpack to poll for changes in development (#5040)aschmitz
* Configure webpack to poll for changes in development Vagrant on Linux/macOS hosts shared files via NFS, which doens't support inotify-based watching of files. This tweak makes webpack check for changes every second, and rebuild if necessary. This removes the need to restart Foreman every time a frontend file changes. Note that rebuilding is still a relatively lengthy process. The polling frequency can be changed to taste. * Only poll in Vagrant This tests for the presence of the VAGRANT environment variable to determine whether or not we're in Vagrant. It is set in .env.vagrant, which is set up to be included in the Vagrantfile.
2017-09-19Add support for multiple themes (#4959)Andrew
* Add support for selecting a theme * Fix codeclimate issues * Look up site default style if current user is not available due to e.g. not being logged in * Remove outdated comment in common.js * Address requested changes in themes PR * Fix codeclimate issues * Explicitly check current_account in application controller and only check theme availability if non-nil * codeclimate * explicit precedence with && * Fix code style in application_controller according to @nightpool's suggestion, use default style in embedded.html.haml * codeclimate: indentation + return
2017-08-24Disable babel-loader cache when development environment (#4684)Yamagishi Kazutoshi
2017-08-03Enable cache for babel-loader (#4505)Yamagishi Kazutoshi
2017-07-28Remove hash from chunk filename when dev env (#4411)Yamagishi Kazutoshi
2017-07-28fix #4356 : place sw.js to assets/sw.js (#4357)Satoshi KOJIMA
2017-07-13Web Push Notifications (#3243)Sorin Davidoi
* feat: Register push subscription * feat: Notify when mentioned * feat: Boost, favourite, reply, follow, follow request * feat: Notification interaction * feat: Handle change of public key * feat: Unsubscribe if things go wrong * feat: Do not send normal notifications if push is enabled * feat: Focus client if open * refactor: Move push logic to WebPushSubscription * feat: Better title and body * feat: Localize messages * chore: Fix lint errors * feat: Settings * refactor: Lazy load * fix: Check if push settings exist * feat: Device-based preferences * refactor: Simplify logic * refactor: Pull request feedback * refactor: Pull request feedback * refactor: Create /api/web/push_subscriptions endpoint * feat: Spec PushSubscriptionController * refactor: WebPushSubscription => Web::PushSubscription * feat: Spec Web::PushSubscription * feat: Display first media attachment * feat: Support direction * fix: Stuff broken while rebasing * refactor: Integration with session activations * refactor: Cleanup * refactor: Simplify implementation * feat: Set VAPID keys via environment * chore: Comments * fix: Crash when no alerts * fix: Set VAPID keys in testing environment * fix: Follow link * feat: Notification actions * fix: Delete previous subscription * chore: Temporary logs * refactor: Move migration to a later date * fix: Fetch the correct session activation and misc bugs * refactor: Move migration to a later date * fix: Remove follow request (no notifications) * feat: Send administrator contact to push service * feat: Set time-to-live * fix: Do not show sensitive images * fix: Reducer crash in error handling * feat: Add badge * chore: Fix lint error * fix: Checkbox label overlap * fix: Check for payload support * fix: Rename action "type" (crash in latest Chrome) * feat: Action to expand notification * fix: Lint errors * fix: Unescape notification body * fix: Do not allow boosting if the status is hidden * feat: Add VAPID keys to the production sample environment * fix: Strip HTML tags from status * refactor: Better error messages * refactor: Handle browser not implementing the VAPID protocol (Samsung Internet) * fix: Error when target_status is nil * fix: Handle lack of image * fix: Delete reference to invalid subscriptions * feat: Better error handling * fix: Unescape HTML characters after tags are striped * refactor: Simpify code * fix: Modify to work with #4091 * Sort strings alphabetically * i18n: Updated Polish translation it annoys me that it's not fully localized :P * refactor: Use current_session in PushSubscriptionController * fix: Rebase mistake * fix: Set cacheName to mastodon * refactor: Pull request feedback * refactor: Remove logging statements * chore(yarn): Fix conflicts with master * chore(yarn): Copy latest from master * chore(yarn): Readd offline-plugin * refactor: Use save! and update! * refactor: Send notifications async * fix: Allow retry when push fails * fix: Save track for failed pushes * fix: Minify sw.js * fix: Remove account_id from fabricator
2017-07-10Fix #4059 - Remove ModuleConcatenationPlugin (#4139)Eugen Rochko
It increased memory usage of Webpack 1.5x fold with little benefits
2017-07-10Fix regular expression for RFC 5646 (regression from #3604) (#4133)Yamagishi Kazutoshi
2017-06-25Fix react-intl/locale-data import issue on production build (#3937)unarist
Webpack seems to fail to import `react-intl/locale-data/*.js` if those files has been proceed by babel, and this also breaks applying our translation. Note that this won't be a problem on English locale, because react-intl includes it as default and works fine without manually added locale-data. Also this issue seems to only occurs on production build, but I'm not sure about reason.
2017-06-24Fix webpack config for Windows (#3926)unarist
2017-06-23Apply babel to react-intl to remove prop-types (#3914)Nolan Lawson
2017-06-23Upgrade to Webpack 3 with module concatenation (#3912)Nolan Lawson
2017-06-19Re-add disableHostCheck (regression #3729) (#3854)Yamagishi Kazutoshi
ref #2790
2017-06-18Upgrade Webpacker to version 2.0 (#3729)Yamagishi Kazutoshi
2017-06-13Exclude packs/custom.js from webpack compilation to prevent breakage (#3719)Eugen Rochko
due to the change in #3373
2017-06-11Remove comments for eslint-disable (#3691)Yamagishi Kazutoshi
2017-06-06Refactor translationRunner.js (#3604)Yamagishi Kazutoshi
- Use yargs instead of minimist - Simplify validators - Fix typo (RFC5626 -> RFC5646)
2017-06-06Add quotes ESLint rules (#3602)Yamagishi Kazutoshi
* Add quotes ESLint rule * Add jsx-quotes ESlint rule * Sort ESLint rules
2017-06-02Enable stats.json analysis with Webpack Visualizer (#3509)Nolan Lawson
2017-06-01Resolve custom application stylesheet with Webpack (#3373)Akihiko Odaki (@fn_aki@pawoo.net)
This implementation is a bit smaller and still has the following benefits: * No need of app/javascript/packs/custom.js For custom stylesheet, it typically has only "require('../styles/custom.scss')" and is redundant. * No need to extract vendor stylesheet to another asset Extracting vendor stylesheet could be forgotten by developers who do not use custom stylesheet.
2017-06-01Remove unused loaders of webpack (#3495)Yamagishi Kazutoshi
2017-06-01Add ESLint rule (object-curly-spacing) (#3498)Yamagishi Kazutoshi
2017-05-30Fix webpack building on Windows (#3426)Naouak
* Path should not be constructed manually. Use path.join to ensure compatibility. * Path should not be constructed manually. Use path.join to ensure compatibility. * Fix regexp. * Fix my own stupidity. I forgot to check outside my test script the regexp...
2017-05-29[nanobox] Adjustments for Nanobox development (#3295)Daniel Hunsaker
Because Nanobox doesn't run data components in the same container as the code, there are a few tweaks that need to be made in the configuration to get WebPack to work properly in development mode. The same differences lead to needing to use `DATABASE_URL` by default in the `.env` file for Rails to work correctly. Limitations of our `.env` loader for Node.js mean the `.env` file needs to be compiled everywhere in order to work, so we compile it in development, now, too. Also, all the `.env.production` tweaks have been consolidated into a single command. Finally, since Nanobox actually creates the database when it sets up the database server, using the existence of the database alone to determine whether to migrate or setup is insufficient. So we add a condition to `rake db:migrate:setup` to check whether any migrations have run - if the database doesn't exist yet, `db:setup` will be called; if it does, but no migrations have been run, `db:migrate` and `db:seed` are called instead (the same basic idea as what `db:setup` does, but it skips `db:create`, which will only cause problems with an existing DB); otherwise, only `db:migrate` is called. None of these changes should affect development, and all are designed not to interfere with existing behaviors in other environments.
2017-05-28Fix Webpack Bundle Analyzer output for Webpacker (#3374)Akihiko Odaki
Webpacker failed to parse output of Webpack when a module requires non-existent module or has similar errors. This commit fixes the bug.
2017-05-27Fix #2922 - Load stylesheet from "custom.css" entrypoint when present (#3332)Eugen Rochko
* Fix #2922 - Load stylesheet from "custom.css" entrypoint when present This is pretty much the same way it worked as before, albeit with having to create app/javascript/packs/custom.js with require('../styles/custom.scss') (or whatever you want really), which will be a blank slate for you to import whatever you want * Remove old assets directory * Extract font-awesome into common.css and always load it
2017-05-25Add improved performance marks for development mode (#3297)Nolan Lawson
2017-05-22Add webpack-bundle-analyzer for production builds (#3170)Nolan Lawson
2017-05-22Only load Intl data for current language (#3130)Nolan Lawson
* Only load Intl data for current language * Extract common chunk only from application.js and public.js * Generate locale packs, avoid caching on window object
2017-05-20Improve eslint rules (#3147)Yamagishi Kazutoshi
* Add semi to ESLint rules * Add padded-blocks to ESLint rules * Add comma-dangle to ESLint rules * add config/webpack and storyboard * add streaming/ * yarn test:lint -- --fix
2017-05-15Introduce common JavaScript file (#2981)Akihiko Odaki
* Create common chunk rather than vendor chunk vendor chunk is a set of modules provided by external vendors, but now we can have a chunk as a set of modules shared by multiple entry points, which could be more efficent than having vendor chunk. * Start rails-ujs in common.js This is used by /settings/two_factor_authentication.
2017-05-07Add final newline to locale files (#2890)Yamagishi Kazutoshi
2017-05-07add source maps for dev/production (#2873)Nolan Lawson
2017-05-06switch uglify to compress:true,mangle:true (#2852)Nolan Lawson
2017-05-06translateionRunner: improve minimalist options (#2835)Koala Yeung
* translateionRunner: improve minimalist options * Properly added flags. * Added alias: -h, -f * translationRunner: improve logic and flow * Show all error messages instead of validate availability / name format separately. * translationRunner: check messageDirectory existance * translationRunner: changed throw string to Error * translationRunner: use short cut for boolean
2017-05-06remove unnecessary buffer polyfill (#2833)Nolan Lawson
2017-05-06separate .babelrc for prod/dev, add babel-plugin-lodash (#2829)Nolan Lawson
2017-05-06Streamline javascript translation by improving translationRunner (#2808)Koala Yeung
* package.json: Add "build:*" targets * Improve react-intl-translations-manager workflow. * Added "build:production" to build production bundle. * Added "build:development" to build development bundle. * Fix json translation files * Run `yarn manage:translations` to fix translation files. * Fix `pl.json` for syntax error. * translationRunner: auto detect existing languages * Auto detect existing rfc5646 language tag in *.json filenames in `app/javascript/mastodon/locale` folder. No need to manually define every new language in the languages array here. * translationRunner: add more functionality * Allow script user to specify language code to check. * Added available language check. * Added --force flag to force creation of unexists language. * Added --help flag and help messages. * gitignore: ignore npm-debug.log * Fix webpack error if NODE_ENV is not defined Default to use 'development' in config/webpack/configuration.js
2017-05-04Enable disableHostCheck option of webpack-dev-server (#2790)abcang
2017-05-03Replace sprockets/browserify with Webpack (#2617)Eugen Rochko
* Replace browserify with webpack * Add react-intl-translations-manager * Do not minify in development, add offline-plugin for ServiceWorker background cache updates * Adjust tests and dependencies * Fix production deployments * Fix tests * More optimizations * Improve travis cache for npm stuff * Re-run travis * Add back support for custom.scss as before * Remove offline-plugin and babili * Fix issue with Immutable.List().unshift(...values) not working as expected * Make travis load schema instead of running all migrations in sequence * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in <UI /> * Add react definitions to places that use JSX * Add Procfile.dev for running rails, webpack and streaming API at the same time