Add release scripts

This commit is contained in:
Pig Fang 2018-08-21 16:13:19 +08:00
parent c09544d942
commit 93bf63eda5
6 changed files with 300 additions and 244 deletions

View File

@ -1,240 +0,0 @@
'use strict';
var gulp = require('gulp'),
babel = require('gulp-babel'),
uglify = require('gulp-uglify'),
stylus = require('gulp-stylus'),
cleanCss = require('gulp-clean-css'),
del = require('del'),
exec = require('child_process').exec,
concat = require('gulp-concat'),
zip = require('gulp-zip'),
replace = require('gulp-batch-replace'),
notify = require('gulp-notify'),
sourcemaps = require('gulp-sourcemaps'),
merge = require('merge2'),
runSequence = require('run-sequence');
var version = require('./package.json').version;
var srcPath = 'resources/assets/src';
var distPath = 'resources/assets/dist';
var vendorScripts = [
'jquery/dist/jquery.min.js',
'bootstrap/dist/js/bootstrap.min.js',
'admin-lte/dist/js/adminlte.min.js',
'bootstrap-fileinput/js/fileinput.min.js',
'icheck/icheck.min.js',
'toastr/build/toastr.min.js',
'es6-promise/dist/es6-promise.auto.min.js',
'sweetalert2/dist/sweetalert2.min.js',
'jqPaginator/dist/1.2.0/jqPaginator.min.js',
];
var vendorScriptsToBeMinified = [
'regenerator-runtime/runtime.js',
'datatables.net/js/jquery.dataTables.js',
'datatables.net-bs/js/dataTables.bootstrap.js',
'resources/assets/dist/js/common.js',
];
var vendorStyles = [
'bootstrap/dist/css/bootstrap.min.css',
'admin-lte/dist/css/AdminLTE.min.css',
'datatables.net-bs/css/dataTables.bootstrap.css',
'bootstrap-fileinput/css/fileinput.min.css',
'font-awesome/css/font-awesome.min.css',
'icheck/skins/square/blue.css',
'toastr/build/toastr.min.css',
'sweetalert2/dist/sweetalert2.min.css',
];
var styleReplacements = [
['blue.png', '"../images/blue.png"'],
['blue@2x.png', '"../images/blue@2x.png"'],
['../img/loading.gif', '"../images/loading.gif"'],
['../img/loading-sm.gif', '"../images/loading-sm.gif"'],
];
var scriptReplacements = [];
var fonts = [
'font-awesome/fonts/**',
'bootstrap/dist/fonts/**',
'resources/assets/src/fonts/**',
];
var images = [
'icheck/skins/square/blue.png',
'icheck/skins/square/blue@2x.png',
'resources/assets/src/images/**',
'bootstrap-fileinput/img/loading.gif',
'bootstrap-fileinput/img/loading-sm.gif',
];
// aka. `yarn run build`
gulp.task('default', ['build']);
// Build the things!
gulp.task('build', callback => {
runSequence('clean', ['compile-es6', 'compile-stylus'], 'publish-vendor', 'notify', callback);
});
// Send a notification
gulp.task('notify', () => {
return gulp.src('').pipe(notify('Assets compiled!'));
});
// Concentrate all vendor scripts & styles to one dist file
gulp.task('publish-vendor', ['compile-es6'], callback => {
// JavaScript files
var js = gulp.src(convertNpmRelativePath(vendorScripts))
.pipe(replace(scriptReplacements));
var jsToBeMinified = gulp.src(convertNpmRelativePath(vendorScriptsToBeMinified))
.pipe(uglify());
merge(js, jsToBeMinified)
.pipe(concat('app.js'))
.pipe(gulp.dest(`${distPath}/js/`));
// CSS files
gulp.src(convertNpmRelativePath(vendorStyles))
.pipe(concat('style.css'))
.pipe(replace(styleReplacements))
.pipe(gulp.dest(`${distPath}/css/`));
// Fonts
gulp.src(convertNpmRelativePath(fonts))
.pipe(gulp.dest(`${distPath}/fonts/`));
// Images
gulp.src(convertNpmRelativePath(images))
.pipe(gulp.dest(`${distPath}/images/`));
// AdminLTE skins
gulp.src(convertNpmRelativePath(['admin-lte/dist/css/skins/*.min.css']))
.pipe(gulp.dest(`${distPath}/css/skins/`));
// 3D skin preview
gulp.src(convertNpmRelativePath(['three/build/three.min.js', 'skinview3d/build/skinview3d.min.js']))
.pipe(concat('skinview3d.js'))
.pipe(gulp.dest(`${distPath}/js/`));
// Chart.js
gulp.src(convertNpmRelativePath(['chart.js/dist/Chart.min.js']))
.pipe(concat('chart.js'))
.pipe(gulp.dest(`${distPath}/js/`));
callback();
});
// Compile stylus to css
gulp.task('compile-stylus', () => {
return gulp.src(`${srcPath}/stylus/*.styl`)
.pipe(sourcemaps.init())
.pipe(stylus())
.pipe(cleanCss())
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest(`${distPath}/css`));
});
// Compile ES6 scripts to ES5
gulp.task('compile-es6', callback => {
['common', 'admin', 'auth', 'skinlib', 'user'].forEach(moduleName => {
return gulp.src(`${srcPath}/js/${moduleName}/*.js`)
.pipe(sourcemaps.init())
.pipe(babel())
.pipe(concat(`${moduleName}.js`))
.pipe(uglify())
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest(`${distPath}/js`));
});
callback();
});
// Delete cache files
gulp.task('clean', () => {
clearCache();
return clearDist();
});
// Release archive file
// aka. `yarn run release`
gulp.task('zip', () => {
clearCache();
console.log('Cache file deleted');
exec('composer dump-autoload --no-dev', () => {
console.log('Autoload files generated without autoload-dev');
});
let zipPath = `blessing-skin-server-v${version}.zip`;
console.log(`Zip archive will be saved to ${zipPath}.`);
return gulp.src([
'**/*.*',
'artisan',
'LICENSE',
'!.babelrc',
'!.eslintrc.js',
'!.eslintignore',
'!.editorconfig',
'!.travis.yml',
'!{.env,.env.testing}',
'!{.git,.git/**}',
'!{.gitignore,.gitmodules,.gitattributes}',
'!gulpfile.js',
'!composer.*',
'!yarn.lock',
'!plugins/**',
'plugins/',
'!phpunit.xml',
'!package.json',
'!{tests,tests/**}',
'!ISSUE_TEMPLATE.md',
'!{coverage,coverage/**}',
'!{node_modules,node_modules/**}',
'!storage/textures/**',
'!resources/assets/{src,src/**}',
'!resources/assets/dist/**/{maps,maps/**}',
// do not pack packages for developments
'!vendor/fzaninotto/**',
'!vendor/mockery/**',
'!vendor/phpunit/**',
'!vendor/symfony/css-selector/**',
'!vendor/symfony/dom-crawler/**',
'!vendor/mikey179/vfsStream/**',
], { dot: true })
.pipe(zip(zipPath))
.pipe(notify('Don\'t forget to compile Stylus & ES2015 files before publishing a release!'))
.pipe(gulp.dest('../'))
.pipe(notify({ message: `Zip archive saved to ${zipPath}!` }));
});
gulp.task('watch', ['compile-stylus', 'compile-es6'], () => {
// watch .scss files
gulp.watch(`${srcPath}/stylus/*.scss`, ['compile-stylus'], () => notify('Stylus files compiled!'));
// watch .js files
gulp.watch(`${srcPath}/js/**/*.js`, ['compile-es6'], () => notify('ES6 scripts compiled!'));
gulp.watch(`${srcPath}/js/general.js`, ['publish-vendor']);
});
function convertNpmRelativePath(paths) {
return paths.map(relativePath => {
return relativePath.startsWith('resources') ? relativePath : `node_modules/${relativePath}`;
});
}
function clearCache() {
return del([
'storage/logs/*',
'storage/testing/*',
'storage/debugbar/*',
'storage/update_cache/*',
'storage/yaml-translation/*',
'storage/framework/cache/*',
'storage/framework/sessions/*',
'storage/framework/views/*'
]);
}
function clearDist() {
return del([`${distPath}/**/*`]);
}

View File

@ -11,11 +11,12 @@
"private": true,
"scripts": {
"dev": "webpack-serve",
"build": "webpack --mode=production -p",
"build": "rimraf public && webpack --mode=production -p",
"lint": "eslint --ext=.js,.vue -f=beauty .",
"test": "jest",
"codecov": "codecov -F js",
"postinstall": "rimraf node_modules/jest-runtime/node_modules/babel-core node_modules/jest-config/node_modules/babel-core"
"postinstall": "rimraf node_modules/jest-runtime/node_modules/babel-core node_modules/jest-config/node_modules/babel-core",
"release": "yarn build && node scripts/release.js"
},
"resolutions": {
"uglify-es": "npm:terser"
@ -43,9 +44,13 @@
"@babel/plugin-syntax-dynamic-import": "^7.0.0-beta.54",
"@babel/plugin-transform-runtime": "^7.0.0-beta.55",
"@babel/preset-env": "^7.0.0-beta.54",
"@types/adm-zip": "^0.4.31",
"@types/execa": "^0.9.0",
"@types/jest": "^23.3.1",
"@types/jquery": "^3.3.5",
"@types/listr": "^0.13.0",
"@vue/test-utils": "^1.0.0-beta.21",
"adm-zip": "^0.4.11",
"autoprefixer": "^9.0.1",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "^8.2.6",
@ -60,10 +65,12 @@
"eslint": "^5.2.0",
"eslint-formatter-beauty": "^3.0.0-beta.2",
"eslint-plugin-vue": "^5.0.0-beta.1",
"execa": "^0.11.0",
"file-loader": "^1.1.11",
"jest": "^23.4.1",
"jest-extended": "^0.7.2",
"json-loader": "^0.5.7",
"listr": "^0.14.1",
"mini-css-extract-plugin": "^0.4.1",
"postcss-loader": "^2.1.6",
"rimraf": "^2.6.2",

45
scripts/release.js Normal file
View File

@ -0,0 +1,45 @@
const { promisify } = require('util');
const Listr = require('listr');
const execa = require('execa');
const rimraf = require('rimraf');
function del(path) {
return new Promise((resolve, reject) => {
rimraf(path, err => err ? reject(err) : resolve());
});
}
const tasks = new Listr([
{
title: 'Clear cache files',
task: async () => await Promise.all([
'storage/logs/*.log',
'storage/testing/*',
'storage/debugbar/*',
'storage/update_cache/*',
'storage/update_cache',
'storage/yaml-translation/*',
'storage/framework/cache/*',
'storage/framework/sessions/*',
'storage/framework/views/*',
].map(del))
},
{
title: 'Install PHP dependencies for production',
task: async () => {
await del('vendor');
await execa('composer', ['install', '--no-dev']);
return del('vendor/bin');
}
},
{
title: 'Build the zip archive',
task: require('./zip')
},
{
title: 'Install PHP dependencies for development',
task: () => execa('composer', ['install'])
},
]);
tasks.run().catch(console.error);

21
scripts/zip.js Normal file
View File

@ -0,0 +1,21 @@
const fs = require('fs');
const path = require('path');
const AdmZip = require('adm-zip');
const { version } = require('../package.json');
module.exports = function () {
const list = fs.readFileSync('./zip.txt', 'utf-8').split('\n');
list.pop(); // Remove the empty line
const archive = new AdmZip();
list.forEach(item => {
if (item.endsWith('/')) {
archive.addLocalFolder(item, item);
} else {
archive.addLocalFile(item);
}
});
archive.writeZip(`../blessing-skin-server-v${version}.zip`);
};

209
yarn.lock
View File

@ -632,6 +632,12 @@
version "5.2.0"
resolved "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.2.0.tgz#50cd9856774351c56c0b1b0db4efe122d7913e58"
"@samverschueren/stream-to-observable@^0.3.0":
version "0.3.0"
resolved "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f"
dependencies:
any-observable "^0.3.0"
"@shellscape/koa-send@^4.1.0":
version "4.1.3"
resolved "https://registry.yarnpkg.com/@shellscape/koa-send/-/koa-send-4.1.3.tgz#1a7c8df21f63487e060b7bfd8ed82e1d3c4ae0b0"
@ -652,6 +658,18 @@
version "0.7.0"
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
"@types/adm-zip@^0.4.31":
version "0.4.31"
resolved "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.4.31.tgz#a3376b9fa8f4c6e9c078c176d2df2caeb7939de3"
dependencies:
"@types/node" "*"
"@types/execa@^0.9.0":
version "0.9.0"
resolved "https://registry.npmjs.org/@types/execa/-/execa-0.9.0.tgz#9b025d2755f17e80beaf9368c3f4f319d8b0fb93"
dependencies:
"@types/node" "*"
"@types/jest@^23.3.1":
version "23.3.1"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf"
@ -660,6 +678,16 @@
version "3.3.5"
resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.5.tgz#75cfec8c5ee38355d14296ada7e7e2fb8bd3ac2f"
"@types/listr@^0.13.0":
version "0.13.0"
resolved "https://registry.npmjs.org/@types/listr/-/listr-0.13.0.tgz#6250bc4a04123cafa24fc73d1b880653a6ae6721"
dependencies:
"@types/node" "*"
"@types/node@*":
version "10.7.1"
resolved "https://registry.npmjs.org/@types/node/-/node-10.7.1.tgz#b704d7c259aa40ee052eec678758a68d07132a2e"
"@types/strip-bom@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
@ -922,6 +950,10 @@ acorn@^5.0.3, acorn@^5.2.1, acorn@^5.4.1:
version "5.4.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.4.1.tgz#fdc58d9d17f4a4e98d102ded826a9b9759125102"
adm-zip@^0.4.11:
version "0.4.11"
resolved "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz#2aa54c84c4b01a9d0fb89bb11982a51f13e3d62a"
admin-lte@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/admin-lte/-/admin-lte-2.4.2.tgz#6a2928fa34715881eb69a09b64dbccc8d5fae539"
@ -1010,6 +1042,10 @@ ansi-align@^2.0.0:
dependencies:
string-width "^2.0.0"
ansi-escapes@^1.0.0:
version "1.4.0"
resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
ansi-escapes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
@ -1038,6 +1074,10 @@ ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
any-observable@^0.3.0:
version "0.3.0"
resolved "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
any-promise@^1.0.0, any-promise@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
@ -1918,7 +1958,7 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
chalk@^1.1.3:
chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
@ -2049,12 +2089,29 @@ cli-boxes@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143"
cli-cursor@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
dependencies:
restore-cursor "^1.0.1"
cli-cursor@^2.0.0, cli-cursor@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
dependencies:
restore-cursor "^2.0.0"
cli-spinners@^0.1.2:
version "0.1.2"
resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c"
cli-truncate@^0.2.1:
version "0.2.1"
resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574"
dependencies:
slice-ansi "0.0.4"
string-width "^1.0.1"
cli-width@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
@ -2412,7 +2469,7 @@ cross-spawn@^5.0.1:
shebang-command "^1.2.0"
which "^1.2.9"
cross-spawn@^6.0.5:
cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
dependencies:
@ -2672,6 +2729,10 @@ date-fns@2.0.0-alpha.7:
version "2.0.0-alpha.7"
resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.0.0-alpha.7.tgz#245ad16f95764eababfb2c0a41fd5d033c20e57a"
date-fns@^1.27.2:
version "1.29.0"
resolved "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6"
date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
@ -2957,6 +3018,10 @@ electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.52:
version "1.3.52"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz#d2d9f1270ba4a3b967b831c40ef71fb4d9ab5ce0"
elegant-spinner@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
elliptic@^6.0.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df"
@ -3228,6 +3293,18 @@ exec-sh@^0.2.0:
dependencies:
merge "^1.1.3"
execa@^0.11.0:
version "0.11.0"
resolved "https://registry.npmjs.org/execa/-/execa-0.11.0.tgz#0b3c71daf9b9159c252a863cd981af1b4410d97a"
dependencies:
cross-spawn "^6.0.0"
get-stream "^4.0.0"
is-stream "^1.1.0"
npm-run-path "^2.0.0"
p-finally "^1.0.0"
signal-exit "^3.0.0"
strip-eof "^1.0.0"
execa@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
@ -3252,6 +3329,10 @@ execa@^0.8.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
exit-hook@^1.0.0:
version "1.1.1"
resolved "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@ -3433,6 +3514,13 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
figures@^1.7.0:
version "1.7.0"
resolved "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
dependencies:
escape-string-regexp "^1.0.5"
object-assign "^4.1.0"
figures@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
@ -3682,6 +3770,12 @@ get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
get-stream@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.0.0.tgz#9e074cb898bd2b9ebabb445a1766d7f43576d977"
dependencies:
pump "^3.0.0"
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
@ -4116,6 +4210,12 @@ imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
indent-string@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
dependencies:
repeating "^2.0.0"
indent-string@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
@ -4438,6 +4538,12 @@ is-obj@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
is-observable@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
dependencies:
symbol-observable "^1.1.0"
is-odd@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24"
@ -5257,6 +5363,53 @@ lexical-scope@^1.2.0:
dependencies:
astw "^2.0.0"
listr-silent-renderer@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
listr-update-renderer@^0.4.0:
version "0.4.0"
resolved "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7"
dependencies:
chalk "^1.1.3"
cli-truncate "^0.2.1"
elegant-spinner "^1.0.1"
figures "^1.7.0"
indent-string "^3.0.0"
log-symbols "^1.0.2"
log-update "^1.0.2"
strip-ansi "^3.0.1"
listr-verbose-renderer@^0.4.0:
version "0.4.1"
resolved "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35"
dependencies:
chalk "^1.1.3"
cli-cursor "^1.0.2"
date-fns "^1.27.2"
figures "^1.7.0"
listr@^0.14.1:
version "0.14.1"
resolved "https://registry.npmjs.org/listr/-/listr-0.14.1.tgz#8a7afa4a7135cee4c921d128e0b7dfc6e522d43d"
dependencies:
"@samverschueren/stream-to-observable" "^0.3.0"
cli-truncate "^0.2.1"
figures "^1.7.0"
indent-string "^2.1.0"
is-observable "^1.1.0"
is-promise "^2.1.0"
is-stream "^1.1.0"
listr-silent-renderer "^1.1.1"
listr-update-renderer "^0.4.0"
listr-verbose-renderer "^0.4.0"
log-symbols "^1.0.2"
log-update "^1.0.2"
ora "^0.2.3"
p-map "^1.1.1"
rxjs "^6.1.0"
strip-ansi "^3.0.1"
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@ -5354,12 +5507,25 @@ lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.4:
version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
log-symbols@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
dependencies:
chalk "^1.0.0"
log-symbols@^2.1.0, log-symbols@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
dependencies:
chalk "^2.0.1"
log-update@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1"
dependencies:
ansi-escapes "^1.0.0"
cli-cursor "^1.0.2"
log-update@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708"
@ -6059,6 +6225,10 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
onetime@^1.0.0:
version "1.1.0"
resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
onetime@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
@ -6097,6 +6267,15 @@ optionator@^0.8.1, optionator@^0.8.2:
type-check "~0.3.2"
wordwrap "~1.0.0"
ora@^0.2.3:
version "0.2.3"
resolved "https://registry.npmjs.org/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4"
dependencies:
chalk "^1.1.1"
cli-cursor "^1.0.2"
cli-spinners "^0.1.2"
object-assign "^4.0.1"
os-browserify@^0.3.0, os-browserify@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
@ -6166,6 +6345,10 @@ p-locate@^3.0.0:
dependencies:
p-limit "^2.0.0"
p-map@^1.1.1:
version "1.2.0"
resolved "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
p-reduce@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa"
@ -6775,6 +6958,13 @@ pump@^2.0.0, pump@^2.0.1:
end-of-stream "^1.1.0"
once "^1.3.1"
pump@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
dependencies:
end-of-stream "^1.1.0"
once "^1.3.1"
pumpify@^1.3.3:
version "1.5.1"
resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
@ -7214,6 +7404,13 @@ resolve@^1.3.2, resolve@^1.6.0:
dependencies:
path-parse "^1.0.5"
restore-cursor@^1.0.1:
version "1.0.1"
resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
dependencies:
exit-hook "^1.0.0"
onetime "^1.0.0"
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@ -7485,6 +7682,10 @@ slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
slice-ansi@0.0.4:
version "0.0.4"
resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
slice-ansi@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
@ -7898,6 +8099,10 @@ symbol-observable@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
symbol-observable@^1.1.0:
version "1.2.0"
resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
symbol-tree@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"

18
zip.txt Normal file
View File

@ -0,0 +1,18 @@
app/
bootstrap/
config/
database/
public/
resources/lang/
resources/views/
routes/
storage/
vendor/
.env.example
.htaccess
artisan
index.php
LICENSE
README.md
README_EN.md
web.config