Switch to using Laravel Mix. Closes #2582

This commit is contained in:
James Brooks 2017-06-19 22:38:33 +01:00
parent 61c569505f
commit 41a8562d80
26 changed files with 5803 additions and 28394 deletions

7
.gitignore vendored
View File

@ -1,6 +1,11 @@
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
/.idea
/.vagrant
Homestead.json
Homestead.yaml
npm-debug.log
.env
phpunit.xml

6226
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,20 @@
{
"name": "cachet",
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"animate-sass": "git+https://github.com/tgdev/animate-sass.git",
"autosize": "^3.0.20",
"bootstrap-sass": "^3.3.6",
"chart.js": "^2.4.0",
"cross-env": "^3.2.3",
"eonasdan-bootstrap-datetimepicker": "^4.17.46",
"es5-shim": "^4.5.9",
"github-markdown-css": "^2.3.0",
@ -14,7 +24,7 @@
"jquery-minicolors": "^2.1.10",
"jquery-serializeobject": "^1.0.0",
"jquery-sparkline": "^2.4.0",
"laravel-elixir": "^6.0.0-15",
"laravel-mix": "0.*",
"livestamp": "git+https://github.com/mattbradley/livestampjs.git#develop",
"lodash": "^4.17.4",
"messenger": "git+https://github.com/HubSpot/messenger.git",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +0,0 @@
{
"dist/css/app.css": "dist/css/app-e523883fcf.css",
"dist/css/dashboard.css": "dist/css/dashboard-9d60d69c9c.css",
"dist/js/all.js": "dist/js/all-c731599a85.js"
}

View File

@ -1,2 +0,0 @@
*
!.gitignore

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"/dist/css/app.feac6a0c1283b11117bc898e9697488a.css","sources":[],"mappings":";;;;;;;;;;A","sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"/dist/css/dashboard/dashboard.d62a8b6468ab8c9bca396ab8f6cde506.css","sources":[],"mappings":";;;;;;;;;;;;;;A","sourceRoot":""}

File diff suppressed because one or more lines are too long

15
public/mix-manifest.json Normal file
View File

@ -0,0 +1,15 @@
{
"/mix.js": "/mix.46bdcf356e69eb1117ec.js",
"/js/app.js": "/js/app.js",
"/js/all.js": "/js/all.96fbf298e0087299ee7bd00e57d3bcc1.js",
"/css/dashboard/dashboard.css": "/css/dashboard/dashboard.d62a8b6468ab8c9bca396ab8f6cde506.css",
"/css/app.css": "/css/app.feac6a0c1283b11117bc898e9697488a.css",
"/mix.js.map": "/mix.46bdcf356e69eb1117ec.js.map",
"/css/dashboard/dashboard.css.map": "/css/dashboard/dashboard.d62a8b6468ab8c9bca396ab8f6cde506.css.map",
"/css/app.css.map": "/css/app.feac6a0c1283b11117bc898e9697488a.css.map",
"/dist/css/dashboard/dashboard.css": "/dist/css/dashboard/dashboard.d62a8b6468ab8c9bca396ab8f6cde506.css",
"/dist/css/app.css": "/dist/css/app.feac6a0c1283b11117bc898e9697488a.css",
"/dist/css/dashboard/dashboard.css.map": "/dist/css/dashboard/dashboard.d62a8b6468ab8c9bca396ab8f6cde506.css.map",
"/dist/css/app.css.map": "/dist/css/app.feac6a0c1283b11117bc898e9697488a.css.map",
"/dist/js/all.js": "/dist/js/all.96fbf298e0087299ee7bd00e57d3bcc1.js"
}

View File

@ -25,7 +25,7 @@
@if($enable_external_dependencies)
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css">
@endif
<link rel="stylesheet" href="{{ elixir('dist/css/dashboard.css') }}">
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
@yield('css')
@include('partials.crowdin')
@ -34,7 +34,7 @@
var Global = {};
Global.locale = '{{ $app_locale }}';
</script>
<script src="{{ elixir('dist/js/all.js') }}"></script>
<script src="{{ mix('dist/js/all.js') }}"></script>
</head>
<body class="@yield('bodyClass')">

View File

@ -25,7 +25,7 @@
@if($enable_external_dependencies)
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css">
@endif
<link rel="stylesheet" href="{{ elixir('dist/css/dashboard.css') }}">
<link rel="stylesheet" href="{{ mix('dist/css/dashboard/dashboard.css') }}">
@yield('css')
@include('partials.crowdin')
@ -34,7 +34,7 @@
var Global = {};
Global.locale = '{{ $app_locale }}';
</script>
<script src="{{ elixir('dist/js/all.js') }}"></script>
<script src="{{ mix('dist/js/all.js') }}"></script>
</head>
<body class="dashboard">

View File

@ -49,7 +49,7 @@
@if($enable_external_dependencies)
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700&subset={{ $font_subset }}" rel="stylesheet" type="text/css">
@endif
<link rel="stylesheet" href="{{ elixir('dist/css/app.css') }}">
<link rel="stylesheet" href="{{ mix('dist/css/app.css') }}">
@include('partials.stylesheet')
@ -65,7 +65,7 @@
var Global = {};
Global.locale = '{{ $app_locale }}';
</script>
<script src="{{ elixir('dist/js/all.js') }}"></script>
<script src="{{ mix('dist/js/all.js') }}"></script>
</head>
<body class="status-page @yield('bodyClass')">
@yield('outer-content')

52
webpack.mix.js Normal file
View File

@ -0,0 +1,52 @@
let mix = require('laravel-mix');
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
mix
.copy(
'node_modules/jquery-minicolors/jquery.minicolors.css',
'resources/assets/sass/plugins/_jquery.minicolors.scss'
)
.copy(
'node_modules/github-markdown-css/github-markdown.css',
'resources/assets/sass/plugins/_github-markdown.scss'
)
.copyDirectory('node_modules/ionicons/fonts', 'public/fonts')
.sass('resources/assets/sass/dashboard.scss', 'public/dist/css/dashboard')
.sass('resources/assets/sass/app.scss', 'public/dist/css')
.options({
processCssUrls: false
})
.scripts([
'node_modules/es5-shim/es5-shim.js',
'node_modules/es5-shim/es5-sham.js',
'node_modules/jquery/dist/jquery.min.js',
'node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js',
'node_modules/moment/min/moment-with-locales.min.js',
'node_modules/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js',
'node_modules/lodash/lodash.min.js',
'node_modules/autosize/dist/autosize.min.js',
'node_modules/messenger/build/js/messenger.min.js',
'node_modules/sortablejs/Sortable.min.js',
'node_modules/jquery-minicolors/jquery.minicolors.min.js',
'node_modules/chart.js/dist/Chart.min.js',
'node_modules/jquery-sparkline/jquery.sparkline.min.js',
'node_modules/sweetalert2/dist/sweetalert2.min.js',
'node_modules/livestamp/livestamp.js',
'node_modules/jquery-serializeobject/jquery.serializeObject.js',
'resources/assets/js/password-strength.js',
'resources/assets/js/app.js',
], 'public/dist/js/all.js')
if (mix.config.inProduction) {
mix.version();
}