aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLeyla Jähnig <[email protected]>2022-06-18 11:16:48 +0200
committerGitHub <[email protected]>2022-06-18 11:16:48 +0200
commit6d3f42e606f905657fd597b022a49baddce7d9f4 (patch)
tree00515408cec154a35e2a0c191bf57521a7f8d00d /src
parentc1cc1319373ab480b861c9cb372fa9e2ccf2982b (diff)
downloadfaker-6d3f42e606f905657fd597b022a49baddce7d9f4.tar.xz
faker-6d3f42e606f905657fd597b022a49baddce7d9f4.zip
docs: deprecation workflow (#1067)
Co-authored-by: Eric Cheng <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/internal/deprecated.ts31
-rw-r--r--src/modules/address/index.ts18
-rw-r--r--src/modules/commerce/index.ts5
-rw-r--r--src/modules/phone/index.ts14
-rw-r--r--src/modules/random/index.ts4
5 files changed, 48 insertions, 24 deletions
diff --git a/src/internal/deprecated.ts b/src/internal/deprecated.ts
index ab67b60a..f0668bc5 100644
--- a/src/internal/deprecated.ts
+++ b/src/internal/deprecated.ts
@@ -1,28 +1,47 @@
/* eslint-disable jsdoc/check-tag-names */
/* eslint-disable jsdoc/require-param */
+/**
+ * A deprecation should never be done in a patch.
+ */
+type DeprecationSemVer = `${number}.${number}`;
+
/** @internal */
export interface DeprecatedOptions {
+ /**
+ * The name of the function, following the syntax `faker.[module].[function]()`.
+ */
deprecated: string;
+ /**
+ * An alternative solution.
+ */
proposed?: string;
- since?: string;
- until?: string;
+ /**
+ * The semver since when this is deprecated.
+ */
+ since?: DeprecationSemVer;
+ /**
+ * The semver when this will be removed.
+ */
+ until?: DeprecationSemVer;
}
-/** @internal */
+/**
+ * @internal
+ */
export function deprecated(opts: DeprecatedOptions): void {
let message = `[@faker-js/faker]: ${opts.deprecated} is deprecated`;
if (opts.since) {
- message += ` since ${opts.since}`;
+ message += ` since v${opts.since}`;
}
if (opts.until) {
- message += ` and will be removed in ${opts.until}`;
+ message += ` and will be removed in v${opts.until}`;
}
if (opts.proposed) {
- message += `. Please use ${opts.proposed} instead`;
+ message += `. Please use ${opts.proposed} instead.`;
}
console.warn(`${message}.`);
diff --git a/src/modules/address/index.ts b/src/modules/address/index.ts
index e3c568fd..7c55bb51 100644
--- a/src/modules/address/index.ts
+++ b/src/modules/address/index.ts
@@ -76,8 +76,8 @@ export class Address {
deprecated({
deprecated: 'faker.address.city(format)',
proposed: 'faker.address.city() or faker.fake(format)',
- since: 'v7.0',
- until: 'v8.0',
+ since: '7.0',
+ until: '8.0',
});
}
const formats = this.faker.definitions.address.city;
@@ -98,13 +98,14 @@ export class Address {
* faker.address.cityPrefix() // 'East'
*
* @deprecated
+ * Use `faker.address.city()` instead.
*/
cityPrefix(): string {
deprecated({
deprecated: 'faker.address.cityPrefix()',
proposed: "faker.address.city() or faker.fake('{{address.city_prefix}}')",
- since: 'v7.2',
- until: 'v8.0',
+ since: '7.2',
+ until: '8.0',
});
return this.faker.helpers.arrayElement(
this.faker.definitions.address.city_prefix
@@ -120,13 +121,14 @@ export class Address {
* faker.address.citySuffix() // 'mouth'
*
* @deprecated
+ * Use `faker.address.city()` instead.
*/
citySuffix(): string {
deprecated({
deprecated: 'faker.address.citySuffix()',
proposed: "faker.address.city() or faker.fake('{{address.city_suffix}}')",
- since: 'v7.2',
- until: 'v8.0',
+ since: '7.2',
+ until: '8.0',
});
return this.faker.helpers.arrayElement(
this.faker.definitions.address.city_suffix
@@ -185,8 +187,8 @@ export class Address {
'faker.address.streetName() without address.street_name definitions',
proposed:
'faker.address.street() or provide address.street_name definitions',
- since: 'v7.0',
- until: 'v8.0',
+ since: '7.0',
+ until: '8.0',
});
return this.street();
}
diff --git a/src/modules/commerce/index.ts b/src/modules/commerce/index.ts
index d17c473b..2dcb4ca3 100644
--- a/src/modules/commerce/index.ts
+++ b/src/modules/commerce/index.ts
@@ -22,13 +22,14 @@ export class Commerce {
* faker.commerce.color() // 'red'
*
* @deprecated
+ * Use `faker.color.human()` instead.
*/
color(): string {
deprecated({
deprecated: 'faker.commerce.color()',
proposed: 'faker.color.human()',
- since: 'v7.0.0',
- until: 'v8.0.0',
+ since: '7.0',
+ until: '8.0',
});
return this.faker.color.human();
}
diff --git a/src/modules/phone/index.ts b/src/modules/phone/index.ts
index 68f97bf6..08da0821 100644
--- a/src/modules/phone/index.ts
+++ b/src/modules/phone/index.ts
@@ -33,8 +33,8 @@ export class Phone {
deprecated({
deprecated: 'faker.phone.phoneNumber()',
proposed: 'faker.phone.number()',
- since: 'v7.3',
- until: 'v8.0',
+ since: '7.3',
+ until: '8.0',
});
return this.faker.phone.number(format);
}
@@ -71,14 +71,15 @@ export class Phone {
* faker.phone.phoneNumberFormat(3) // '282.652.3201'
*
* @deprecated
+ * Use faker.phone.phoneNumber() instead.
*/
phoneNumberFormat(phoneFormatsArrayIndex = 0): string {
deprecated({
deprecated: 'faker.phone.phoneNumberFormat()',
proposed:
'faker.phone.phoneNumber() or faker.helpers.replaceSymbolWithNumber(format)',
- since: 'v7.0',
- until: 'v8.0',
+ since: '7.0',
+ until: '8.0',
});
return this.faker.helpers.replaceSymbolWithNumber(
this.faker.definitions.phone_number.formats[phoneFormatsArrayIndex]
@@ -95,13 +96,14 @@ export class Phone {
* faker.phone.phoneFormats() // '!##.!##.####'
*
* @deprecated
+ * Use `faker.phone.phoneNumber()` instead.
*/
phoneFormats(): string {
deprecated({
deprecated: 'faker.phone.phoneFormats()',
proposed: 'faker.phone.phoneNumber()',
- since: 'v7.0',
- until: 'v8.0',
+ since: '7.0',
+ until: '8.0',
});
return this.faker.helpers.arrayElement(
this.faker.definitions.phone_number.formats
diff --git a/src/modules/random/index.ts b/src/modules/random/index.ts
index 616dc4dd..727ec8fb 100644
--- a/src/modules/random/index.ts
+++ b/src/modules/random/index.ts
@@ -273,8 +273,8 @@ export class Random {
deprecated({
deprecated: 'faker.random.alpha({ upcase: true })',
proposed: "faker.random.alpha({ casing: 'upper' })",
- since: 'v7.0',
- until: 'v8.0',
+ since: '7.0',
+ until: '8.0',
});
}