From c0324a476f54be2f47fddaf86852acb5f7733ac5 Mon Sep 17 00:00:00 2001 From: sunhao Date: Tue, 17 Sep 2019 14:23:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8B=86=E5=88=86=20start?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- {bin => lib/start/bin}/start | 2 +- lib/start/package.json | 34 ++++++++++++++++++++++++++++++++++ lib/start/webpack.js | 11 +++++++++++ package.json | 5 ++--- script/build.js | 16 ++++++++++++++++ webpack.js | 1 - yarn.lock | 2 +- 7 files changed, 65 insertions(+), 6 deletions(-) rename {bin => lib/start/bin}/start (70%) create mode 100644 lib/start/package.json create mode 100644 lib/start/webpack.js create mode 100644 script/build.js diff --git a/bin/start b/lib/start/bin/start similarity index 70% rename from bin/start rename to lib/start/bin/start index 1466a92..584cb9b 100755 --- a/bin/start +++ b/lib/start/bin/start @@ -2,6 +2,6 @@ process.env.NODE_ENV = process.env.NODE_ENV || 'production' -const argv = require('./utils').getArgv() +const argv = require('../../bin/utils').getArgv() require('../dist/start').start(argv) \ No newline at end of file diff --git a/lib/start/package.json b/lib/start/package.json new file mode 100644 index 0000000..78b7f15 --- /dev/null +++ b/lib/start/package.json @@ -0,0 +1,34 @@ +{ + "name": "@bestminr/start", + "version": "1.6.26", + "license": "MIT", + "files": [ + "bin/*", + "dist/*.js", + "@types/*.d.ts" + ], + "bin": { + "service:start": "./bin/start" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/imsunhao/build.git" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + }, + "dependencies": { + "base64url": "^3.0.1", + "compression": "^1.7.3", + "consola": "2.2.4", + "cookie-parser": "^1.4.3", + "express": "^4.17.1", + "http-proxy-middleware": "^0.19.0", + "lru-cache": "^4.1.3", + "minimist": "^1.2.0", + "require-from-string": "^2.0.2", + "rimraf": "^2.6.2", + "serialize-javascript": "^1.5.0" + } +} diff --git a/lib/start/webpack.js b/lib/start/webpack.js new file mode 100644 index 0000000..21341e3 --- /dev/null +++ b/lib/start/webpack.js @@ -0,0 +1,11 @@ +const path = require('path') +const _ = require('lodash') +const config = _.cloneDeep(require('../../webpack')) +const resolve = p => path.resolve(__dirname, '../../', p) + +config.entry = { + start: resolve('./src/bin/start.ts') +} +config.output.path = resolve('./lib/start/dist') + +module.exports = config diff --git a/package.json b/package.json index 1cfd456..88a3799 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,7 @@ "license": "MIT", "scripts": { "publish": "npm publish --access=public", - "dev": "webpack --config webpack.js --watch --progress", - "build": "cross-env NODE_ENV=production webpack --config webpack.js", + "dev": "node script/build.js", "version": "standard-version -r patch", "test:init": "mkdir -p ~/Documents/imsunhao/lib/build/doc/node_modules/@bestminr/build && ln -s ~/Documents/imsunhao/lib/build ~/Documents/imsunhao/lib/build/doc/node_modules/@bestminr/build ", "test:reTest": "rm -rf ~/Documents/imsunhao/lib/build/doc/node_modules/@bestminr/build && ln -s ~/Documents/imsunhao/lib/build ~/Documents/imsunhao/lib/build/doc/node_modules/@bestminr/build ", @@ -28,7 +27,6 @@ "ssr" ], "bin": { - "service:start": "./bin/start", "service:build": "./bin/build", "service:dev": "./bin/dev", "bootstrap:storybook": "./bin/storybook" @@ -69,6 +67,7 @@ "@types/webpack-node-externals": "^1.6.3", "@types/webpackbar": "^2.6.0", "cross-env": "^5.2.0", + "lodash": "^4.17.15", "typescript": "^3.1.6", "vue": "^2.6.10", "vue-loader": "^15.4.2", diff --git a/script/build.js b/script/build.js new file mode 100644 index 0000000..796cb16 --- /dev/null +++ b/script/build.js @@ -0,0 +1,16 @@ +const webpack = require('webpack') +const config = require('../webpack') +const startConfig = require('../lib/start/webpack') + +const mainCompiler = webpack(config) + +mainCompiler.watch({}, (err, stats) => { + console.log('---------- mainCompiler ------------') + console.log(stats.toString({ colors: true })) +}) + +const startCompiler = webpack(startConfig) +startCompiler.watch({}, (err, stats) => { + console.log('---------- startCompiler ------------') + console.log(stats.toString({ colors: true })) +}) \ No newline at end of file diff --git a/webpack.js b/webpack.js index bd502ed..31ae5a2 100644 --- a/webpack.js +++ b/webpack.js @@ -10,7 +10,6 @@ module.exports = { target: 'node', entry: { build: resolve('./src/bin/build.ts'), - start: resolve('./src/bin/start.ts'), dev: resolve('./src/bin/dev.ts'), 'bootstrap-storybook': resolve('./src/bin/bootstrap-storybook.ts'), 'empty-module': resolve('./src/utils/empty-module.js') diff --git a/yarn.lock b/yarn.lock index 97e37fb..7840bf3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6953,7 +6953,7 @@ lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.5, resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha1-s56mIp72B+zYniyN8SU2iRysm40= -lodash@^4.0.1, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.4: +lodash@^4.0.1, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.4: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==