From c9cbb4ecfb18bd612fc6e648bf58fb5370f9f533 Mon Sep 17 00:00:00 2001 From: Sergey Panov <1292614+littleredridingfox@users.noreply.github.com> Date: Tue, 25 Nov 2025 23:54:01 +0400 Subject: [PATCH 1/3] Avoid eagerly importing nock outside of testing --- index.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/index.js b/index.js index bedaeeb7..6e5b4146 100644 --- a/index.js +++ b/index.js @@ -3,15 +3,6 @@ let resolve = require('resolve'); let minimist = require('minimist'); -let { - createCleanUpMocks, - createFastbootEcho, - createFastbootTest, - createMockRequest, - reloadServer, - createServer, -} = require('./lib/helpers'); - module.exports = { name: require('./package').name, @@ -48,6 +39,8 @@ module.exports = { // we have to use the outputReady hook to ensure that ember-cli has finished copying the contents to the outputPath directory outputReady(result) { + let { reloadServer, createServer } = require('./lib/helpers'); + const isEnabled = this.app.name === 'dummy' || this.app.env !== 'production'; @@ -69,6 +62,13 @@ module.exports = { }, _fastbootRenderingMiddleware(app) { + const { + createCleanUpMocks, + createFastbootEcho, + createFastbootTest, + createMockRequest, + createServer, + } = require('./lib/helpers'); createMockRequest(app); createCleanUpMocks(app); createFastbootTest(app, ({ res, options, urlToVisit }) => { From 9379688b6524031001e930af871e51a8ab9bd410 Mon Sep 17 00:00:00 2001 From: Sergey Panov <1292614+littleredridingfox@users.noreply.github.com> Date: Wed, 26 Nov 2025 00:05:29 +0400 Subject: [PATCH 2/3] Consistent imports --- index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 6e5b4146..b09bda71 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,7 @@ 'use strict'; -let resolve = require('resolve'); -let minimist = require('minimist'); +const resolve = require('resolve'); +const minimist = require('minimist'); module.exports = { name: require('./package').name, @@ -39,7 +39,7 @@ module.exports = { // we have to use the outputReady hook to ensure that ember-cli has finished copying the contents to the outputPath directory outputReady(result) { - let { reloadServer, createServer } = require('./lib/helpers'); + const { reloadServer, createServer } = require('./lib/helpers'); const isEnabled = this.app.name === 'dummy' || this.app.env !== 'production'; From 7cb2d8f13860d2f755979318995737e8564a02cc Mon Sep 17 00:00:00 2001 From: Sergey Astapov Date: Wed, 3 Dec 2025 14:42:18 -0500 Subject: [PATCH 3/3] lazy require nock --- lib/helpers.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/helpers.js b/lib/helpers.js index 9644b845..e6601cdd 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -2,20 +2,27 @@ const fs = require('fs'); const path = require('path'); -const nock = require('nock'); const { URL } = require('url'); const JSONfn = require('json-fn'); const FastBoot = require('fastboot'); const bodyParser = require('body-parser'); const { deprecate } = require('util'); +let _nock; +function getNock() { + if (!_nock) { + _nock = require('nock'); + } + return _nock; +} + function createMockRequest(app) { app.post( '/__mock-request', bodyParser.json({ limit: '50mb' }), (req, res) => { const requestOrigin = req.body.origin || req.headers.origin; - let mock = nock(requestOrigin) + let mock = getNock()(requestOrigin) .persist() .intercept(req.body.path, req.body.method) .reply( @@ -31,7 +38,7 @@ function createMockRequest(app) { function createCleanUpMocks(app) { app.use('/__cleanup-mocks', (req, res) => { - nock.cleanAll(); + getNock().cleanAll(); res.json({ ok: true }); });