Change endpoint from persons to people

This commit is contained in:
xfarrow
2025-03-23 21:00:08 +01:00
parent 4ae263662c
commit d005193f63
7158 changed files with 700476 additions and 735 deletions

View File

@ -0,0 +1,44 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.getValues = getValues;
exports.multipleValidOptions = multipleValidOptions;
exports.validationCondition = validationCondition;
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const toString = Object.prototype.toString;
const MULTIPLE_VALID_OPTIONS_SYMBOL = Symbol('JEST_MULTIPLE_VALID_OPTIONS');
function validationConditionSingle(option, validOption) {
return (
option === null ||
option === undefined ||
(typeof option === 'function' && typeof validOption === 'function') ||
toString.call(option) === toString.call(validOption)
);
}
function getValues(validOption) {
if (
Array.isArray(validOption) &&
// @ts-expect-error: no index signature
validOption[MULTIPLE_VALID_OPTIONS_SYMBOL]
) {
return validOption;
}
return [validOption];
}
function validationCondition(option, validOption) {
return getValues(validOption).some(e => validationConditionSingle(option, e));
}
function multipleValidOptions(...args) {
const options = [...args];
// @ts-expect-error: no index signature
options[MULTIPLE_VALID_OPTIONS_SYMBOL] = true;
return options;
}

View File

@ -0,0 +1,37 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = void 0;
var _condition = require('./condition');
var _deprecated = require('./deprecated');
var _errors = require('./errors');
var _utils = require('./utils');
var _warnings = require('./warnings');
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const validationOptions = {
comment: '',
condition: _condition.validationCondition,
deprecate: _deprecated.deprecationWarning,
deprecatedConfig: {},
error: _errors.errorMessage,
exampleConfig: {},
recursive: true,
// Allow NPM-sanctioned comments in package.json. Use a "//" key.
recursiveDenylist: ['//'],
title: {
deprecation: _utils.DEPRECATION,
error: _utils.ERROR,
warning: _utils.WARNING
},
unknown: _warnings.unknownOptionWarning
};
var _default = validationOptions;
exports.default = _default;

View File

@ -0,0 +1,28 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.deprecationWarning = void 0;
var _utils = require('./utils');
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const deprecationMessage = (message, options) => {
const comment = options.comment;
const name =
(options.title && options.title.deprecation) || _utils.DEPRECATION;
(0, _utils.logValidationWarning)(name, message, comment);
};
const deprecationWarning = (config, option, deprecatedOptions, options) => {
if (option in deprecatedOptions) {
deprecationMessage(deprecatedOptions[option](config), options);
return true;
}
return false;
};
exports.deprecationWarning = deprecationWarning;

View File

@ -0,0 +1,64 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.errorMessage = void 0;
function _chalk() {
const data = _interopRequireDefault(require('chalk'));
_chalk = function () {
return data;
};
return data;
}
function _jestGetType() {
const data = require('jest-get-type');
_jestGetType = function () {
return data;
};
return data;
}
var _condition = require('./condition');
var _utils = require('./utils');
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const errorMessage = (option, received, defaultValue, options, path) => {
const conditions = (0, _condition.getValues)(defaultValue);
const validTypes = Array.from(
new Set(conditions.map(_jestGetType().getType))
);
const message = ` Option ${_chalk().default.bold(
`"${path && path.length > 0 ? `${path.join('.')}.` : ''}${option}"`
)} must be of type:
${validTypes.map(e => _chalk().default.bold.green(e)).join(' or ')}
but instead received:
${_chalk().default.bold.red((0, _jestGetType().getType)(received))}
Example:
${formatExamples(option, conditions)}`;
const comment = options.comment;
const name = (options.title && options.title.error) || _utils.ERROR;
throw new _utils.ValidationError(name, message, comment);
};
exports.errorMessage = errorMessage;
function formatExamples(option, examples) {
return examples.map(
e => ` {
${_chalk().default.bold(`"${option}"`)}: ${_chalk().default.bold(
(0, _utils.formatPrettyObject)(e)
)}
}`
).join(`
or
`);
}

View File

@ -0,0 +1,38 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = void 0;
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const config = {
comment: ' A comment',
condition: () => true,
deprecate: () => false,
deprecatedConfig: {
key: () => 'Deprecation message'
},
// eslint-disable-next-line @typescript-eslint/no-empty-function
error: () => {},
exampleConfig: {
key: 'value',
test: 'case'
},
recursive: true,
recursiveDenylist: [],
title: {
deprecation: 'Deprecation Warning',
error: 'Validation Error',
warning: 'Validation Warning'
},
// eslint-disable-next-line @typescript-eslint/no-empty-function
unknown: () => {}
};
var _default = config;
exports.default = _default;

View File

@ -0,0 +1,89 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import type {Config} from '@jest/types';
import type {Options} from 'yargs';
export declare const createDidYouMeanMessage: (
unrecognized: string,
allowedOptions: Array<string>,
) => string;
declare type DeprecatedOptionFunc = (arg: Record<string, unknown>) => string;
export declare type DeprecatedOptions = Record<string, DeprecatedOptionFunc>;
export declare const format: (value: unknown) => string;
export declare const logValidationWarning: (
name: string,
message: string,
comment?: string | null,
) => void;
export declare function multipleValidOptions<T extends Array<unknown>>(
...args: T
): T[number];
declare type Title = {
deprecation?: string;
error?: string;
warning?: string;
};
export declare const validate: (
config: Record<string, unknown>,
options: ValidationOptions,
) => {
hasDeprecationWarnings: boolean;
isValid: boolean;
};
export declare function validateCLIOptions(
argv: Config.Argv,
options?: Record<string, Options> & {
deprecationEntries?: DeprecatedOptions;
},
rawArgv?: Array<string>,
): boolean;
export declare class ValidationError extends Error {
name: string;
message: string;
constructor(name: string, message: string, comment?: string | null);
}
declare type ValidationOptions = {
comment?: string;
condition?: (option: unknown, validOption: unknown) => boolean;
deprecate?: (
config: Record<string, unknown>,
option: string,
deprecatedOptions: DeprecatedOptions,
options: ValidationOptions,
) => boolean;
deprecatedConfig?: DeprecatedOptions;
error?: (
option: string,
received: unknown,
defaultValue: unknown,
options: ValidationOptions,
path?: Array<string>,
) => void;
exampleConfig: Record<string, unknown>;
recursive?: boolean;
recursiveDenylist?: Array<string>;
title?: Title;
unknown?: (
config: Record<string, unknown>,
exampleConfig: Record<string, unknown>,
option: string,
options: ValidationOptions,
path?: Array<string>,
) => void;
};
export {};

View File

@ -0,0 +1,56 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
Object.defineProperty(exports, 'ValidationError', {
enumerable: true,
get: function () {
return _utils.ValidationError;
}
});
Object.defineProperty(exports, 'createDidYouMeanMessage', {
enumerable: true,
get: function () {
return _utils.createDidYouMeanMessage;
}
});
Object.defineProperty(exports, 'format', {
enumerable: true,
get: function () {
return _utils.format;
}
});
Object.defineProperty(exports, 'logValidationWarning', {
enumerable: true,
get: function () {
return _utils.logValidationWarning;
}
});
Object.defineProperty(exports, 'multipleValidOptions', {
enumerable: true,
get: function () {
return _condition.multipleValidOptions;
}
});
Object.defineProperty(exports, 'validate', {
enumerable: true,
get: function () {
return _validate.default;
}
});
Object.defineProperty(exports, 'validateCLIOptions', {
enumerable: true,
get: function () {
return _validateCLIOptions.default;
}
});
var _utils = require('./utils');
var _validate = _interopRequireDefault(require('./validate'));
var _validateCLIOptions = _interopRequireDefault(
require('./validateCLIOptions')
);
var _condition = require('./condition');
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}

View File

@ -0,0 +1 @@
'use strict';

View File

@ -0,0 +1,100 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.logValidationWarning =
exports.formatPrettyObject =
exports.format =
exports.createDidYouMeanMessage =
exports.WARNING =
exports.ValidationError =
exports.ERROR =
exports.DEPRECATION =
void 0;
function _chalk() {
const data = _interopRequireDefault(require('chalk'));
_chalk = function () {
return data;
};
return data;
}
function _leven() {
const data = _interopRequireDefault(require('leven'));
_leven = function () {
return data;
};
return data;
}
function _prettyFormat() {
const data = require('pretty-format');
_prettyFormat = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const BULLET = _chalk().default.bold('\u25cf');
const DEPRECATION = `${BULLET} Deprecation Warning`;
exports.DEPRECATION = DEPRECATION;
const ERROR = `${BULLET} Validation Error`;
exports.ERROR = ERROR;
const WARNING = `${BULLET} Validation Warning`;
exports.WARNING = WARNING;
const format = value =>
typeof value === 'function'
? value.toString()
: (0, _prettyFormat().format)(value, {
min: true
});
exports.format = format;
const formatPrettyObject = value =>
typeof value === 'function'
? value.toString()
: typeof value === 'undefined'
? 'undefined'
: JSON.stringify(value, null, 2).split('\n').join('\n ');
exports.formatPrettyObject = formatPrettyObject;
class ValidationError extends Error {
name;
message;
constructor(name, message, comment) {
super();
comment = comment ? `\n\n${comment}` : '\n';
this.name = '';
this.message = _chalk().default.red(
`${_chalk().default.bold(name)}:\n\n${message}${comment}`
);
// eslint-disable-next-line @typescript-eslint/no-empty-function
Error.captureStackTrace(this, () => {});
}
}
exports.ValidationError = ValidationError;
const logValidationWarning = (name, message, comment) => {
comment = comment ? `\n\n${comment}` : '\n';
console.warn(
_chalk().default.yellow(
`${_chalk().default.bold(name)}:\n\n${message}${comment}`
)
);
};
exports.logValidationWarning = logValidationWarning;
const createDidYouMeanMessage = (unrecognized, allowedOptions) => {
const suggestion = allowedOptions.find(option => {
const steps = (0, _leven().default)(option, unrecognized);
return steps < 3;
});
return suggestion
? `Did you mean ${_chalk().default.bold(format(suggestion))}?`
: '';
};
exports.createDidYouMeanMessage = createDidYouMeanMessage;

View File

@ -0,0 +1,117 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = void 0;
var _defaultConfig = _interopRequireDefault(require('./defaultConfig'));
var _utils = require('./utils');
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
let hasDeprecationWarnings = false;
const shouldSkipValidationForPath = (path, key, denylist) =>
denylist ? denylist.includes([...path, key].join('.')) : false;
const _validate = (config, exampleConfig, options, path = []) => {
if (
typeof config !== 'object' ||
config == null ||
typeof exampleConfig !== 'object' ||
exampleConfig == null
) {
return {
hasDeprecationWarnings
};
}
for (const key in config) {
if (
options.deprecatedConfig &&
key in options.deprecatedConfig &&
typeof options.deprecate === 'function'
) {
const isDeprecatedKey = options.deprecate(
config,
key,
options.deprecatedConfig,
options
);
hasDeprecationWarnings = hasDeprecationWarnings || isDeprecatedKey;
} else if (allowsMultipleTypes(key)) {
const value = config[key];
if (
typeof options.condition === 'function' &&
typeof options.error === 'function'
) {
if (key === 'maxWorkers' && !isOfTypeStringOrNumber(value)) {
throw new _utils.ValidationError(
'Validation Error',
`${key} has to be of type string or number`,
'maxWorkers=50% or\nmaxWorkers=3'
);
}
}
} else if (Object.hasOwnProperty.call(exampleConfig, key)) {
if (
typeof options.condition === 'function' &&
typeof options.error === 'function' &&
!options.condition(config[key], exampleConfig[key])
) {
options.error(key, config[key], exampleConfig[key], options, path);
}
} else if (
shouldSkipValidationForPath(path, key, options.recursiveDenylist)
) {
// skip validating unknown options inside blacklisted paths
} else {
options.unknown &&
options.unknown(config, exampleConfig, key, options, path);
}
if (
options.recursive &&
!Array.isArray(exampleConfig[key]) &&
options.recursiveDenylist &&
!shouldSkipValidationForPath(path, key, options.recursiveDenylist)
) {
_validate(config[key], exampleConfig[key], options, [...path, key]);
}
}
return {
hasDeprecationWarnings
};
};
const allowsMultipleTypes = key => key === 'maxWorkers';
const isOfTypeStringOrNumber = value =>
typeof value === 'number' || typeof value === 'string';
const validate = (config, options) => {
hasDeprecationWarnings = false;
// Preserve default denylist entries even with user-supplied denylist
const combinedDenylist = [
...(_defaultConfig.default.recursiveDenylist || []),
...(options.recursiveDenylist || [])
];
const defaultedOptions = Object.assign({
..._defaultConfig.default,
...options,
recursiveDenylist: combinedDenylist,
title: options.title || _defaultConfig.default.title
});
const {hasDeprecationWarnings: hdw} = _validate(
config,
options.exampleConfig,
defaultedOptions
);
return {
hasDeprecationWarnings: hdw,
isValid: true
};
};
var _default = validate;
exports.default = _default;

View File

@ -0,0 +1,127 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.DOCUMENTATION_NOTE = void 0;
exports.default = validateCLIOptions;
function _camelcase() {
const data = _interopRequireDefault(require('camelcase'));
_camelcase = function () {
return data;
};
return data;
}
function _chalk() {
const data = _interopRequireDefault(require('chalk'));
_chalk = function () {
return data;
};
return data;
}
var _utils = require('./utils');
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const BULLET = _chalk().default.bold('\u25cf');
const DOCUMENTATION_NOTE = ` ${_chalk().default.bold(
'CLI Options Documentation:'
)}
https://jestjs.io/docs/cli
`;
exports.DOCUMENTATION_NOTE = DOCUMENTATION_NOTE;
const createCLIValidationError = (unrecognizedOptions, allowedOptions) => {
let title = `${BULLET} Unrecognized CLI Parameter`;
let message;
const comment =
` ${_chalk().default.bold('CLI Options Documentation')}:\n` +
' https://jestjs.io/docs/cli\n';
if (unrecognizedOptions.length === 1) {
const unrecognized = unrecognizedOptions[0];
const didYouMeanMessage =
unrecognized.length > 1
? (0, _utils.createDidYouMeanMessage)(
unrecognized,
Array.from(allowedOptions)
)
: '';
message = ` Unrecognized option ${_chalk().default.bold(
(0, _utils.format)(unrecognized)
)}.${didYouMeanMessage ? ` ${didYouMeanMessage}` : ''}`;
} else {
title += 's';
message =
' Following options were not recognized:\n' +
` ${_chalk().default.bold((0, _utils.format)(unrecognizedOptions))}`;
}
return new _utils.ValidationError(title, message, comment);
};
const validateDeprecatedOptions = (
deprecatedOptions,
deprecationEntries,
argv
) => {
deprecatedOptions.forEach(opt => {
const name = opt.name;
const message = deprecationEntries[name](argv);
const comment = DOCUMENTATION_NOTE;
if (opt.fatal) {
throw new _utils.ValidationError(name, message, comment);
} else {
(0, _utils.logValidationWarning)(name, message, comment);
}
});
};
function validateCLIOptions(argv, options = {}, rawArgv = []) {
const yargsSpecialOptions = ['$0', '_', 'help', 'h'];
const allowedOptions = Object.keys(options).reduce(
(acc, option) => acc.add(option).add(options[option].alias || option),
new Set(yargsSpecialOptions)
);
const deprecationEntries = options.deprecationEntries ?? {};
const CLIDeprecations = Object.keys(deprecationEntries).reduce(
(acc, entry) => {
acc[entry] = deprecationEntries[entry];
if (options[entry]) {
const alias = options[entry].alias;
if (alias) {
acc[alias] = deprecationEntries[entry];
}
}
return acc;
},
{}
);
const deprecations = new Set(Object.keys(CLIDeprecations));
const deprecatedOptions = Object.keys(argv)
.filter(arg => deprecations.has(arg) && argv[arg] != null)
.map(arg => ({
fatal: !allowedOptions.has(arg),
name: arg
}));
if (deprecatedOptions.length) {
validateDeprecatedOptions(deprecatedOptions, CLIDeprecations, argv);
}
const unrecognizedOptions = Object.keys(argv).filter(
arg =>
!allowedOptions.has(
(0, _camelcase().default)(arg, {
locale: 'en-US'
})
) &&
!allowedOptions.has(arg) &&
(!rawArgv.length || rawArgv.includes(arg)),
[]
);
if (unrecognizedOptions.length) {
throw createCLIValidationError(unrecognizedOptions, allowedOptions);
}
return true;
}

View File

@ -0,0 +1,41 @@
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.unknownOptionWarning = void 0;
function _chalk() {
const data = _interopRequireDefault(require('chalk'));
_chalk = function () {
return data;
};
return data;
}
var _utils = require('./utils');
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {default: obj};
}
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const unknownOptionWarning = (config, exampleConfig, option, options, path) => {
const didYouMean = (0, _utils.createDidYouMeanMessage)(
option,
Object.keys(exampleConfig)
);
const message = ` Unknown option ${_chalk().default.bold(
`"${path && path.length > 0 ? `${path.join('.')}.` : ''}${option}"`
)} with value ${_chalk().default.bold(
(0, _utils.format)(config[option])
)} was found.${
didYouMean && ` ${didYouMean}`
}\n This is probably a typing mistake. Fixing it will remove this message.`;
const comment = options.comment;
const name = (options.title && options.title.warning) || _utils.WARNING;
(0, _utils.logValidationWarning)(name, message, comment);
};
exports.unknownOptionWarning = unknownOptionWarning;