diff --git a/lib/local-web-server.js b/lib/local-web-server.js index e69de29..0062639 100644 --- a/lib/local-web-server.js +++ b/lib/local-web-server.js @@ -0,0 +1,29 @@ +const Lws = require('lws') +const path = require('path') + +class LocalWebServer extends Lws { + constructor (options) { + options = Object.assign({ + moduleDir: path.resolve(__dirname, `../../node_modules`), + modulePrefix: 'lws-', + stack: [ + 'lws-log', + 'lws-cors', + 'lws-json', + 'lws-rewrite', + 'lws-body-parser', + 'lws-blacklist', + 'lws-conditional-get', + 'lws-mime', + 'lws-compress', + 'lws-mock-response', + 'lws-spa', + 'lws-static', + 'lws-index' + ] + }, options) + super(options) + } +} + +module.exports = LocalWebServer diff --git a/package.json b/package.json index c0620e1..649217a 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,6 @@ "engines": { "node": ">=7.6" }, - "files": [ - "bin", - "lib", - "ssl" - ], "scripts": { "test": "test-runner test/*.js", "docs": "jsdoc2md -t jsdoc2md/api.hbs -p list lib/*.js > doc/api.md; echo", @@ -45,14 +40,14 @@ "lws-cors": "^0.2.0", "lws-index": "^0.2.0", "lws-json": "^0.2.0", - "lws-log": "^0.2.0", + "lws-log": "^0.2.1", "lws-mime": "^0.1.0", "lws-mock-response": "^0.1.0", - "lws-rewrite": "^0.2.0", + "lws-rewrite": "^0.2.1", "lws-spa": "^0.1.2", "lws-static": "^0.2.0" }, "devDependencies": { - "test-runner": "^0.3.0" + "test-runner": "^0.4.0" } } diff --git a/test/test.js b/test/test.js index 394c7d6..297a620 100644 --- a/test/test.js +++ b/test/test.js @@ -11,9 +11,10 @@ runner.test('basic', async function () { const localWebServer = new LocalWebServer({ port: port, directory: 'test/fixture', - 'log.format': 'none' + logFormat: 'none' }) - localWebServer.start() + localWebServer.attachView() + localWebServer.launch() const response = await request(`http://localhost:${port}/one.txt`) localWebServer.server.close() a.strictEqual(response.data.toString(), 'one\n') diff --git a/yarn.lock b/yarn.lock index de42545..ca70c88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -76,16 +76,7 @@ co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" -command-line-args@^3.0.1: - version "3.0.5" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-3.0.5.tgz#5bd4ad45e7983e5c1344918e40280ee2693c5ac0" - dependencies: - array-back "^1.0.4" - feature-detect-es6 "^1.3.1" - find-replace "^1.0.2" - typical "^2.6.0" - -command-line-args@^4.0.2: +command-line-args@^4.0.2, command-line-args@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.6.tgz#0ff87a1dd159890dcaeb2a005abdae71e55059fc" dependencies: @@ -93,27 +84,6 @@ command-line-args@^4.0.2: find-replace "^1.0.3" typical "^2.6.1" -command-line-tool@~0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.6.4.tgz#4c11e372f3e41254861c3fe6b538d3c7a5b144f3" - dependencies: - ansi-escape-sequences "^3.0.0" - array-back "^1.0.3" - command-line-args "^3.0.1" - command-line-usage "^3.0.3" - feature-detect-es6 "^1.3.1" - typical "^2.6.0" - -command-line-usage@^3.0.3: - version "3.0.8" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-3.0.8.tgz#b6a20978c1b383477f5c11a529428b880bfe0f4d" - dependencies: - ansi-escape-sequences "^3.0.0" - array-back "^1.0.3" - feature-detect-es6 "^1.3.1" - table-layout "^0.3.0" - typical "^2.6.0" - command-line-usage@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-4.0.0.tgz#816b32788b58f9feba44d1e6dac60fcaeb29b5ea" @@ -156,10 +126,6 @@ copy-to@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" -core-js@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" - core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -229,7 +195,7 @@ file-set@^1.1.1: array-back "^1.0.3" glob "^7.1.0" -find-replace@^1.0.2, find-replace@^1.0.3: +find-replace@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" dependencies: @@ -521,9 +487,9 @@ lws-json@^0.2.0: dependencies: koa-json "^2.0.2" -lws-log@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/lws-log/-/lws-log-0.2.0.tgz#b744105c8983b4d0bbe89a0677970684007137f3" +lws-log@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/lws-log/-/lws-log-0.2.1.tgz#c6ec3b850597c985abb6f8c3091aded5fe7616e2" dependencies: koa-morgan "^1.0.1" stream-log-stats "^2.0.2" @@ -539,7 +505,7 @@ lws-mock-response@^0.1.0: array-back "^1.0.4" koa-mock-response "0.0.2" -lws-rewrite@^0.2.0: +lws-rewrite@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/lws-rewrite/-/lws-rewrite-0.2.1.tgz#5b15cb466237d72f2a9d24efcb6040d3f0729621" dependencies: @@ -782,17 +748,6 @@ string_decoder@~1.0.0: dependencies: safe-buffer "~5.0.1" -table-layout@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.3.0.tgz#6ee20dc483db371b3e5c87f704ed2f7c799d2c9a" - dependencies: - array-back "^1.0.3" - core-js "^2.4.1" - deep-extend "~0.4.1" - feature-detect-es6 "^1.3.1" - typical "^2.6.0" - wordwrapjs "^2.0.0-0" - table-layout@^0.4.0, table-layout@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.4.0.tgz#c70ff0455d9add63b91f7c15a77926295c0e0e7d" @@ -803,15 +758,14 @@ table-layout@^0.4.0, table-layout@~0.4.0: typical "^2.6.0" wordwrapjs "^2.0.0" -test-runner@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/test-runner/-/test-runner-0.3.0.tgz#d1c98a11d15a035bda6ef2342a104e70251a8d58" +test-runner@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/test-runner/-/test-runner-0.4.0.tgz#41426f9b3dfff4bcda2cb23f3b7df73d67d6b8a2" dependencies: ansi-escape-sequences "^3.0.0" - array-back "^1.0.3" - command-line-tool "~0.6.4" - core-js "^2.4.1" - feature-detect-es6 "^1.3.1" + array-back "^1.0.4" + command-line-args "^4.0.6" + command-line-usage "^4.0.0" file-set "^1.1.1" reduce-flatten "^1.0.1" @@ -865,7 +819,7 @@ walk-back@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-3.0.0.tgz#2358787a35da91032dad5e92f80b12370d8795c5" -wordwrapjs@^2.0.0, wordwrapjs@^2.0.0-0: +wordwrapjs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-2.0.0.tgz#ab55f695e6118da93858fdd70c053d1c5e01ac20" dependencies: