Socket
Socket
Sign inDemoInstall

@percy/cli-config

Package Overview
Dependencies
Maintainers
6
Versions
237
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@percy/cli-config - npm Package Compare versions

Comparing version 1.0.0-beta.31 to 1.0.0-beta.32

71

dist/commands/config/migrate.js

@@ -12,4 +12,2 @@ "use strict";

var _pathType = require("path-type");
var _command = _interopRequireWildcard(require("@oclif/command"));

@@ -29,8 +27,2 @@

function assignOrCreate(obj, key, value) {
return Object.assign(obj || {}, {
[key]: value
});
}
class Migrate extends _command.default {

@@ -53,10 +45,7 @@ constructor(...args) {

}
} = this.parse();
_logger.default.loglevel('info'); // load config using the explorer directly rather than the load method to
} = this.parse(); // load config using the explorer directly rather than the load method to
// better control logs and prevent validation
try {
let result = !input || (0, _pathType.isDirectorySync)(input) ? _config.default.explorer.search(input) : _config.default.explorer.load(input);
let result = !input || _fs.default.statSync(input).isDirectory() ? _config.default.explorer.search(input) : _config.default.explorer.load(input);

@@ -89,6 +78,10 @@ if (result && result.config) {

let format = _path.default.extname(output).replace(/^./, '') || 'yaml';
config = _config.default.stringify(format, this.migrate(config)); // update the package.json entry via string replacement
let migrated = _config.default.migrate(config);
let body = _config.default.stringify(format, migrated); // update the package.json entry via string replacement
if (!dry && _path.default.basename(output) === 'package.json') {
_fs.default.writeFileSync(output, _fs.default.readFileSync(output).replace(/(\s+)("percy":\s*){.*\1}/s, `$1$2${config.replace(/\n/g, '$$1')}`)); // write to output
_fs.default.writeFileSync(output, _fs.default.readFileSync(output).replace(/(\s+)("percy":\s*){.*\1}/s, `$1$2${body.replace(/\n/g, '$$1')}`)); // write to output

@@ -105,3 +98,3 @@ } else if (!dry) {

_fs.default.writeFileSync(output, config);
_fs.default.writeFileSync(output, body);
}

@@ -111,47 +104,3 @@

if (dry) _logger.default.instance.stdout.write('\n' + config);
} // Migrating config options is recursive so no matter which input version is
// provided, the output will be the latest version.
migrate(input) {
switch (input.version) {
case 2:
return input;
// latest version
default:
return this.migrate(this.v1(input));
}
} // Migrate config from v1 to v2.
/* eslint-disable curly */
v1(input) {
var _input$agent, _input$agent$assetDi, _input$agent2, _input$agent2$assetD, _input$agent3, _input$agent3$assetD, _input$agent4, _input$agent4$assetD, _input$agent5, _input$agent5$assetD, _output$upload, _input$staticSnapsho, _input$staticSnapsho2, _input$staticSnapsho3;
let output = {
version: 2
}; // previous snapshot options map 1:1
if (input.snapshot != null) output.snapshot = input.snapshot; // request-headers option moved
if (((_input$agent = input.agent) === null || _input$agent === void 0 ? void 0 : (_input$agent$assetDi = _input$agent['asset-discovery']) === null || _input$agent$assetDi === void 0 ? void 0 : _input$agent$assetDi['request-headers']) != null) output.snapshot = assignOrCreate(output.snapshot, 'request-headers', input.agent['asset-discovery']['request-headers']); // only create discovery options when neccessary
if (((_input$agent2 = input.agent) === null || _input$agent2 === void 0 ? void 0 : (_input$agent2$assetD = _input$agent2['asset-discovery']) === null || _input$agent2$assetD === void 0 ? void 0 : _input$agent2$assetD['allowed-hostnames']) != null) output.discovery = assignOrCreate(output.discovery, 'allowed-hostnames', input.agent['asset-discovery']['allowed-hostnames']);
if (((_input$agent3 = input.agent) === null || _input$agent3 === void 0 ? void 0 : (_input$agent3$assetD = _input$agent3['asset-discovery']) === null || _input$agent3$assetD === void 0 ? void 0 : _input$agent3$assetD['network-idle-timeout']) != null) output.discovery = assignOrCreate(output.discovery, 'network-idle-timeout', input.agent['asset-discovery']['network-idle-timeout']); // page pooling was rewritten to be a concurrent task queue
if (((_input$agent4 = input.agent) === null || _input$agent4 === void 0 ? void 0 : (_input$agent4$assetD = _input$agent4['asset-discovery']) === null || _input$agent4$assetD === void 0 ? void 0 : _input$agent4$assetD['page-pool-size-max']) != null) output.discovery = assignOrCreate(output.discovery, 'concurrency', input.agent['asset-discovery']['page-pool-size-max']); // cache-responses was renamed to match the CLI flag
if (((_input$agent5 = input.agent) === null || _input$agent5 === void 0 ? void 0 : (_input$agent5$assetD = _input$agent5['asset-discovery']) === null || _input$agent5$assetD === void 0 ? void 0 : _input$agent5$assetD['cache-responses']) != null) output.discovery = assignOrCreate(output.discovery, 'disable-cache', !input.agent['asset-discovery']['cache-responses']); // image-snapshots was renamed
if (input['image-snapshots'] != null) output.upload = input['image-snapshots']; // image-snapshots path was removed
if (((_output$upload = output.upload) === null || _output$upload === void 0 ? void 0 : _output$upload.path) != null) delete output.upload.path; // static-snapshots and options were renamed
if (((_input$staticSnapsho = input['static-snapshots']) === null || _input$staticSnapsho === void 0 ? void 0 : _input$staticSnapsho['base-url']) != null) output.static = assignOrCreate(output.static, 'base-url', input['static-snapshots']['base-url']);
if (((_input$staticSnapsho2 = input['static-snapshots']) === null || _input$staticSnapsho2 === void 0 ? void 0 : _input$staticSnapsho2['snapshot-files']) != null) output.static = assignOrCreate(output.static, 'files', input['static-snapshots']['snapshot-files']);
if (((_input$staticSnapsho3 = input['static-snapshots']) === null || _input$staticSnapsho3 === void 0 ? void 0 : _input$staticSnapsho3['ignore-files']) != null) output.static = assignOrCreate(output.static, 'ignore', input['static-snapshots']['ignore-files']);
return output;
if (dry) _logger.default.instance.stdout.write('\n' + body);
}

@@ -158,0 +107,0 @@

2

oclif.manifest.json

@@ -1,1 +0,1 @@

{"version":"1.0.0-beta.31","commands":{"config:create":{"id":"config:create","description":"Create a Percy config file","pluginName":"@percy/cli-config","pluginType":"core","aliases":[],"examples":["$ percy config:create","$ percy config:create --yaml","$ percy config:create --json","$ percy config:create --js","$ percy config:create --rc","$ percy config:create ./config/percy.yml"],"flags":{"rc":{"name":"rc","type":"boolean","description":"create a .percyrc file","allowNo":false},"yaml":{"name":"yaml","type":"boolean","description":"create a .percy.yaml file","allowNo":false},"yml":{"name":"yml","type":"boolean","description":"create a .percy.yml file","allowNo":false},"json":{"name":"json","type":"boolean","description":"create a .percy.json file","allowNo":false},"js":{"name":"js","type":"boolean","description":"create a .percy.js file","allowNo":false}},"args":[{"name":"filepath","description":"config filepath"}]},"config:migrate":{"id":"config:migrate","description":"Migrate a Percy config file to the latest version","pluginName":"@percy/cli-config","pluginType":"core","aliases":[],"examples":["$ percy config:migrate","$ percy config:migrate --dry-run","$ percy config:migrate ./config/percy.yml","$ percy config:migrate .percy.yml .percy.js"],"flags":{"dry-run":{"name":"dry-run","type":"boolean","char":"d","description":"prints the new config rather than writing it","allowNo":false}},"args":[{"name":"filepath","description":"current config filepath, detected by default"},{"name":"output","description":"new config filepath to write to, defaults to FILEPATH"}]},"config:validate":{"id":"config:validate","description":"Validate a Percy config file","pluginName":"@percy/cli-config","pluginType":"core","aliases":[],"examples":["$ percy config:validate","$ percy config:validate ./config/percy.yml"],"flags":{},"args":[{"name":"filepath","description":"config filepath, detected by default"}]}}}
{"version":"1.0.0-beta.32","commands":{"config:create":{"id":"config:create","description":"Create a Percy config file","pluginName":"@percy/cli-config","pluginType":"core","aliases":[],"examples":["$ percy config:create","$ percy config:create --yaml","$ percy config:create --json","$ percy config:create --js","$ percy config:create --rc","$ percy config:create ./config/percy.yml"],"flags":{"rc":{"name":"rc","type":"boolean","description":"create a .percyrc file","allowNo":false},"yaml":{"name":"yaml","type":"boolean","description":"create a .percy.yaml file","allowNo":false},"yml":{"name":"yml","type":"boolean","description":"create a .percy.yml file","allowNo":false},"json":{"name":"json","type":"boolean","description":"create a .percy.json file","allowNo":false},"js":{"name":"js","type":"boolean","description":"create a .percy.js file","allowNo":false}},"args":[{"name":"filepath","description":"config filepath"}]},"config:migrate":{"id":"config:migrate","description":"Migrate a Percy config file to the latest version","pluginName":"@percy/cli-config","pluginType":"core","aliases":[],"examples":["$ percy config:migrate","$ percy config:migrate --dry-run","$ percy config:migrate ./config/percy.yml","$ percy config:migrate .percy.yml .percy.js"],"flags":{"dry-run":{"name":"dry-run","type":"boolean","char":"d","description":"prints the new config rather than writing it","allowNo":false}},"args":[{"name":"filepath","description":"current config filepath, detected by default"},{"name":"output","description":"new config filepath to write to, defaults to FILEPATH"}]},"config:validate":{"id":"config:validate","description":"Validate a Percy config file","pluginName":"@percy/cli-config","pluginType":"core","aliases":[],"examples":["$ percy config:validate","$ percy config:validate ./config/percy.yml"],"flags":{},"args":[{"name":"filepath","description":"config filepath, detected by default"}]}}}
{
"name": "@percy/cli-config",
"version": "1.0.0-beta.31",
"version": "1.0.0-beta.32",
"license": "MIT",

@@ -10,2 +10,5 @@ "main": "dist/index.js",

],
"engines": {
"node": ">=12"
},
"scripts": {

@@ -40,8 +43,7 @@ "build": "babel --root-mode upward src --out-dir dist",

"@oclif/config": "^1.17.0",
"@percy/config": "^1.0.0-beta.31",
"@percy/core": "^1.0.0-beta.31",
"@percy/logger": "^1.0.0-beta.31",
"path-type": "^4.0.0"
"@percy/config": "^1.0.0-beta.32",
"@percy/core": "^1.0.0-beta.32",
"@percy/logger": "^1.0.0-beta.32"
},
"gitHead": "6971cd1f6cf69c8516a091ee59bf6dabf8780820"
"gitHead": "edbef4c5ded9427447b25c13dda0ecd2639fc370"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc