1 | ;
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | const path_1 = __importDefault(require("path"));
|
7 | const module_1 = __importDefault(require("module"));
|
8 | const bootstrapper_1 = __importDefault(require("../runner/bootstrapper"));
|
9 | const compiler_1 = __importDefault(require("../compiler"));
|
10 | const originalRequire = module_1.default.prototype.require;
|
11 | class LiveModeBootstrapper extends bootstrapper_1.default {
|
12 | constructor(runner, browserConnectionGateway) {
|
13 | super(browserConnectionGateway);
|
14 | this.runner = runner;
|
15 | }
|
16 | _getTests() {
|
17 | this._mockRequire();
|
18 | return super._getTests()
|
19 | .then(result => {
|
20 | this._restoreRequire();
|
21 | return result;
|
22 | })
|
23 | .catch(err => {
|
24 | this._restoreRequire();
|
25 | compiler_1.default.cleanUp();
|
26 | this.runner.setBootstrappingError(err);
|
27 | });
|
28 | }
|
29 | _mockRequire() {
|
30 | const controller = this.runner.controller;
|
31 | // NODE: we replace the `require` method to add required files to watcher
|
32 | module_1.default.prototype.require = function (filePath) {
|
33 | const filename = module_1.default._resolveFilename(filePath, this, false);
|
34 | if (path_1.default.isAbsolute(filename) || /^\.\.?[/\\]/.test(filename))
|
35 | controller.addFileToWatches(filename);
|
36 | return originalRequire.apply(this, arguments);
|
37 | };
|
38 | }
|
39 | _restoreRequire() {
|
40 | module_1.default.prototype.require = originalRequire;
|
41 | }
|
42 | }
|
43 | exports.default = LiveModeBootstrapper;
|
44 | module.exports = exports.default;
|
45 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpdmUvYm9vdHN0cmFwcGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLG9EQUE0QjtBQUM1QiwwRUFBa0Q7QUFDbEQsMkRBQW1DO0FBRW5DLE1BQU0sZUFBZSxHQUFHLGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztBQUVqRCxNQUFNLG9CQUFxQixTQUFRLHNCQUFZO0lBQzNDLFlBQWEsTUFBTSxFQUFFLHdCQUF3QjtRQUN6QyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQixPQUFPLEtBQUssQ0FBQyxTQUFTLEVBQUU7YUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXZCLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV2QixrQkFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRW5CLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsWUFBWTtRQUNSLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBRTFDLHlFQUF5RTtRQUN6RSxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxRQUFRO1lBQ3pDLE1BQU0sUUFBUSxHQUFHLGdCQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVoRSxJQUFJLGNBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQ3pELFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUcxQyxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlO1FBQ1gsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztJQUMvQyxDQUFDO0NBQ0o7QUFFRCxrQkFBZSxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IE1vZHVsZSBmcm9tICdtb2R1bGUnO1xuaW1wb3J0IEJvb3RzdHJhcHBlciBmcm9tICcuLi9ydW5uZXIvYm9vdHN0cmFwcGVyJztcbmltcG9ydCBDb21waWxlciBmcm9tICcuLi9jb21waWxlcic7XG5cbmNvbnN0IG9yaWdpbmFsUmVxdWlyZSA9IE1vZHVsZS5wcm90b3R5cGUucmVxdWlyZTtcblxuY2xhc3MgTGl2ZU1vZGVCb290c3RyYXBwZXIgZXh0ZW5kcyBCb290c3RyYXBwZXIge1xuICAgIGNvbnN0cnVjdG9yIChydW5uZXIsIGJyb3dzZXJDb25uZWN0aW9uR2F0ZXdheSkge1xuICAgICAgICBzdXBlcihicm93c2VyQ29ubmVjdGlvbkdhdGV3YXkpO1xuXG4gICAgICAgIHRoaXMucnVubmVyID0gcnVubmVyO1xuICAgIH1cblxuICAgIF9nZXRUZXN0cyAoKSB7XG4gICAgICAgIHRoaXMuX21vY2tSZXF1aXJlKCk7XG5cbiAgICAgICAgcmV0dXJuIHN1cGVyLl9nZXRUZXN0cygpXG4gICAgICAgICAgICAudGhlbihyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3RvcmVSZXF1aXJlKCk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc3RvcmVSZXF1aXJlKCk7XG5cbiAgICAgICAgICAgICAgICBDb21waWxlci5jbGVhblVwKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJ1bm5lci5zZXRCb290c3RyYXBwaW5nRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9tb2NrUmVxdWlyZSAoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSB0aGlzLnJ1bm5lci5jb250cm9sbGVyO1xuXG4gICAgICAgIC8vIE5PREU6IHdlIHJlcGxhY2UgdGhlIGByZXF1aXJlYCBtZXRob2QgdG8gYWRkIHJlcXVpcmVkIGZpbGVzIHRvIHdhdGNoZXJcbiAgICAgICAgTW9kdWxlLnByb3RvdHlwZS5yZXF1aXJlID0gZnVuY3Rpb24gKGZpbGVQYXRoKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IE1vZHVsZS5fcmVzb2x2ZUZpbGVuYW1lKGZpbGVQYXRoLCB0aGlzLCBmYWxzZSk7XG5cbiAgICAgICAgICAgIGlmIChwYXRoLmlzQWJzb2x1dGUoZmlsZW5hbWUpIHx8IC9eXFwuXFwuP1svXFxcXF0vLnRlc3QoZmlsZW5hbWUpKVxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuYWRkRmlsZVRvV2F0Y2hlcyhmaWxlbmFtZSk7XG5cblxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVxdWlyZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIF9yZXN0b3JlUmVxdWlyZSAoKSB7XG4gICAgICAgIE1vZHVsZS5wcm90b3R5cGUucmVxdWlyZSA9IG9yaWdpbmFsUmVxdWlyZTtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExpdmVNb2RlQm9vdHN0cmFwcGVyO1xuIl19 |
\ | No newline at end of file |