diff --git a/.eslintrc b/.eslintrc index 5bea3a26d..c502347a8 100644 --- a/.eslintrc +++ b/.eslintrc @@ -6,6 +6,7 @@ rules: prefer-const: off no-unused-expressions: off babel/no-unused-expressions: warn + import/no-extraneous-dependencies: error node/no-callback-literal: off promise/param-names: off semi: [error, always] diff --git a/packages/cli-build/package.json b/packages/cli-build/package.json index 2d26d1dfc..8faa7fb68 100644 --- a/packages/cli-build/package.json +++ b/packages/cli-build/package.json @@ -33,7 +33,6 @@ "dependencies": { "@percy/cli-command": "1.0.0-beta.71", "@percy/client": "1.0.0-beta.71", - "@percy/env": "1.0.0-beta.71", "@percy/logger": "1.0.0-beta.71" }, "repository": { diff --git a/packages/cli-build/test/.eslintrc b/packages/cli-build/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/cli-build/test/.eslintrc +++ b/packages/cli-build/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/cli-command/package.json b/packages/cli-command/package.json index 410a8a4a2..e1e8d35da 100644 --- a/packages/cli-command/package.json +++ b/packages/cli-command/package.json @@ -25,6 +25,7 @@ "@oclif/command": "^1.8.0", "@oclif/config": "^1.17.0", "@oclif/plugin-help": "^3.2.0", + "@percy/core": "1.0.0-beta.71", "@percy/config": "1.0.0-beta.71", "@percy/logger": "1.0.0-beta.71" }, diff --git a/packages/cli-command/test/.eslintrc b/packages/cli-command/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/cli-command/test/.eslintrc +++ b/packages/cli-command/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/cli-config/test/.eslintrc b/packages/cli-config/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/cli-config/test/.eslintrc +++ b/packages/cli-config/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/cli-exec/src/commands/exec/ping.js b/packages/cli-exec/src/commands/exec/ping.js index ff0b95a41..20a522d2e 100644 --- a/packages/cli-exec/src/commands/exec/ping.js +++ b/packages/cli-exec/src/commands/exec/ping.js @@ -1,5 +1,5 @@ import Command, { flags } from '@percy/cli-command'; -import request from '@percy/client/dist/request'; +import { request } from '@percy/core/dist/utils'; import logger from '@percy/logger'; import execFlags from '../../flags'; diff --git a/packages/cli-exec/src/commands/exec/stop.js b/packages/cli-exec/src/commands/exec/stop.js index f46daa4ae..65de37bd4 100644 --- a/packages/cli-exec/src/commands/exec/stop.js +++ b/packages/cli-exec/src/commands/exec/stop.js @@ -1,5 +1,5 @@ import Command, { flags } from '@percy/cli-command'; -import request from '@percy/client/dist/request'; +import { request } from '@percy/core/dist/utils'; import logger from '@percy/logger'; import execFlags from '../../flags'; diff --git a/packages/cli-exec/src/hooks/init.js b/packages/cli-exec/src/hooks/init.js index e4e581dbe..42f5cbd3d 100644 --- a/packages/cli-exec/src/hooks/init.js +++ b/packages/cli-exec/src/hooks/init.js @@ -1,3 +1,4 @@ +/* eslint-disable import/no-extraneous-dependencies */ import PercyConfig from '@percy/config'; import * as CoreConfig from '@percy/core/dist/config'; diff --git a/packages/cli-exec/test/.eslintrc b/packages/cli-exec/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/cli-exec/test/.eslintrc +++ b/packages/cli-exec/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/cli-exec/test/helpers.js b/packages/cli-exec/test/helpers.js index b640dd039..07fba44c9 100644 --- a/packages/cli-exec/test/helpers.js +++ b/packages/cli-exec/test/helpers.js @@ -1,10 +1,7 @@ -import logger from '@percy/logger/test/helpers'; -import mockAPI from '@percy/client/test/helpers'; +import { logger, mockAPI } from '@percy/core/test/helpers'; beforeEach(() => { process.env.PERCY_TOKEN = '<>'; - mockAPI.start(); - logger.mock(); }); afterEach(() => { diff --git a/packages/cli-exec/test/start.test.js b/packages/cli-exec/test/start.test.js index e9738b495..ea58c5e8f 100644 --- a/packages/cli-exec/test/start.test.js +++ b/packages/cli-exec/test/start.test.js @@ -1,4 +1,4 @@ -import request from '@percy/client/dist/request'; +import { request } from '@percy/core/dist/utils'; import { logger } from './helpers'; import { Start } from '../src/commands/exec/start'; import { Stop } from '../src/commands/exec/stop'; diff --git a/packages/cli-snapshot/package.json b/packages/cli-snapshot/package.json index ebda148e6..fc390092a 100644 --- a/packages/cli-snapshot/package.json +++ b/packages/cli-snapshot/package.json @@ -32,7 +32,6 @@ "@percy/cli-command": "1.0.0-beta.71", "@percy/config": "1.0.0-beta.71", "@percy/core": "1.0.0-beta.71", - "@percy/dom": "1.0.0-beta.71", "@percy/logger": "1.0.0-beta.71", "globby": "^11.0.4", "path-to-regexp": "^6.2.0", diff --git a/packages/cli-snapshot/src/commands/snapshot.js b/packages/cli-snapshot/src/commands/snapshot.js index 125e8f8c2..d9d9af051 100644 --- a/packages/cli-snapshot/src/commands/snapshot.js +++ b/packages/cli-snapshot/src/commands/snapshot.js @@ -2,8 +2,8 @@ import fs from 'fs'; import path from 'path'; import PercyConfig from '@percy/config'; import Command, { flags } from '@percy/cli-command'; -import request from '@percy/client/dist/request'; import Percy from '@percy/core'; +import { request } from '@percy/core/dist/utils'; import logger from '@percy/logger'; import globby from 'globby'; import YAML from 'yaml'; diff --git a/packages/cli-snapshot/test/.eslintrc b/packages/cli-snapshot/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/cli-snapshot/test/.eslintrc +++ b/packages/cli-snapshot/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/cli-snapshot/test/directory.test.js b/packages/cli-snapshot/test/directory.test.js index 91a1675d0..eac347162 100644 --- a/packages/cli-snapshot/test/directory.test.js +++ b/packages/cli-snapshot/test/directory.test.js @@ -2,8 +2,7 @@ import fs from 'fs'; import path from 'path'; import rimraf from 'rimraf'; import PercyConfig from '@percy/config'; -import mockAPI from '@percy/client/test/helpers'; -import logger from '@percy/logger/test/helpers'; +import { logger, mockAPI } from '@percy/core/test/helpers'; import { Snapshot } from '../src/commands/snapshot'; describe('percy snapshot ', () => { diff --git a/packages/cli-snapshot/test/file.test.js b/packages/cli-snapshot/test/file.test.js index 7ba68c998..827763202 100644 --- a/packages/cli-snapshot/test/file.test.js +++ b/packages/cli-snapshot/test/file.test.js @@ -2,9 +2,7 @@ import fs from 'fs'; import path from 'path'; import { inspect } from 'util'; import rimraf from 'rimraf'; -import mockAPI from '@percy/client/test/helpers'; -import logger from '@percy/logger/test/helpers'; -import { createTestServer } from '@percy/core/test/helpers'; +import { logger, mockAPI, createTestServer } from '@percy/core/test/helpers'; import { Snapshot } from '../src/commands/snapshot'; describe('percy snapshot ', () => { diff --git a/packages/cli-snapshot/test/sitemap.test.js b/packages/cli-snapshot/test/sitemap.test.js index 4bb23b914..c2092911f 100644 --- a/packages/cli-snapshot/test/sitemap.test.js +++ b/packages/cli-snapshot/test/sitemap.test.js @@ -1,9 +1,7 @@ import fs from 'fs'; import path from 'path'; import rimraf from 'rimraf'; -import mockAPI from '@percy/client/test/helpers'; -import logger from '@percy/logger/test/helpers'; -import { createTestServer } from '@percy/core/test/helpers'; +import { logger, mockAPI, createTestServer } from '@percy/core/test/helpers'; import { Snapshot } from '../src/commands/snapshot'; describe('percy snapshot ', () => { diff --git a/packages/cli-upload/src/commands/upload.js b/packages/cli-upload/src/commands/upload.js index d7528a5f0..893fb3ba6 100644 --- a/packages/cli-upload/src/commands/upload.js +++ b/packages/cli-upload/src/commands/upload.js @@ -5,7 +5,10 @@ import logger from '@percy/logger'; import globby from 'globby'; import imageSize from 'image-size'; import PercyClient from '@percy/client'; + +// eslint-disable-next-line import/no-extraneous-dependencies import Queue from '@percy/core/dist/queue'; + import createImageResources from '../resources'; import { schema } from '../config'; import pkg from '../../package.json'; diff --git a/packages/cli-upload/test/.eslintrc b/packages/cli-upload/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/cli-upload/test/.eslintrc +++ b/packages/cli-upload/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/cli/package.json b/packages/cli/package.json index 44e925e55..1d05d1e08 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -34,6 +34,7 @@ ] }, "dependencies": { + "@oclif/command": "^1.8.0", "@oclif/plugin-help": "^3.2.0", "@percy/cli-build": "1.0.0-beta.71", "@percy/cli-config": "1.0.0-beta.71", diff --git a/packages/cli/test/.eslintrc b/packages/cli/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/cli/test/.eslintrc +++ b/packages/cli/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/client/test/.eslintrc b/packages/client/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/client/test/.eslintrc +++ b/packages/client/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/config/test/.eslintrc b/packages/config/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/config/test/.eslintrc +++ b/packages/config/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/core/test/.eslintrc b/packages/core/test/.eslintrc index 1db739318..d4d123f4e 100644 --- a/packages/core/test/.eslintrc +++ b/packages/core/test/.eslintrc @@ -1,5 +1,6 @@ env: jasmine: true rules: + import/no-extraneous-dependencies: off no-return-assign: off no-sequences: off diff --git a/packages/dom/test/.eslintrc b/packages/dom/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/dom/test/.eslintrc +++ b/packages/dom/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/env/test/.eslintrc b/packages/env/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/env/test/.eslintrc +++ b/packages/env/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/logger/test/.eslintrc b/packages/logger/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/logger/test/.eslintrc +++ b/packages/logger/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/packages/sdk-utils/src/percy-enabled.js b/packages/sdk-utils/src/percy-enabled.js index ed17e09d0..53cb8510b 100644 --- a/packages/sdk-utils/src/percy-enabled.js +++ b/packages/sdk-utils/src/percy-enabled.js @@ -4,16 +4,17 @@ import request from './request'; // Create a socket to connect to a remote logger async function connectRemoteLogger() { - await logger.remote(() => { + await logger.remote(async () => { let url = percy.address.replace('http', 'ws'); if (process.env.__PERCY_BROWSERIFIED__) { return new window.WebSocket(url); } else { - let socket = new (require('ws'))(url); + /* eslint-disable-next-line import/no-extraneous-dependencies */ + let { default: WebSocket } = await import('ws'); + let ws = new WebSocket(url); // allow node to exit with an active connection - socket.once('open', () => socket._socket.unref()); - return socket; + return ws.once('open', () => ws._socket.unref()); } }); } diff --git a/packages/sdk-utils/test/.eslintrc b/packages/sdk-utils/test/.eslintrc index 73255ae23..e9b386cb0 100644 --- a/packages/sdk-utils/test/.eslintrc +++ b/packages/sdk-utils/test/.eslintrc @@ -1,2 +1,4 @@ env: jasmine: true +rules: + import/no-extraneous-dependencies: off diff --git a/scripts/build.js b/scripts/build.js index 60833ab1b..fa81a8584 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -1,6 +1,7 @@ +/* eslint-disable import/no-extraneous-dependencies */ const cwd = process.cwd(); const path = require('path'); -const colors = require('colors'); +const colors = require('colors/safe'); process.env.NODE_ENV = 'production'; diff --git a/scripts/test-helpers.js b/scripts/test-helpers.js index d6634a2a8..096686f24 100644 --- a/scripts/test-helpers.js +++ b/scripts/test-helpers.js @@ -1,4 +1,5 @@ /* eslint-env jasmine */ +/* eslint-disable import/no-extraneous-dependencies */ beforeAll(() => { // default timeout to 10s diff --git a/scripts/test.js b/scripts/test.js index 1b5bbcbfc..f5b937169 100644 --- a/scripts/test.js +++ b/scripts/test.js @@ -1,3 +1,4 @@ +/* eslint-disable import/no-extraneous-dependencies */ const cwd = process.cwd(); const path = require('path'); const colors = require('colors/safe'); diff --git a/scripts/watch.js b/scripts/watch.js index 597800c10..eb21a279c 100644 --- a/scripts/watch.js +++ b/scripts/watch.js @@ -1,6 +1,7 @@ +/* eslint-disable import/no-extraneous-dependencies */ const path = require('path'); const { readFileSync } = require('fs'); -const colors = require('colors'); +const colors = require('colors/safe'); const gaze = require('gaze'); // executes the callback when files within the current working directory have been modified