Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: upgrade mongodb driver #131

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,26 @@
// More details: https://codefresh-io.atlassian.net/wiki/display/COD/Code+Style+Guide
{

"extends": "airbnb",
"extends": "airbnb-base",
"env": {
"node": true,
"mocha": true,
"es6": true
},

"parserOptions": {
"ecmaVersion": 2017,
"ecmaVersion": 2023,
"sourceType": "script",
"ecmaFeatures": {
"jsx": true,
"impliedStrict": true
}
},

"globals": {
"globalThis": "readonly"
},

"plugins": [
"chai-friendly",
"import",
Expand All @@ -40,7 +44,7 @@
],
"func-names": [
"error",
"never"
"as-needed"
],
"quotes": [
"error",
Expand Down
3 changes: 0 additions & 3 deletions examples/composition.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ const main = async () => {
composeTaskLogger.updateMemoryUsage(new Date(), 'sd');
await composeTaskLogger.setData({ key: 'value' });


const stepLoggerCompose = composeTaskLogger.create('stepName', undefined, undefined, true);
stepLoggerCompose.start();
stepLoggerCompose.write('hey');
Expand Down Expand Up @@ -69,7 +68,6 @@ const main = async () => {

// await stepLogger.delete();


const composeTaskLoggerForStepRestore = await COMPOSE({
accountId: 'accountId',
jobId: 'jobId'
Expand Down Expand Up @@ -103,7 +101,6 @@ const main = async () => {
const composeStepLoggerForRestore = composeTaskLoggerForStepRestore.create('stepName', undefined, undefined, false);
await composeStepLoggerForRestore.restore();


const composeTaskLoggerRestored = await COMPOSE({
accountId: 'accountId',
jobId: 'jobId'
Expand Down
4 changes: 1 addition & 3 deletions examples/load-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const main = async () => {
firebaseSecret: ''
});


const stepLogger = taskLogger.create('itai-test', undefined, undefined, true);
stepLogger.start();
stepLogger.info('hey');
Expand All @@ -25,11 +24,10 @@ const main = async () => {
stepLogger.info('hey');
}

/* setInterval(() => {
/* setInterval(() => {
stepLogger.info('hey');
}, 10); */


};

main();
2 changes: 0 additions & 2 deletions examples/mongo.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ const main = async () => {
mongoTaskLogger.updateMemoryUsage(new Date(), 'sd');
await mongoTaskLogger.setData({ key: 'value' });


const stepLoggerMongo = mongoTaskLogger.create('stepName', undefined, undefined, true);
stepLoggerMongo.start();
stepLoggerMongo.write('hey');
Expand Down Expand Up @@ -63,7 +62,6 @@ const main = async () => {
const mongoStepLoggerForRestore = mongoTaskLoggerForStepRestore.create('stepName', undefined, undefined, false);
await mongoStepLoggerForRestore.restore();


const mongoTaskLoggerRestored = await MONGO({
accountId: 'accountId',
jobId: 'jobId'
Expand Down
2 changes: 0 additions & 2 deletions examples/redis.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ const main = async () => {
await redisTaskLogger.setData({ key: 'value' });
redisTaskLogger.setLogSize(100);


const stepLoggerRedis = redisTaskLogger.create('stepName', undefined, undefined, true);
stepLoggerRedis.start();
stepLoggerRedis.write('hey');
Expand Down Expand Up @@ -67,7 +66,6 @@ const main = async () => {
const redisStepLoggerForRestore = redisTaskLoggerForStepRestore.create('stepName', undefined, undefined, false);
await redisStepLoggerForRestore.restore();


const redisRestoredTaskLogger = await REDIS({
accountId: 'accountId',
jobId: 'jobId'
Expand Down
2 changes: 1 addition & 1 deletion index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const TaskLoggerFactory = require('./taskLogger/taskLoggerFactory');
const TYPES = require('./taskLogger/enums').TYPES;
const { TYPES } = require('./taskLogger/enums');

module.exports = {
TaskLogger: TaskLoggerFactory,
Expand Down
21 changes: 10 additions & 11 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@codefresh-io/task-logger",
"version": "1.12.3",
"version": "1.13.0",
"description": "Codefresh utilities for working with build logs",
"main": "index.js",
"scripts": {
Expand All @@ -11,15 +11,14 @@
"license": "ISC",
"devDependencies": {
"chai": "^4.2.0",
"eslint": "^3.19.0",
"eslint-config-airbnb": "^15.1.0",
"eslint-plugin-chai-friendly": "^0.3.6",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-jsx-a11y": "^5.1.1",
"eslint-plugin-mocha": "^4.11.0",
"eslint-plugin-node": "^5.1.1",
"eslint-plugin-promise": "^3.5.0",
"eslint-plugin-react": "^7.1.0",
"eslint": "^8.57.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-chai-friendly": "^0.7.4",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-mocha": "^10.4.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^6.1.1",
"mocha": "^6.0.2",
"nock": "^11.7.0",
"proxyquire": "^1.7.4",
Expand All @@ -36,7 +35,7 @@
"firebase-token-generator": "^2.0.0",
"jsonwebtoken": "^9.0.2",
"lodash": "^4.17.21",
"mongodb": "~4.17.1",
"mongodb": "^6.8.0",
"node-redis-pubsub": "^5.0.0",
"q": "^1.4.1",
"redis": "^4.6.11",
Expand Down
1 change: 1 addition & 0 deletions taskLogger/MaskingStream.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable max-classes-per-file */
const { Transform } = require('stream');
// eslint-disable-next-line no-unused-vars
const TaskLogger = require('./TaskLogger');
Expand Down
1 change: 1 addition & 0 deletions taskLogger/PrependTimestampsStream.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable max-classes-per-file */
const { Transform } = require('stream');
// eslint-disable-next-line no-unused-vars
const TaskLogger = require('./TaskLogger');
Expand Down
12 changes: 7 additions & 5 deletions taskLogger/StepLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ const _ = require('lodash');
const Q = require('q');
const CFError = require('cf-errors');
const EventEmitter = require('events');
const { STATUS } = require('./enums');
const request = require('request');
const { STATUS } = require('./enums');

class StepLogger extends EventEmitter {
constructor({ accountId, jobId, name }, opts, taskLogger) {
Expand Down Expand Up @@ -144,8 +144,8 @@ class StepLogger extends EventEmitter {
if (this.fatal) {
return;
}
if (this.status === STATUS.RUNNING || this.status === STATUS.PENDING || this.status ===
STATUS.PENDING_APPROVAL || this.status === STATUS.TERMINATING) {
if (this.status === STATUS.RUNNING || this.status === STATUS.PENDING || this.status
=== STATUS.PENDING_APPROVAL || this.status === STATUS.TERMINATING) {
this.finishTimeStamp = +((finishTime || new Date()).getTime() / 1000).toFixed();
if (err) {
this.status = (this.status === STATUS.TERMINATING ? STATUS.TERMINATED : (this.pendingApproval ? STATUS.DENIED : STATUS.ERROR)); // eslint-disable-line
Expand Down Expand Up @@ -255,8 +255,10 @@ class StepLogger extends EventEmitter {
this.status = STATUS.TERMINATING;
this._reportStatus();
} else {
this.emit('error',
new CFError(`markTerminating is only allowed to step in running state status , current status : ${this.status}`));
this.emit(
'error',
new CFError(`markTerminating is only allowed to step in running state status , current status : ${this.status}`)
);
}
}

Expand Down
14 changes: 8 additions & 6 deletions taskLogger/TaskLogger.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@

const debug = require('debug')('codefresh:taskLogger');
const _ = require('lodash');
const CFError = require('cf-errors');
const EventEmitter = require('events');
const { STATUS, VISIBILITY } = require('./enums');
const Q = require('q');
const { STATUS, VISIBILITY } = require('./enums');
const MaskingStream = require('./MaskingStream');
const PrependTimestampsStream = require('./PrependTimestampsStream');

Expand Down Expand Up @@ -240,6 +239,7 @@ class TaskLogger extends EventEmitter {
startHealthCheck() {
this._startHealthCheck && this._startHealthCheck();
}

stopHealthCheck() {
this._stopHealthCheck && this._stopHealthCheck();
}
Expand Down Expand Up @@ -297,7 +297,7 @@ class TaskLogger extends EventEmitter {
this._updateLogsStatusCalls(err);

// update each step log size and last update
_.forEach(this.steps, step => step._reportLogSize());
_.forEach(this.steps, (step) => step._reportLogSize());
this._reportLogSize();
this._reportLastUpdate(Date.now());

Expand Down Expand Up @@ -340,9 +340,11 @@ class TaskLogger extends EventEmitter {
await Promise.all(waitForUpdate);
}

/**
* @returns {Promise<unknown>}
*/
// eslint-disable-next-line no-empty-function
async getRaw() {
}
async getRaw() {}

_newMask(word) {
return {
Expand All @@ -363,7 +365,7 @@ class TaskLogger extends EventEmitter {
_prepareBlacklistMasks() {
const blacklist = this.opts.blacklist || {};
return _.chain(blacklist)
.omitBy(value => !value.length || value.length === 0) // ignore empty string secrets
.omitBy((value) => !value.length || value.length === 0) // ignore empty string secrets
.map((value, key) => {
const masks = [this._newMask({ key, value })];
if (value.includes && value.includes(' ')) {
Expand Down
10 changes: 5 additions & 5 deletions taskLogger/composition/StepLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class CompositionStepLogger extends BaseStepLogger {
}

async restore() {
const restorePromises = this.loggers.map(logger => logger.restore());
const restorePromises = this.loggers.map((logger) => logger.restore());
await Promise.all(restorePromises);
this.status = this.loggers[0].status;
this.pendingApproval = this.status === STATUS.PENDING_APPROVAL;
Expand Down Expand Up @@ -49,7 +49,7 @@ class CompositionStepLogger extends BaseStepLogger {

_reportLog(message) {
const syncId = Date.now();
this.loggers.forEach(logger => logger._reportLog(message, syncId));
this.loggers.forEach((logger) => logger._reportLog(message, syncId));

}

Expand Down Expand Up @@ -93,13 +93,13 @@ class CompositionStepLogger extends BaseStepLogger {

_reportMemoryUsage(time, memoryUsage) {
const syncId = Date.now();
this.loggers.forEach(logger => logger._reportMemoryUsage(time, memoryUsage, syncId));
this.loggers.forEach((logger) => logger._reportMemoryUsage(time, memoryUsage, syncId));

}

_reportCpuUsage(time, cpuUsage) {
const syncId = Date.now();
this.loggers.forEach(logger => logger._reportCpuUsage(time, cpuUsage, syncId));
this.loggers.forEach((logger) => logger._reportCpuUsage(time, cpuUsage, syncId));

}

Expand All @@ -119,7 +119,7 @@ class CompositionStepLogger extends BaseStepLogger {
}

reportName() {
this.loggers.forEach(logger => logger.reportName());
this.loggers.forEach((logger) => logger.reportName());

}

Expand Down
23 changes: 12 additions & 11 deletions taskLogger/composition/TaskLogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ const _ = require('lodash');
const TaskLogger = require('../TaskLogger');
const { TYPES } = require('../enums');


class CompositionTaskLogger extends TaskLogger {

constructor(loggers, task, opts) {
Expand All @@ -11,22 +10,24 @@ class CompositionTaskLogger extends TaskLogger {
this.type = TYPES.COMPOSE;

}

static async factory(task, opts) {
const loggers = await Promise.all(opts.loggersDefs.map(async logger => require('../taskLoggerFactory')(task, logger.opts))); // eslint-disable-line
return new CompositionTaskLogger(loggers, task, opts);
}

newStepAdded(step) {
this.loggers.forEach(logger => logger.newStepAdded(step));
this.loggers.forEach((logger) => logger.newStepAdded(step));
}

async restore() {
const restorePromises = this.loggers.map(logger => logger.restore());
const restorePromises = this.loggers.map((logger) => logger.restore());
return Promise.all(restorePromises);
}

async addErrorMessageToEndOfSteps(message) {

const promises = this.loggers.map(logger => logger.addErrorMessageToEndOfSteps(message));
const promises = this.loggers.map((logger) => logger.addErrorMessageToEndOfSteps(message));
return Promise.all(promises);
}

Expand All @@ -35,20 +36,20 @@ class CompositionTaskLogger extends TaskLogger {
}

_reportLastUpdate(value) {
this.loggers.forEach(logger => logger._reportLastUpdate(value));
this.loggers.forEach((logger) => logger._reportLastUpdate(value));
}

async reportId() {
return _.map(this.loggers, logger => logger.reportId());
return _.map(this.loggers, (logger) => logger.reportId());
}

async reportAccountId() {
return _.map(this.loggers, logger => logger.reportAccountId());
return _.map(this.loggers, (logger) => logger.reportAccountId());
}

_reportMemoryUsage(time, memoryUsage) {
const syncId = Date.now();
this.loggers.forEach(logger => logger._reportMemoryUsage(time, memoryUsage, syncId));
this.loggers.forEach((logger) => logger._reportMemoryUsage(time, memoryUsage, syncId));

}

Expand All @@ -58,12 +59,11 @@ class CompositionTaskLogger extends TaskLogger {
logger._reportMemoryLimit();
});


}

_reportDiskState(time, diskState) {
const syncId = Date.now();
this.loggers.forEach(logger => logger._reportDiskState(time, diskState, syncId));
this.loggers.forEach((logger) => logger._reportDiskState(time, diskState, syncId));
}

_reportDiskSpaceUsageLimit() {
Expand Down Expand Up @@ -93,6 +93,7 @@ class CompositionTaskLogger extends TaskLogger {
return logger._reportStatus();
});
}

async getRaw() {

const promises = [];
Expand All @@ -104,7 +105,7 @@ class CompositionTaskLogger extends TaskLogger {

// return the first logger that return data

return arr.find(steps => !!steps);
return arr.find((steps) => !!steps);

}

Expand Down
Loading