@relative-ci/agent
Advanced tools
Comparing version 4.1.1 to 4.1.2-beta.0
@@ -7,23 +7,12 @@ "use strict"; | ||
exports.agent = void 0; | ||
var _dotenv = _interopRequireDefault(require("dotenv")); | ||
var _lodash = require("lodash"); | ||
var _pluginWebpackFilter = _interopRequireDefault(require("@bundle-stats/plugin-webpack-filter")); | ||
var _package = _interopRequireDefault(require("../package.json")); | ||
var LOCALES = _interopRequireWildcard(require("../locales/en")); | ||
var _send = _interopRequireDefault(require("./send")); | ||
var _utils = require("./utils"); | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const DEFAULT_ENDPOINT = 'https://api.relative-ci.com/save'; | ||
@@ -34,3 +23,2 @@ const WEBPACK_STATS = 'webpack.stats'; | ||
}; | ||
const getFilteredData = artifactsData => artifactsData.reduce((agg, { | ||
@@ -41,9 +29,8 @@ key, | ||
}) => (0, _lodash.set)(agg, key, SOURCE_EXTRACTORS[key](data, options)), {}); | ||
const agent = (artifactsData, config, args = {}, logger = console) => { | ||
_dotenv.default.config(); | ||
const envCIVars = (0, _utils.getEnvCI)(); | ||
(0, _utils.debug)('env-ci environment variables', envCIVars); // Resolved params | ||
(0, _utils.debug)('env-ci environment variables', envCIVars); | ||
// Resolved params | ||
const envVars = { | ||
@@ -76,25 +63,22 @@ slug: args.slug || process.env.RELATIVE_CI_SLUG || envCIVars.slug, | ||
}; | ||
(0, _utils.debug)('Job parameters', params); // Validate parameters | ||
(0, _utils.debug)('Job parameters', params); | ||
// Validate parameters | ||
if (!params.key) { | ||
return logger.warn(LOCALES.AGENT_MISSING_KEY_ERROR); | ||
} | ||
if (!params.slug) { | ||
return logger.warn(LOCALES.AGENT_MISSING_SLUG_ERROR); | ||
} | ||
if (!params.commit) { | ||
return logger.warn(LOCALES.AGENT_MISSING_COMMIT_ERROR); | ||
} | ||
if (!params.branch) { | ||
return logger.warn(LOCALES.AGENT_MISSING_BRANCH_ERROR); | ||
} // Filter only the necessary data | ||
} | ||
// Filter only the necessary data | ||
const filteredData = getFilteredData(artifactsData); | ||
return (0, _send.default)(filteredData, params, config, logger); | ||
}; | ||
exports.agent = agent; |
@@ -6,5 +6,3 @@ "use strict"; | ||
}); | ||
var _agent = require("./agent"); | ||
Object.keys(_agent).forEach(function (key) { | ||
@@ -20,5 +18,3 @@ if (key === "default" || key === "__esModule") return; | ||
}); | ||
var _webpackPlugin = require("./webpack-plugin"); | ||
Object.keys(_webpackPlugin).forEach(function (key) { | ||
@@ -25,0 +21,0 @@ if (key === "default" || key === "__esModule") return; |
@@ -7,17 +7,9 @@ "use strict"; | ||
exports.default = void 0; | ||
require("core-js/modules/es.promise.js"); | ||
var _fs = _interopRequireDefault(require("fs")); | ||
var _lodash = require("lodash"); | ||
var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch")); | ||
var _en = _interopRequireDefault(require("../locales/en")); | ||
var _utils = require("./utils"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var _default = async (data, params, config, logger) => { | ||
@@ -57,12 +49,10 @@ const { | ||
(0, _utils.debug)('Payload size', Buffer.byteLength(JSON.stringify(payload))); | ||
if (payloadFilepath) { | ||
logger.info('Save payload to', payloadFilepath); | ||
try { | ||
// Obfuscate private data | ||
const output = { ...payload, | ||
const output = { | ||
...payload, | ||
key: '***' | ||
}; | ||
_fs.default.writeFileSync(payloadFilepath, JSON.stringify(output, null, 2)); | ||
@@ -73,5 +63,3 @@ } catch (err) { | ||
} | ||
logger.info('Send stats to RelativeCI', `branch=${branch}`, `commit=${commit}`); | ||
try { | ||
@@ -87,3 +75,2 @@ const response = await (0, _isomorphicFetch.default)(endpoint, { | ||
(0, _utils.debug)('Response', responseData); | ||
if (responseData.code) { | ||
@@ -93,7 +80,5 @@ logger.warn(responseData); | ||
} | ||
const { | ||
res | ||
} = responseData; | ||
if (!res) { | ||
@@ -103,3 +88,2 @@ logger.warn(_en.default.GENERIC_ERROR, responseData); | ||
} | ||
const buildNumber = (0, _lodash.get)(res, 'job.internalBuildNumber'); | ||
@@ -114,3 +98,2 @@ const buildSizeInfo = (0, _lodash.get)(responseData, 'info.message.txt'); | ||
}; | ||
exports.default = _default; |
"use strict"; | ||
const childProcess = require('child_process'); | ||
const { | ||
pick | ||
} = require('lodash'); | ||
const envCI = require('env-ci'); | ||
const CI_ENV_VAR_NAMES = ['branch', 'build', 'buildUrl', 'commit', 'isCi', 'pr', 'prBranch', 'service', 'slug']; | ||
module.exports.debug = require('debug')('relative-ci:agent'); | ||
module.exports.getCommitMessage = () => childProcess.execSync('git log -1 --pretty=%B').toString().trim(); | ||
module.exports.getEnvCI = () => pick(envCI(), CI_ENV_VAR_NAMES); |
@@ -7,17 +7,9 @@ "use strict"; | ||
exports.RelativeCiAgentWebpackPlugin = void 0; | ||
require("core-js/modules/es.promise.js"); | ||
var _webpack = _interopRequireDefault(require("webpack")); | ||
var _lodash = require("lodash"); | ||
var _pluginWebpackValidate = _interopRequireDefault(require("@bundle-stats/plugin-webpack-validate")); | ||
var _agent = require("./agent"); | ||
var _utils = require("./utils"); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const PLUGIN_NAME = 'RelativeCiAgent'; | ||
@@ -34,3 +26,2 @@ const DEFAULT_OPTIONS = { | ||
const isWebpack5 = parseInt(_webpack.default.version, 10) === 5; | ||
const sendStats = async (compilation, options) => { | ||
@@ -44,3 +35,2 @@ const { | ||
const invalidData = (0, _pluginWebpackValidate.default)(data); | ||
if (invalidData) { | ||
@@ -50,3 +40,2 @@ logger.warn(invalidData); | ||
} | ||
(0, _agent.agent)([{ | ||
@@ -57,3 +46,2 @@ key: 'webpack.stats', | ||
}; | ||
class RelativeCiAgentWebpackPlugin { | ||
@@ -63,3 +51,2 @@ constructor(options) { | ||
} | ||
apply(compiler) { | ||
@@ -72,4 +59,5 @@ const { | ||
}, this.options); | ||
(0, _utils.debug)(options); // Skip if not enabled | ||
(0, _utils.debug)(options); | ||
// Skip if not enabled | ||
if (!options.enabled) { | ||
@@ -79,3 +67,2 @@ (0, _utils.debug)(`${PLUGIN_NAME} is disabled, skip sending data`); | ||
} | ||
if (isWebpack5) { | ||
@@ -90,3 +77,2 @@ compiler.hooks.make.tap(PLUGIN_NAME, compilation => { | ||
} | ||
compiler.hooks.emit.tapAsync(PLUGIN_NAME, async (compilation, callback) => { | ||
@@ -97,5 +83,3 @@ await sendStats(compilation, options); | ||
} | ||
} | ||
exports.RelativeCiAgentWebpackPlugin = RelativeCiAgentWebpackPlugin; |
{ | ||
"name": "@relative-ci/agent", | ||
"version": "4.1.1", | ||
"version": "4.1.2-beta.0", | ||
"description": "Relative CI agent", | ||
@@ -45,25 +45,25 @@ "repository": "relative-ci/agent", | ||
"@babel/cli": "7.19.3", | ||
"@babel/core": "7.19.3", | ||
"@babel/preset-env": "7.19.3", | ||
"@types/jest": "29.1.2", | ||
"eslint": "8.24.0", | ||
"@babel/core": "7.20.5", | ||
"@babel/preset-env": "7.20.2", | ||
"@types/jest": "29.2.3", | ||
"eslint": "8.29.0", | ||
"eslint-config-airbnb-base": "15.0.0", | ||
"eslint-plugin-import": "2.26.0", | ||
"eslint-plugin-jest": "27.1.1", | ||
"jest": "29.1.2", | ||
"eslint-plugin-jest": "27.1.6", | ||
"jest": "29.3.1", | ||
"memory-fs": "0.5.0", | ||
"webpack": "5.74.0" | ||
"webpack": "5.75.0" | ||
}, | ||
"dependencies": { | ||
"@bundle-stats/plugin-webpack-filter": "4.1.0", | ||
"@bundle-stats/plugin-webpack-validate": "4.1.0", | ||
"core-js": "3.25.5", | ||
"cosmiconfig": "7.0.1", | ||
"@bundle-stats/plugin-webpack-filter": "4.1.5", | ||
"@bundle-stats/plugin-webpack-validate": "4.1.5", | ||
"core-js": "3.26.1", | ||
"cosmiconfig": "8.0.0", | ||
"debug": "4.3.4", | ||
"dotenv": "16.0.3", | ||
"env-ci": "7.3.0", | ||
"fs-extra": "10.1.0", | ||
"fs-extra": "11.1.0", | ||
"isomorphic-fetch": "3.0.0", | ||
"lodash": "4.17.21", | ||
"yargs": "17.6.0" | ||
"yargs": "17.6.2" | ||
}, | ||
@@ -70,0 +70,0 @@ "peerDependencies": { |
@@ -9,3 +9,3 @@ <a href="https://relative-ci.com"> | ||
[![node version](https://img.shields.io/node/v/@relative-ci/agent.svg)](https://www.npmjs.com/package/@relative-ci/agent) | ||
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/relative-ci/agent.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/relative-ci/agent/context:javascript) | ||
[![CodeQL](https://github.com/relative-ci/agent/actions/workflows/codeql.yml/badge.svg)](https://github.com/relative-ci/agent/actions/workflows/codeql.yml) | ||
@@ -12,0 +12,0 @@ > Send webpack stats and CI build information to [RelativeCI](https://relative-ci.com?utm_source=github-agent). |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
390
17864
1
+ Added@bundle-stats/plugin-webpack-filter@4.1.5(transitive)
+ Added@bundle-stats/plugin-webpack-validate@4.1.5(transitive)
+ Addedargparse@2.0.1(transitive)
+ Addedcore-js@3.26.1(transitive)
+ Addedcosmiconfig@8.0.0(transitive)
+ Addedfs-extra@11.1.0(transitive)
+ Addedjs-yaml@4.1.0(transitive)
+ Addedsuperstruct@1.0.3(transitive)
+ Addedyargs@17.6.2(transitive)
- Removed@bundle-stats/plugin-webpack-filter@4.1.0(transitive)
- Removed@bundle-stats/plugin-webpack-validate@4.1.0(transitive)
- Removed@types/parse-json@4.0.2(transitive)
- Removedcore-js@3.25.5(transitive)
- Removedcosmiconfig@7.0.1(transitive)
- Removedfs-extra@10.1.0(transitive)
- Removedsuperstruct@0.16.5(transitive)
- Removedyaml@1.10.2(transitive)
- Removedyargs@17.6.0(transitive)
Updatedcore-js@3.26.1
Updatedcosmiconfig@8.0.0
Updatedfs-extra@11.1.0
Updatedyargs@17.6.2