Replace intel with sitespeed.io/log (#4381)

* Replace intel with sitespeed.io/log
This commit is contained in:
Peter Hedenskog 2025-01-07 08:53:48 +01:00 committed by GitHub
parent 6b7aecc401
commit b9456eef6e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
50 changed files with 119 additions and 212 deletions

View File

@ -283,7 +283,7 @@ In the [open](#opencontext-options) function you can add something like this:
~~~javascript
// Register a logger for this plugin, a unique name so we can filter the log
// And save the log for later
this.log = context.intel.getLogger('sitespeedio.plugin.PLUGIN_NAME');
this.log = context.getLogger('sitespeedio.plugin.PLUGIN_NAME');
this.log.info('Plugin PLUGIN_NAME started');
~~~

View File

@ -2040,12 +2040,6 @@ export async function parseCommandLine() {
default: false,
type: 'boolean'
})
.option('logToFile', {
describe:
'Store the log for your run into a file in logs/sitespeed.io.log',
default: false,
type: 'boolean'
})
.option('useHash', {
describe:
'If your site uses # for URLs and # give you unique URLs you need to turn on useHash. By default is it turned off, meaning URLs with hash and without hash are treated as the same URL',

View File

@ -1,100 +1,8 @@
import intel from 'intel';
import { createWriteStream } from 'node:fs';
import { inherits } from 'node:util';
const {
INFO,
DEBUG,
VERBOSE,
TRACE,
NONE,
basicConfig,
Logger,
Handler,
Formatter
} = intel;
import { configureLog } from '@sitespeed.io/log';
// FileHandler isn't exposed in Intel when we moved to ESM.
// To fix that for now we just use the same code as Intel.
function StreamHandler(options) {
options = options || {};
if (!options.stream) {
options = { stream: options };
}
Handler.call(this, options);
this._stream = options.stream;
}
inherits(StreamHandler, Handler);
StreamHandler.prototype.emit = function streamEmit(record) {
this._stream.write(this.format(record) + '\n');
};
function FileHandler(options) {
if (typeof options === 'string') {
options = { file: options };
}
this._file = options.file;
options.stream = this._open();
StreamHandler.call(this, options);
}
inherits(FileHandler, StreamHandler);
FileHandler.prototype._open = function open() {
return createWriteStream(this._file, { flags: 'a' });
};
export function configure(options, logDir) {
options = options || {};
let level = INFO;
switch (options.verbose) {
case 1: {
level = DEBUG;
break;
}
case 2: {
level = VERBOSE;
break;
}
case 3: {
level = TRACE;
break;
}
default: {
break;
}
}
if (options.silent) {
level = NONE;
}
if (level === INFO) {
basicConfig({
format: '[%(date)s] %(levelname)s: %(message)s',
level: level
});
} else {
basicConfig({
format: '[%(date)s] %(levelname)s: [%(name)s] %(message)s',
level: level
});
}
if (options.logToFile) {
let logger = new Logger();
logger.addHandler(
new FileHandler({
file: logDir + '/sitespeed.io.log',
formatter: new Formatter({
format: '[%(date)s] %(levelname)s: [%(name)s] %(message)s',
level: level
})
})
);
}
export function configure(options = {}) {
configureLog({
verbose: options.verbose ?? 0,
silent: options.silent ?? false
});
}

View File

@ -1,7 +1,7 @@
/* eslint no-console:0 */
import cq from 'concurrent-queue';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { messageMaker } from '../support/messageMaker.js';
import {
@ -11,7 +11,7 @@ import {
} from './queueStatistics.js';
const make = messageMaker('queueHandler').make;
const log = intel.getLogger('sitespeedio.queuehandler');
const log = getLogger('sitespeedio.queuehandler');
function shortenData(key, value) {
if (key === 'data') {

View File

@ -2,9 +2,9 @@ import { parse } from 'node:url';
import { createHash } from 'node:crypto';
import isEmpty from 'lodash.isempty';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
const log = intel.getLogger('sitespeedio.file');
const log = getLogger('sitespeedio.file');
function toSafeKey(key) {
// U+2013 : EN DASH as used on https://en.wikipedia.org/wiki/201920_coronavirus_pandemic

View File

@ -10,11 +10,11 @@ import {
} from 'node:fs';
import { cp } from 'node:fs/promises';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { pathToFolder } from './pathToFolder.js';
const log = intel.getLogger('sitespeedio.storageManager');
const log = getLogger('sitespeedio.storageManager');
const mkdir = promisify(_mkdir);
const readdir = promisify(_readdir);
const lstat = promisify(_lstat);

View File

@ -1,11 +1,11 @@
import path from 'node:path';
import { readFileSync } from 'node:fs';
import { fileURLToPath } from 'node:url';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import axe from 'axe-core';
const { version: axeVersion } = axe;
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
const log = intel.getLogger('sitespeedio.plugin.axe');
const log = getLogger('sitespeedio.plugin.axe');
const __dirname = fileURLToPath(new URL('.', import.meta.url));
export default class AxePlugin extends SitespeedioPlugin {

View File

@ -5,8 +5,8 @@ import get from 'lodash.get';
import coach from 'coach-core';
import { BrowsertimeEngine, browserScripts } from 'browsertime';
const { getDomAdvice } = coach;
import intel from 'intel';
const log = intel.getLogger('plugin.browsertime');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('plugin.browsertime');
const defaultBrowsertimeOptions = {
statistics: true

View File

@ -2,8 +2,8 @@ import { readdir as _readdir } from 'node:fs';
import { promisify } from 'node:util';
import path from 'node:path';
const readdir = promisify(_readdir);
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.browsertime');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.browsertime');
function findFrame(videoFrames, time) {
let frame = videoFrames[0];

View File

@ -2,8 +2,8 @@ import { parse } from 'node:url';
import { default as _merge } from 'lodash.merge';
import intel from 'intel';
const log = intel.getLogger('plugin.browsertime');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('plugin.browsertime');
import dayjs from 'dayjs';
import isEmpty from 'lodash.isempty';

View File

@ -3,8 +3,8 @@
*/
import get from 'lodash.get';
import { noop, size } from '../../support/helpers/index.js';
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.budget');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.budget');
function getItem(url, type, metric, value, limit, limitType) {
return {

View File

@ -1,4 +1,4 @@
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import { verify as deprecatedVerify } from './deprecatedVerify.js';
import { verify } from './verify.js';
@ -6,7 +6,7 @@ import { writeTap } from './tap.js';
import { writeJunit } from './junit.js';
import { writeJson } from './json.js';
const log = intel.getLogger('sitespeedio.plugin.budget');
const log = getLogger('sitespeedio.plugin.budget');
export default class BudgetPlugin extends SitespeedioPlugin {
constructor(options, context, queue) {

View File

@ -1,8 +1,8 @@
import { writeFileSync } from 'node:fs';
import path from 'node:path';
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.budget');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.budget');
export function writeJson(results, dir) {
const file = path.join(dir, 'budgetResult.json');

View File

@ -3,8 +3,8 @@ import { parse } from 'node:url';
import jrp from 'junit-report-builder';
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.budget');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.budget');
import merge from 'lodash.merge';

View File

@ -2,8 +2,8 @@ import path from 'node:path';
import fs from 'node:fs';
import { EOL } from 'node:os';
import tap from 'tape';
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.budget');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.budget');
export function writeTap(results, dir) {
const file = path.join(dir, 'budget.tap');

View File

@ -3,8 +3,8 @@
*/
import get from 'lodash.get';
import merge from 'lodash.merge';
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.budget');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.budget');
import friendlyNames from '../../support/friendlynames.js';
import { time } from '../../support/helpers/time.js';

View File

@ -1,7 +1,7 @@
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import { CoachAggregator } from './aggregator.js';
import intel from 'intel';
const log = intel.getLogger('plugin.coach');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('plugin.coach');
const DEFAULT_METRICS_RUN = [];

View File

@ -3,9 +3,9 @@ import path from 'node:path';
import { execa } from 'execa';
import { Stats } from 'fast-stats';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { decimals } from '../../support/helpers/index.js';
const log = intel.getLogger('sitespeedio.plugin.compare');
const log = getLogger('sitespeedio.plugin.compare');
const __dirname = path.dirname(fileURLToPath(import.meta.url));

View File

@ -3,7 +3,7 @@ import { readFileSync } from 'node:fs';
import path from 'node:path';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import merge from 'lodash.merge';
import get from 'lodash.get';
import dayjs from 'dayjs';
@ -19,7 +19,7 @@ import { getBaseline, saveBaseline } from './baseline.js';
const __dirname = fileURLToPath(new URL('.', import.meta.url));
const log = intel.getLogger('sitespeedio.plugin.compare');
const log = getLogger('sitespeedio.plugin.compare');
const defaultConfig = {};
function urlToId(url, options) {

View File

@ -1,9 +1,9 @@
import path from 'node:path';
import merge from 'lodash.merge';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
const log = intel.getLogger('sitespeedio.plugin.crawler');
const log = getLogger('sitespeedio.plugin.crawler');
import Crawler from 'simplecrawler';
import { throwIfMissing } from '../../support/util.js';
import { toArray } from '../../support/util.js';

View File

@ -2,7 +2,7 @@ import { readFileSync } from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import merge from 'lodash.merge';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
@ -11,7 +11,7 @@ import { throwIfMissing } from '../../support/util.js';
import { repackage } from './repackage.js';
import { send } from './send.js';
const __dirname = fileURLToPath(new URL('.', import.meta.url));
const log = intel.getLogger('plugin.crux');
const log = getLogger('plugin.crux');
const defaultConfig = {};

View File

@ -1,6 +1,6 @@
import { request as _request } from 'node:https';
import intel from 'intel';
const log = intel.getLogger('plugin.crux');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('plugin.crux');
export async function send(url, key, formFactor, shouldWeTestTheURL) {
let data = shouldWeTestTheURL ? { url } : { origin: url };

View File

@ -1,13 +1,13 @@
import { parse } from 'node:url';
import { Stats } from 'fast-stats';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import isEmpty from 'lodash.isempty';
import reduce from 'lodash.reduce';
import { summarizeStats } from '../../support/statsHelpers.js';
const log = intel.getLogger('sitespeedio.plugin.domains');
const log = getLogger('sitespeedio.plugin.domains');
const timingNames = [
'blocked',

View File

@ -5,11 +5,11 @@ import { SitespeedioPlugin } from '@sitespeed.io/plugin';
// Documentation of @google-cloud/storage: https://cloud.google.com/nodejs/docs/reference/storage/2.3.x/Bucket#upload
import { Storage } from '@google-cloud/storage';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { throwIfMissing } from '../../support/util.js';
import { recursiveReaddir } from '../../support/fileUtil.js';
const log = intel.getLogger('sitespeedio.plugin.gcs');
const log = getLogger('sitespeedio.plugin.gcs');
async function uploadLatestFiles(dir, gcsOptions, prefix) {
const config = {

View File

@ -2,7 +2,7 @@ import http from 'node:http';
import https from 'node:https';
import { createRequire } from 'node:module';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { getConnectivity, getURLAndGroup } from '../../support/tsdbUtil.js';
import {
@ -13,7 +13,7 @@ import { toArray } from '../../support/util.js';
const require = createRequire(import.meta.url);
const version = require('../../../package.json').version;
const log = intel.getLogger('sitespeedio.plugin.grafana');
const log = getLogger('sitespeedio.plugin.grafana');
export function send(
url,

View File

@ -2,7 +2,7 @@ import isEmpty from 'lodash.isempty';
import merge from 'lodash.merge';
import get from 'lodash.get';
import dayjs from 'dayjs';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import { send } from './send-annotation.js';
@ -13,7 +13,7 @@ import { toArray } from '../../support/util.js';
import { GraphiteSender } from './graphite-sender.js';
import { StatsDSender } from './statsd-sender.js';
const log = intel.getLogger('sitespeedio.plugin.graphite');
const log = getLogger('sitespeedio.plugin.graphite');
export default class GraphitePlugin extends SitespeedioPlugin {
constructor(options, context, queue) {

View File

@ -1,7 +1,7 @@
import http from 'node:http';
import https from 'node:https';
import { createRequire } from 'node:module';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { getConnectivity, getURLAndGroup } from '../../support/tsdbUtil.js';
import {
@ -13,7 +13,7 @@ import { toArray } from '../../support/util.js';
const require = createRequire(import.meta.url);
const version = require('../../../package.json').version;
const log = intel.getLogger('sitespeedio.plugin.graphite');
const log = getLogger('sitespeedio.plugin.graphite');
export function send(
url,

View File

@ -1,5 +1,5 @@
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.graphite');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.graphite');
export class Sender {
constructor(host, port, bulkSize) {

View File

@ -7,14 +7,14 @@ import { fileURLToPath } from 'node:url';
import dayjs from 'dayjs';
import getos from 'getos';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { markdown } from 'markdown';
import merge from 'lodash.merge';
import get from 'lodash.get';
import isEmpty from 'lodash.isempty';
const getOS = promisify(getos);
const log = intel.getLogger('sitespeedio.plugin.html');
const log = getLogger('sitespeedio.plugin.html');
const require = createRequire(import.meta.url);
const { dependencies, version } = require('../../../package.json');
import { renderTemplate } from './renderer.js';

View File

@ -2,9 +2,9 @@ import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { compileFile, compile } from 'pug';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
const log = intel.getLogger('sitespeedio.plugin.html');
const log = getLogger('sitespeedio.plugin.html');
const __dirname = fileURLToPath(new URL('.', import.meta.url));
const basePath = path.resolve(__dirname, 'templates');

View File

@ -1,5 +1,5 @@
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.html');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.html');
import { toArray } from '../../../support/util.js';
import friendlyNames from '../../../support/friendlynames.js';
import get from 'lodash.get';

View File

@ -1,5 +1,5 @@
import isEmpty from 'lodash.isempty';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import dayjs from 'dayjs';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
@ -10,7 +10,7 @@ import { sendV2 } from './send-annotationV2.js';
import { InfluxDBDataGenerator as DataGenerator } from './data-generator.js';
import { throwIfMissing } from '../../support/util.js';
const log = intel.getLogger('sitespeedio.plugin.influxdb');
const log = getLogger('sitespeedio.plugin.influxdb');
export default class InfluxDBPlugin extends SitespeedioPlugin {
constructor(options, context, queue) {
super({ name: 'influxdb', options, context, queue });

View File

@ -2,7 +2,7 @@ import http from 'node:http';
import https from 'node:https';
import { stringify } from 'node:querystring';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import dayjs from 'dayjs';
import { getConnectivity, getURLAndGroup } from '../../support/tsdbUtil.js';
@ -11,7 +11,7 @@ import {
getTagsAsString
} from '../../support/annotationsHelper.js';
const log = intel.getLogger('sitespeedio.plugin.influxdb');
const log = getLogger('sitespeedio.plugin.influxdb');
export function sendV1(
url,

View File

@ -1,7 +1,7 @@
import http from 'node:http';
import https from 'node:https';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import dayjs from 'dayjs';
import { getConnectivity, getURLAndGroup } from '../../support/tsdbUtil.js';
@ -10,7 +10,7 @@ import {
getTagsAsString
} from '../../support/annotationsHelper.js';
const log = intel.getLogger('sitespeedio.plugin.influxdb');
const log = getLogger('sitespeedio.plugin.influxdb');
export function sendV2(
url,

View File

@ -1,11 +1,11 @@
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import get from 'lodash.get';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import send from './send.js';
import { throwIfMissing } from '../../support/util.js';
const log = intel.getLogger('sitespeedio.plugin.matrix');
const log = getLogger('sitespeedio.plugin.matrix');
function getBrowserData(data) {
return data && data.browser

View File

@ -1,6 +1,6 @@
import { request as _request } from 'node:https';
import intel from 'intel';
const log = intel.getLogger('sitespeedio.plugin.matrix');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio.plugin.matrix');
function send(
host,

View File

@ -1,10 +1,10 @@
/* eslint no-console:0 */
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import isEmpty from 'lodash.isempty';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
const log = intel.getLogger('sitespeedio.plugin.messagelogger');
const log = getLogger('sitespeedio.plugin.messagelogger');
function shortenData(key, value) {
if (key === 'data' && !isEmpty(value)) {

View File

@ -1,5 +1,5 @@
import { parse } from 'node:url';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import coach from 'coach-core';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
@ -8,7 +8,7 @@ import { short } from '../../support/helpers/index.js';
const { getPageXray } = coach;
const pagexray = getPageXray();
const log = intel.getLogger('plugin.pagexray');
const log = getLogger('plugin.pagexray');
const DEFAULT_PAGEXRAY_PAGESUMMARY_METRICS = [
'contentTypes',

View File

@ -1,7 +1,7 @@
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
const log = intel.getLogger('sitespeedio.plugin.remove');
const log = getLogger('sitespeedio.plugin.remove');
export default class RemovePlugin extends SitespeedioPlugin {
constructor(options, context, queue) {

View File

@ -2,7 +2,7 @@ import path from 'node:path';
import { promises as fsPromises } from 'node:fs';
import pLimit from 'p-limit';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
@ -10,7 +10,7 @@ import { throwIfMissing } from '../../support/util.js';
import { recursiveReaddir } from '../../support/fileUtil.js';
import { getContentType } from './contentType.js';
const log = intel.getLogger('sitespeedio.plugin.s3');
const log = getLogger('sitespeedio.plugin.s3');
async function uploadFile(file, s3Client, s3Options, prefix, baseDir) {
const stream = await fsPromises.readFile(file);

View File

@ -3,11 +3,11 @@ import fs from 'node:fs';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import { Client } from 'node-scp';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { throwIfMissing } from '../../support/util.js';
import { recursiveReaddir } from '../../support/fileUtil.js';
const log = intel.getLogger('sitespeedio.plugin.scp');
const log = getLogger('sitespeedio.plugin.scp');
async function getClient(scpOptions) {
const options = {

View File

@ -1,4 +1,4 @@
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { IncomingWebhook } from '@slack/webhook';
import merge from 'lodash.merge';
import set from 'lodash.set';
@ -9,7 +9,7 @@ import { getAttachements } from './attachements.js';
import { getSummary } from './summary.js';
import { throwIfMissing } from '../../support/util.js';
const log = intel.getLogger('sitespeedio.plugin.slack');
const log = getLogger('sitespeedio.plugin.slack');
const defaultConfig = {
userName: 'Sitespeed.io',

View File

@ -4,7 +4,7 @@ import fs from 'node:fs';
import zlib from 'node:zlib';
import { promisify } from 'node:util';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { co2, hosting } from '@tgwf/co2';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import { Aggregator } from './aggregator.js';
@ -27,7 +27,7 @@ const packageJson = JSON.parse(
const co2Version = packageJson.dependencies['@tgwf/co2'];
const gunzip = promisify(zlib.gunzip);
const log = intel.getLogger('sitespeedio.plugin.sustainable');
const log = getLogger('sitespeedio.plugin.sustainable');
const DEFAULT_METRICS_PAGE_SUMMARY = [
'co2PerPageView',

View File

@ -6,7 +6,7 @@ import fs from 'node:fs/promises';
import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc.js';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import pullAll from 'lodash.pullall';
import union from 'lodash.union';
@ -26,7 +26,7 @@ const packageJson = JSON.parse(
await fs.readFile(path.resolve(path.join(__dirname, '..', 'package.json')))
);
const log = intel.getLogger('sitespeedio');
const log = getLogger('sitespeedio');
dayjs.extend(utc);
const budgetResult = {
@ -61,9 +61,6 @@ export async function run(options) {
options
);
// Setup logging
const logDir = await storageManager.createDirectory('logs');
if (
options.browsertime &&
options.browsertime.tcpdump &&
@ -74,7 +71,7 @@ export async function run(options) {
'SSLKEYLOGFILE.txt'
);
}
configure(options, logDir);
configure(options);
// Tell the world what we are using
log.info(
@ -85,9 +82,8 @@ export async function run(options) {
packageJson.dependencies.browsertime,
packageJson.dependencies['coach-core']
);
if (log.isEnabledFor(log.DEBUG)) {
log.debug('Running with options: %:2j', options);
}
log.debug('Running with options: %:2j', options);
let pluginNames = await parsePluginNames(options);
@ -122,12 +118,11 @@ export async function run(options) {
budget: budgetResult,
name: url,
log,
intel,
getLogger,
messageMaker,
statsHelpers,
filterRegistry
};
const queueHandler = new QueueHandler(options);
const runningPlugins = await loadPlugins(
pluginNames,

View File

@ -1,6 +1,6 @@
import { parse } from 'node:url';
import intel from 'intel';
const log = intel.getLogger('sitespeedio');
import { getLogger } from '@sitespeed.io/log';
const log = getLogger('sitespeedio');
function joinNonEmpty(strings, delimeter) {
return strings.filter(Boolean).join(delimeter);

20
npm-shrinkwrap.json generated
View File

@ -13,7 +13,8 @@
"@aws-sdk/client-s3": "3.717.0",
"@google-cloud/storage": "7.14.0",
"@influxdata/influxdb-client": "1.33.2",
"@sitespeed.io/plugin": "0.0.6",
"@sitespeed.io/log": "0.2.2",
"@sitespeed.io/plugin": "1.0.0",
"@slack/webhook": "7.0.4",
"@tgwf/co2": "0.16.4",
"axe-core": "4.10.2",
@ -27,7 +28,6 @@
"getos": "3.2.1",
"import-global": "1.1.1",
"influx": "5.9.3",
"intel": "1.2.0",
"jstransformer-markdown-it": "3.0.0",
"junit-report-builder": "3.2.1",
"lodash.clonedeep": "4.5.0",
@ -2239,10 +2239,20 @@
"node": ">=14.18"
}
},
"node_modules/@sitespeed.io/log": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/@sitespeed.io/log/-/log-0.2.2.tgz",
"integrity": "sha512-Acvu61hHtbGz07b4TXuUVtRvO5YnNNcoreUFdiGlQkK4jE9ADRjCgrsw3ogQWuC0140ymuCVE/CZAOSQ+alA6g==",
"license": "Apache-2.0",
"engines": {
"node": ">=20.0.0"
}
},
"node_modules/@sitespeed.io/plugin": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/@sitespeed.io/plugin/-/plugin-0.0.6.tgz",
"integrity": "sha512-LlH46uCTpW+M86JYdUzH5hD9yDj5dVMEi83MTBG/PfnxLAkWmOKqp9mh0zr1wfuyvAuOWxjwmqFKvivd1lRKLg=="
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@sitespeed.io/plugin/-/plugin-1.0.0.tgz",
"integrity": "sha512-IvwXe17ZlF2UK2Asl8KkfhrNnmDS/3aL/mZg1xPhNbLiGhvYu4Uh7bsbz3YkV8cnOxGK7HdR5khbjm/BjZ0wQg==",
"license": "MIT"
},
"node_modules/@sitespeed.io/throttle": {
"version": "5.0.1",

View File

@ -81,10 +81,12 @@
},
"exports": "./lib/sitespeed.js",
"dependencies": {
"@aws-sdk/client-s3": "3.717.0",
"@google-cloud/storage": "7.14.0",
"@influxdata/influxdb-client": "1.33.2",
"@sitespeed.io/log": "0.2.2",
"@sitespeed.io/plugin": "1.0.0",
"@tgwf/co2": "0.16.4",
"@aws-sdk/client-s3": "3.717.0",
"@slack/webhook": "7.0.4",
"axe-core": "4.10.2",
"browsertime": "23.5.0",
@ -97,7 +99,6 @@
"getos": "3.2.1",
"import-global": "1.1.1",
"influx": "5.9.3",
"intel": "1.2.0",
"jstransformer-markdown-it": "3.0.0",
"junit-report-builder": "3.2.1",
"lodash.clonedeep": "4.5.0",
@ -116,7 +117,6 @@
"p-limit": "6.1.0",
"pug": "3.0.3",
"simplecrawler": "1.1.9",
"@sitespeed.io/plugin": "0.0.6",
"tape": "5.8.1",
"yargs": "17.7.2"
},

View File

@ -4,7 +4,7 @@ import {
pluginDefaults,
registerPluginOptions
} from '../lib/cli/util.js';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { SitespeedioPlugin } from '@sitespeed.io/plugin';
import { messageMaker } from '../lib/support/messageMaker.js';
@ -81,7 +81,7 @@ test(`registerPluginOptions should not setup options with invalid values`, t =>
super({ name: 'test', options, context, queue });
}
}
const plugin = new TestPlugin({}, { messageMaker, intel });
const plugin = new TestPlugin({}, { messageMaker, getLogger });
const codeUnderTest = () => registerPluginOptions(mockYargs(), plugin);

View File

@ -1,6 +1,6 @@
import test from 'ava';
import dayjs from 'dayjs';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { default as GraphitePlugin } from '../lib/plugins/graphite/index.js';
import { GraphiteDataGenerator as DataGenerator } from '../lib/plugins/graphite/data-generator.js';
@ -92,7 +92,7 @@ test(`Use graphite interface by default`, async t => {
const { messageMaker } = await import('../lib/support/messageMaker.js');
const filterRegistry = await import('../lib/support/filterRegistry.js');
const statsHelpers = await import('../lib/support/statsHelpers.js');
const context = { messageMaker, filterRegistry, intel, statsHelpers };
const context = { messageMaker, filterRegistry, getLogger, statsHelpers };
const plugin = new GraphitePlugin(options, context);
plugin.open(context, options);
t.is(plugin.sender.facility, 'Graphite');

View File

@ -2,7 +2,7 @@ import path from 'node:path';
import { readFileSync } from 'node:fs';
import test from 'ava';
import intel from 'intel';
import { getLogger } from '@sitespeed.io/log';
import { resultUrls } from '../lib/core/resultsStorage/resultUrls.js';
import { messageMaker } from '../lib/support/messageMaker.js';
@ -23,7 +23,7 @@ const defaultContextFactory = (context = {}) => {
{
messageMaker,
filterRegistry,
intel,
getLogger,
statsHelpers,
resultUrls: resultUrls('', {})
},