mirror of
https://github.com/SamEyeBam/animate.git
synced 2025-09-28 06:55:25 +00:00
larry babby and threejs for glsl
This commit is contained in:
72
webGl/my-threejs-test/node_modules/@parcel/config-default/test/config.test.js
generated
vendored
Normal file
72
webGl/my-threejs-test/node_modules/@parcel/config-default/test/config.test.js
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
// @flow
|
||||
|
||||
import assert from 'assert';
|
||||
|
||||
import config from '../';
|
||||
import packageJson from '../package.json';
|
||||
|
||||
describe('@parcel/config-default', () => {
|
||||
let packageJsonDependencyNames: Set<string>;
|
||||
let configPackageReferences: Set<string>;
|
||||
|
||||
before(() => {
|
||||
packageJsonDependencyNames = new Set([
|
||||
...Object.keys(packageJson.dependencies || {}),
|
||||
...Object.keys(packageJson.parcelDependencies || {}),
|
||||
]);
|
||||
configPackageReferences = collectConfigPackageReferences(config);
|
||||
});
|
||||
|
||||
describe('package.json', () => {
|
||||
it('includes every package referenced in the config', () => {
|
||||
let missingReferences = [];
|
||||
for (let reference of configPackageReferences) {
|
||||
if (!packageJsonDependencyNames.has(reference)) {
|
||||
missingReferences.push(reference);
|
||||
}
|
||||
}
|
||||
|
||||
// Assert with deepEqual rather than e.g. missingReferences.size as the
|
||||
// assertion message with deepEqual enumerates the differences nicely
|
||||
assert.deepEqual(missingReferences, []);
|
||||
});
|
||||
|
||||
it('does not include packages not referenced in the config', () => {
|
||||
let unnecessaryDependencies = [];
|
||||
for (let dependency of packageJsonDependencyNames) {
|
||||
if (!configPackageReferences.has(dependency)) {
|
||||
unnecessaryDependencies.push(dependency);
|
||||
}
|
||||
}
|
||||
|
||||
assert.deepEqual(unnecessaryDependencies, []);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function collectConfigPackageReferences(
|
||||
configSection: mixed,
|
||||
references: Set<string> = new Set(),
|
||||
): Set<string> {
|
||||
if (configSection == null || typeof configSection !== 'object') {
|
||||
throw new TypeError('Expected config section to be an object or an array');
|
||||
}
|
||||
|
||||
for (let value of Object.values(configSection)) {
|
||||
if (typeof value === 'string') {
|
||||
if (value === '...') {
|
||||
continue;
|
||||
}
|
||||
|
||||
references.add(value);
|
||||
} else if (configSection != null && typeof configSection === 'object') {
|
||||
collectConfigPackageReferences(value, references);
|
||||
} else {
|
||||
throw new Error(
|
||||
'Parcel configs must contain only strings, arrays, or objects in value positions',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return references;
|
||||
}
|
Reference in New Issue
Block a user