@sanity/plugin-kit 2.1.12 → 2.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/package.json +1 -1
- package/lib/src/presets/semver-workflow.js +1 -8
- package/lib/src/presets/semver-workflow.js.map +1 -1
- package/lib/src/util/readme.d.ts +1 -0
- package/lib/src/util/readme.js +7 -1
- package/lib/src/util/readme.js.map +1 -1
- package/package.json +1 -1
- package/src/presets/semver-workflow.ts +7 -10
- package/src/util/readme.ts +6 -0
package/lib/package.json
CHANGED
|
@@ -89,13 +89,6 @@ function readmeSnippets(options) {
|
|
|
89
89
|
const pkg = yield (0, package_1.getPackage)(options);
|
|
90
90
|
const user = yield (0, user_1.getUserInfo)(options, pkg);
|
|
91
91
|
const bestEffortUrl = readmeBaseurl(pkg);
|
|
92
|
-
const v3Banner = (0, outdent_1.default) `
|
|
93
|
-
> **NOTE**
|
|
94
|
-
>
|
|
95
|
-
> This is the **Sanity Studio v3 version** of ${pkg.name}.
|
|
96
|
-
>
|
|
97
|
-
> For the v2 version, please refer to the [v2-branch](${bestEffortUrl}).
|
|
98
|
-
`;
|
|
99
92
|
const install = (0, readme_1.installationSnippet)((_a = pkg.name) !== null && _a !== void 0 ? _a : 'unknown');
|
|
100
93
|
const usage = (0, outdent_1.default) `
|
|
101
94
|
## Usage
|
|
@@ -110,7 +103,7 @@ function readmeSnippets(options) {
|
|
|
110
103
|
Semantic release will only release on configured branches, so it is safe to run release on any branch.
|
|
111
104
|
`;
|
|
112
105
|
return {
|
|
113
|
-
v3Banner,
|
|
106
|
+
v3Banner: (0, readme_1.v3BannerNotice)(),
|
|
114
107
|
install,
|
|
115
108
|
usage,
|
|
116
109
|
license,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semver-workflow.js","sourceRoot":"","sources":["../../../src/presets/semver-workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAoE;AACpE,wEAAkE;AAElE,4CAMuB;AACvB,sDAA6B;AAC7B,sDAA6B;AAC7B,kDAAyB;AACzB,gDAAuB;AACvB,yCAAiD;AACjD,+DAAyD;AAEzD,
|
|
1
|
+
{"version":3,"file":"semver-workflow.js","sourceRoot":"","sources":["../../../src/presets/semver-workflow.ts"],"names":[],"mappings":"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"}
|
package/lib/src/util/readme.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PackageData } from '../actions/inject';
|
|
2
2
|
import { User } from './user';
|
|
3
3
|
export declare function generateReadme(data: PackageData): string;
|
|
4
|
+
export declare function v3BannerNotice(): string;
|
|
4
5
|
export declare function installationSnippet(packageName: string): string;
|
|
5
6
|
export declare function developTestSnippet(): string;
|
|
6
7
|
export declare function getLicenseText(licenseId?: string, user?: User): string;
|
package/lib/src/util/readme.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isDefaultGitHubReadme = exports.getLicenseText = exports.developTestSnippet = exports.installationSnippet = exports.generateReadme = void 0;
|
|
6
|
+
exports.isDefaultGitHubReadme = exports.getLicenseText = exports.developTestSnippet = exports.installationSnippet = exports.v3BannerNotice = exports.generateReadme = void 0;
|
|
7
7
|
const outdent_1 = __importDefault(require("outdent"));
|
|
8
8
|
// @ts-expect-error missing types
|
|
9
9
|
const choosealicense_list_1 = __importDefault(require("@rexxars/choosealicense-list"));
|
|
@@ -12,6 +12,8 @@ function generateReadme(data) {
|
|
|
12
12
|
return (0, outdent_1.default) `
|
|
13
13
|
# ${pluginName}
|
|
14
14
|
|
|
15
|
+
${v3BannerNotice()}
|
|
16
|
+
|
|
15
17
|
${installationSnippet(pluginName !== null && pluginName !== void 0 ? pluginName : 'unknown')}
|
|
16
18
|
|
|
17
19
|
## Usage
|
|
@@ -33,6 +35,10 @@ function generateReadme(data) {
|
|
|
33
35
|
`;
|
|
34
36
|
}
|
|
35
37
|
exports.generateReadme = generateReadme;
|
|
38
|
+
function v3BannerNotice() {
|
|
39
|
+
return `> This is a **Sanity Studio v3** plugin.`;
|
|
40
|
+
}
|
|
41
|
+
exports.v3BannerNotice = v3BannerNotice;
|
|
36
42
|
function installationSnippet(packageName) {
|
|
37
43
|
return (0, outdent_1.default) `
|
|
38
44
|
## Installation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readme.js","sourceRoot":"","sources":["../../../src/util/readme.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,iCAAiC;AACjC,uFAAmD;AAInD,SAAgB,cAAc,CAAC,IAAiB;IAC9C,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAC,GAAG,IAAI,CAAA;IAErD,OAAO,IAAA,iBAAO,EAAA;QACR,UAAU;;MAEZ,mBAAmB,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,SAAS,CAAC;;;;;;;+BAOnB,UAAU;;;;;;;;;MASnC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAC,CAAC,CAAE,IAAa,CAAC,CAAC,CAAC,SAAS,CAAC;MACpE,kBAAkB,EAAE;GACvB,CAAA;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"readme.js","sourceRoot":"","sources":["../../../src/util/readme.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,iCAAiC;AACjC,uFAAmD;AAInD,SAAgB,cAAc,CAAC,IAAiB;IAC9C,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAC,GAAG,IAAI,CAAA;IAErD,OAAO,IAAA,iBAAO,EAAA;QACR,UAAU;;MAEZ,cAAc,EAAE;;MAEhB,mBAAmB,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,SAAS,CAAC;;;;;;;+BAOnB,UAAU;;;;;;;;;MASnC,cAAc,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAC,CAAC,CAAE,IAAa,CAAC,CAAC,CAAC,SAAS,CAAC;MACpE,kBAAkB,EAAE;GACvB,CAAA;AACH,CAAC;AA3BD,wCA2BC;AAED,SAAgB,cAAc;IAC5B,OAAO,0CAA0C,CAAA;AACnD,CAAC;AAFD,wCAEC;AAED,SAAgB,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAA,iBAAO,EAAA;;;;yBAIS,WAAW;;KAE/B,CAAA;AACL,CAAC;AARD,kDAQC;AAED,SAAgB,kBAAkB;IAChC,OAAO,IAAA,iBAAO,EAAA;;;;;;;;GAQb,CAAA;AACH,CAAC;AAVD,gDAUC;AAED,SAAgB,cAAc,CAAC,SAAkB,EAAE,IAAW;IAC5D,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAA;KACV;IAED,IAAI,WAAW,GAAuB,6BAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAA;IACpE,WAAW,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;IAEtD,IAAI,WAAW,GAAG,cAAc,CAAA;IAChC,IAAI,WAAW,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA,EAAE;QAC7B,WAAW,GAAG,GAAG,WAAW,MAAM,WAAW,gBAAgB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,IAAI,CAAA;KAC5E;SAAM,IAAI,WAAW,EAAE;QACtB,WAAW,GAAG,GAAG,WAAW,MAAM,WAAW,cAAc,CAAA;KAC5D;SAAM;QACL,WAAW,GAAG,GAAG,WAAW,0BAA0B,CAAA;KACvD;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAlBD,wCAkBC;AAED,SAAgB,qBAAqB,CAAC,MAAc;IAClD,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAA;KACb;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEpD,iCAAiC;IACjC,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AACtD,CAAC;AATD,sDASC"}
|
package/package.json
CHANGED
|
@@ -15,7 +15,12 @@ import path from 'path'
|
|
|
15
15
|
import {readFile, writeFile} from '../util/files'
|
|
16
16
|
import {errorToUndefined} from '../util/errorToUndefined'
|
|
17
17
|
import {PackageJson} from '../actions/verify/types'
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
developTestSnippet,
|
|
20
|
+
getLicenseText,
|
|
21
|
+
installationSnippet,
|
|
22
|
+
v3BannerNotice,
|
|
23
|
+
} from '../util/readme'
|
|
19
24
|
import {getUserInfo} from '../util/user'
|
|
20
25
|
|
|
21
26
|
export const semverWorkflowPreset: Preset = {
|
|
@@ -95,14 +100,6 @@ async function readmeSnippets(options: InjectOptions) {
|
|
|
95
100
|
|
|
96
101
|
const bestEffortUrl = readmeBaseurl(pkg)
|
|
97
102
|
|
|
98
|
-
const v3Banner = outdent`
|
|
99
|
-
> **NOTE**
|
|
100
|
-
>
|
|
101
|
-
> This is the **Sanity Studio v3 version** of ${pkg.name}.
|
|
102
|
-
>
|
|
103
|
-
> For the v2 version, please refer to the [v2-branch](${bestEffortUrl}).
|
|
104
|
-
`
|
|
105
|
-
|
|
106
103
|
const install = installationSnippet(pkg.name ?? 'unknown')
|
|
107
104
|
|
|
108
105
|
const usage = outdent`
|
|
@@ -121,7 +118,7 @@ async function readmeSnippets(options: InjectOptions) {
|
|
|
121
118
|
`
|
|
122
119
|
|
|
123
120
|
return {
|
|
124
|
-
v3Banner,
|
|
121
|
+
v3Banner: v3BannerNotice(),
|
|
125
122
|
install,
|
|
126
123
|
usage,
|
|
127
124
|
license,
|
package/src/util/readme.ts
CHANGED
|
@@ -10,6 +10,8 @@ export function generateReadme(data: PackageData) {
|
|
|
10
10
|
return outdent`
|
|
11
11
|
# ${pluginName}
|
|
12
12
|
|
|
13
|
+
${v3BannerNotice()}
|
|
14
|
+
|
|
13
15
|
${installationSnippet(pluginName ?? 'unknown')}
|
|
14
16
|
|
|
15
17
|
## Usage
|
|
@@ -31,6 +33,10 @@ export function generateReadme(data: PackageData) {
|
|
|
31
33
|
`
|
|
32
34
|
}
|
|
33
35
|
|
|
36
|
+
export function v3BannerNotice() {
|
|
37
|
+
return `> This is a **Sanity Studio v3** plugin.`
|
|
38
|
+
}
|
|
39
|
+
|
|
34
40
|
export function installationSnippet(packageName: string) {
|
|
35
41
|
return outdent`
|
|
36
42
|
## Installation
|