create a cacheable commons bundle for d3 library

This commit is contained in:
Mike Greiling 2017-03-02 01:34:36 -06:00
parent 1f97433100
commit ec9180719e
7 changed files with 13 additions and 6 deletions

View File

@ -1,3 +0,0 @@
/* eslint-disable func-names, space-before-function-paren */
window.d3 = require('d3');

View File

@ -1,5 +1,6 @@
/* eslint-disable func-names, space-before-function-paren, no-var, prefer-rest-params, wrap-iife, camelcase, vars-on-top, object-shorthand, comma-dangle, eqeqeq, no-mixed-operators, no-return-assign, newline-per-chained-call, prefer-arrow-callback, consistent-return, one-var, one-var-declaration-per-line, prefer-template, quotes, no-unused-vars, no-else-return, max-len */
/* global d3 */
import d3 from 'd3';
(function() {
var bind = function(fn, me) { return function() { return fn.apply(me, arguments); }; };

View File

@ -1,6 +1,7 @@
- @no_container = true
- page_title "Charts"
- content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_d3')
= page_specific_javascript_bundle_tag('graphs')
= render "projects/commits/head"

View File

@ -1,6 +1,7 @@
- @no_container = true
- page_title "Contributors"
- content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_d3')
= page_specific_javascript_bundle_tag('graphs')
= render 'projects/commits/head'

View File

@ -1,6 +1,7 @@
- @no_container = true
- page_title "Charts", "Pipelines"
- content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_d3')
= page_specific_javascript_bundle_tag('graphs')
= render 'head'

View File

@ -1,7 +1,7 @@
- page_title @user.name
- page_description @user.bio
- content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('lib_d3')
= page_specific_javascript_bundle_tag('common_d3')
= page_specific_javascript_bundle_tag('users')
- header_title @user.name, user_path(@user)
- @no_container = true

View File

@ -19,6 +19,7 @@ var config = {
entry: {
common: './commons/index.js',
common_vue: ['vue', 'vue-resource'],
common_d3: ['d3'],
application: './application.js',
blob_edit: './blob_edit/blob_edit_bundle.js',
boards: './boards/boards_bundle.js',
@ -40,7 +41,6 @@ var config = {
snippet: './snippet/snippet_bundle.js',
terminal: './terminal/terminal_bundle.js',
users: './users/users_bundle.js',
lib_d3: './lib/d3.js',
vue_pipelines: './vue_pipelines_index/index.js',
},
@ -116,6 +116,12 @@ var config = {
},
}),
// create cacheable common library bundle for all d3 chunks
new webpack.optimize.CommonsChunkPlugin({
name: 'common_d3',
chunks: ['graphs', 'users'],
}),
// create cacheable common library bundles
new webpack.optimize.CommonsChunkPlugin({
names: ['application', 'common', 'manifest'],