Skip to content

Commit

Permalink
fix: run linter
Browse files Browse the repository at this point in the history
Signed-off-by: Tierney Cyren <[email protected]>
  • Loading branch information
bnb committed Nov 6, 2024
1 parent 7b249c1 commit d78a422
Show file tree
Hide file tree
Showing 8 changed files with 115 additions and 104 deletions.
12 changes: 6 additions & 6 deletions core/index.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
const { DateTime } = require('luxon');
const semver = require('semver');
const parsefiles = require('@nodevu/parsefiles');
const optionsParser = require('./util/prod/optionsParser')
const versionFetcher = require('./util/prod/versions')
const scheduleFetcher = require('./util/prod/schedule')
const optionsParser = require('./util/prod/optionsParser');
const versionFetcher = require('./util/prod/versions');
const scheduleFetcher = require('./util/prod/schedule');

async function core(options) {
// parse our user's options and set up our fetch/DateTime implementations
const parsedOptions = optionsParser(options);

const now = DateTime.fromISO(parsedOptions.now);

// collect and configure our data sources
const versions = await versionFetcher(parsedOptions)
const schedule = await scheduleFetcher(parsedOptions)
const versions = await versionFetcher(parsedOptions);
const schedule = await scheduleFetcher(parsedOptions);

// instantiate our data object, to be expanded upon
const data = {};
Expand Down
2 changes: 1 addition & 1 deletion core/test/combos.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const assert = require('node:assert');
const nodevu = require('../index');
const { describe, it, beforeEach } = require('test');
const { fetch: undiciFetch } = require('undici')
const { fetch: undiciFetch } = require('undici');

const beforeEachTemplate = require('../util/dev/beforeEachTemplate');

Expand Down
66 changes: 38 additions & 28 deletions core/test/parseOptions.js
Original file line number Diff line number Diff line change
@@ -1,55 +1,65 @@
const { deepStrictEqual } = require('node:assert');
const { describe, it, beforeEach } = require('test');
const { fetch: undiciFetch } = require('undici')
const { DateTime } = require('luxon')
const { fetch: undiciFetch } = require('undici');
const { DateTime } = require('luxon');
const nodevu = require('../index');
const parseOptions = require('../util/prod/optionsParser')
const parseOptions = require('../util/prod/optionsParser');

describe('the parseOptions module should return all correct defaults', async () => {
it('should return the default date', async () => {
const now = DateTime.now()
const now = DateTime.now();
const defaultParsedOptions = parseOptions({});
deepStrictEqual(defaultParsedOptions.now.day, now.day)
deepStrictEqual(defaultParsedOptions.now.hour, now.hour)
deepStrictEqual(defaultParsedOptions.now.minute, now.minute)
deepStrictEqual(defaultParsedOptions.now.month, now.month)
})
deepStrictEqual(defaultParsedOptions.now.day, now.day);
deepStrictEqual(defaultParsedOptions.now.hour, now.hour);
deepStrictEqual(defaultParsedOptions.now.minute, now.minute);
deepStrictEqual(defaultParsedOptions.now.month, now.month);
});

it('defaultParsedOptions.fetch should be globalThis.fetch when no options are passed', async () => {
const defaultParsedOptions = parseOptions({});
deepStrictEqual(defaultParsedOptions.fetch, globalThis.fetch)
})
deepStrictEqual(defaultParsedOptions.fetch, globalThis.fetch);
});

it('should return the origin index.json for url.index', async () => {
const defaultParsedOptions = parseOptions({});
deepStrictEqual(defaultParsedOptions.urls.index, 'https://nodejs.org/dist/index.json')
})
deepStrictEqual(
defaultParsedOptions.urls.index,
'https://nodejs.org/dist/index.json',
);
});

it('should return the origin schedule.json for url.schedule', async () => {
const defaultParsedOptions = parseOptions({});
deepStrictEqual(defaultParsedOptions.urls.schedule, 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json')
})
})
deepStrictEqual(
defaultParsedOptions.urls.schedule,
'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json',
);
});
});

describe('the parseOptions module should still work when defaults are changed', async () => {
it('should still work when a custom date is passed', async () => {
const currentNow = DateTime.now()
const currentNow = DateTime.now();
const defaultParsedOptions = parseOptions({ now: currentNow });
deepStrictEqual(defaultParsedOptions.now, currentNow)
})
deepStrictEqual(defaultParsedOptions.now, currentNow);
});

it('defaultParsedOptions.fetch should be globalThis.fetch when no options are passed', async () => {
const defaultParsedOptions = parseOptions({ fetch: undiciFetch });
deepStrictEqual(defaultParsedOptions.fetch, undiciFetch)
})
deepStrictEqual(defaultParsedOptions.fetch, undiciFetch);
});

it('should return the origin index.json for url.index', async () => {
const defaultParsedOptions = parseOptions({ urls: { index: 'https://example.com'}});
deepStrictEqual(defaultParsedOptions.urls.index, 'https://example.com')
})
const defaultParsedOptions = parseOptions({
urls: { index: 'https://example.com' },
});
deepStrictEqual(defaultParsedOptions.urls.index, 'https://example.com');
});

it('should return the origin schedule.json for url.schedule', async () => {
const defaultParsedOptions = parseOptions({ urls: { schedule: 'https://example.com'}});
deepStrictEqual(defaultParsedOptions.urls.schedule, 'https://example.com')
})
})
const defaultParsedOptions = parseOptions({
urls: { schedule: 'https://example.com' },
});
deepStrictEqual(defaultParsedOptions.urls.schedule, 'https://example.com');
});
});
51 changes: 26 additions & 25 deletions core/test/schedule.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
const { deepStrictEqual } = require('node:assert');
const { describe, it } = require('test');
const { fetch: undiciFetch } = require('undici')
const { fetch: undiciFetch } = require('undici');
const { DateTime } = require('luxon');
const nodevu = require('../index');
const schedule = require('../util/prod/schedule')
const optionsParser = require('../util/prod/optionsParser')
const schedule = require('../util/prod/schedule');
const optionsParser = require('../util/prod/optionsParser');

// checks that verify the result of data returned
function check (data) {
function check(data) {
for (const [line, metadata] of Object.entries(data)) {
for (const [metadataKey, metadataValue] of Object.entries(metadata)) {
deepStrictEqual(typeof metadataKey, 'string')
deepStrictEqual(typeof metadataValue, 'string')
deepStrictEqual(typeof metadataKey, 'string');
deepStrictEqual(typeof metadataValue, 'string');
}
}
}
Expand All @@ -20,33 +20,34 @@ function check (data) {
const options = {
fetch: globalThis.fetch,
urls: {
schedule: 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json'
}
}
schedule:
'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json',
},
};

describe('under normal condiditons, schedule should work', async () => {
it('should work with default options', async () => {
const data = await schedule(options)
check(data)
})
const data = await schedule(options);
check(data);
});

it('should work with Undici fetch', async () => {
options.fetch = undiciFetch
const data = await schedule(options)
check(data)
})
})
options.fetch = undiciFetch;
const data = await schedule(options);
check(data);
});
});

describe('schedule should work with optionsParser', async () => {
it('should work with the default output of optionsParser', async () => {
const parsedOptions = optionsParser({})
const data = await schedule(parsedOptions)
})
const parsedOptions = optionsParser({});
const data = await schedule(parsedOptions);
});

it('should work with a different fetch pased to optionsParser', async () => {
const parsedOptions = optionsParser({
fetch: undiciFetch
})
const data = await schedule(parsedOptions)
})
})
fetch: undiciFetch,
});
const data = await schedule(parsedOptions);
});
});
72 changes: 36 additions & 36 deletions core/test/versions.js
Original file line number Diff line number Diff line change
@@ -1,59 +1,59 @@
const { deepStrictEqual } = require('node:assert');
const { describe, it } = require('test');
const { fetch: undiciFetch } = require('undici')
const { fetch: undiciFetch } = require('undici');
const { DateTime } = require('luxon');
const nodevu = require('../index');
const versions = require('../util/prod/versions')
const optionsParser = require('../util/prod/optionsParser')
const versions = require('../util/prod/versions');
const optionsParser = require('../util/prod/optionsParser');

// checks that verify the result of data returned
function check (data) {
deepStrictEqual(typeof data[0].version, 'string')
deepStrictEqual(typeof data[0].date, 'string')
deepStrictEqual(Array.isArray(data[0].files), true)
deepStrictEqual(typeof data[0].npm, 'string')
deepStrictEqual(typeof data[0].v8, 'string')
deepStrictEqual(typeof data[0].uv, 'string')
deepStrictEqual(typeof data[0].zlib, 'string')
deepStrictEqual(typeof data[0].openssl, 'string')
deepStrictEqual(typeof data[0].modules, 'string')
deepStrictEqual(typeof data[0].lts, 'boolean')
deepStrictEqual(typeof data[0].security, 'boolean')
function check(data) {
deepStrictEqual(typeof data[0].version, 'string');
deepStrictEqual(typeof data[0].date, 'string');
deepStrictEqual(Array.isArray(data[0].files), true);
deepStrictEqual(typeof data[0].npm, 'string');
deepStrictEqual(typeof data[0].v8, 'string');
deepStrictEqual(typeof data[0].uv, 'string');
deepStrictEqual(typeof data[0].zlib, 'string');
deepStrictEqual(typeof data[0].openssl, 'string');
deepStrictEqual(typeof data[0].modules, 'string');
deepStrictEqual(typeof data[0].lts, 'boolean');
deepStrictEqual(typeof data[0].security, 'boolean');
}

// set up options object that would normally be passed to the module
const options = {
fetch: globalThis.fetch,
urls: {
index: 'https://nodejs.org/dist/index.json'
}
}
index: 'https://nodejs.org/dist/index.json',
},
};

describe('under normal condiditons, versions should work', async () => {
it('should work with default options', async () => {
const data = await versions(options)
check (data)
})
const data = await versions(options);
check(data);
});

it('should work with Undici fetch', async () => {
options.fetch = undiciFetch
const data = await versions(options)
check(data)
})
})
options.fetch = undiciFetch;
const data = await versions(options);
check(data);
});
});

describe('versions should work with optionsParser', async () => {
it('should work with the default output of optionsParser', async () => {
const parsedOptions = optionsParser({})
const data = await versions(parsedOptions)
check(data)
})
const parsedOptions = optionsParser({});
const data = await versions(parsedOptions);
check(data);
});

it('should work with a different fetch pased to optionsParser', async () => {
const parsedOptions = optionsParser({
fetch: undiciFetch
})
const data = await versions(parsedOptions)
check(data)
})
})
fetch: undiciFetch,
});
const data = await versions(parsedOptions);
check(data);
});
});
2 changes: 1 addition & 1 deletion core/util/prod/optionsParser.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ function parseOptions(options) {
return parsedOptions;
}

module.exports = parseOptions;
module.exports = parseOptions;
8 changes: 4 additions & 4 deletions core/util/prod/schedule.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
async function schedule (options) {
async function schedule(options) {
// parse our options and set up fetch if a custom fetch is passed
const fetch = options.fetch;
const url = options.urls.schedule;

// fetch the url, get the json from the fetched URL that we're going to use
const raw = await fetch(url);
const schedule = await raw.json();
return schedule

return schedule;
}

module.exports = schedule
module.exports = schedule;
6 changes: 3 additions & 3 deletions core/util/prod/versions.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
async function versions (options) {
async function versions(options) {
// parse our options and set up fetch if a custom fetch is passed
const fetch = options.fetch;
const url = options.urls.index;
Expand All @@ -7,7 +7,7 @@ async function versions (options) {
const raw = await fetch(url);
const versions = await raw.json();

return versions
return versions;
}

module.exports = versions
module.exports = versions;

0 comments on commit d78a422

Please sign in to comment.