@sanity/plugin-kit 1.1.0-ecosystem-preset.7 → 1.1.0-ecosystem-preset.9

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.
@@ -0,0 +1 @@
1
+ legacy-peer-deps=true
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/plugin-kit",
3
- "version": "1.1.0-ecosystem-preset.7",
3
+ "version": "1.1.0-ecosystem-preset.9",
4
4
  "description": "Enhanced Sanity.io plugin development experience",
5
5
  "scripts": {
6
6
  "clean": "rimraf lib",
@@ -4,7 +4,7 @@ export declare const forcedPackageVersions: {
4
4
  readonly 'react-dom': "^18.0.0";
5
5
  readonly '@types/react-dom': "^18.0.0";
6
6
  readonly sanity: "dev-preview || 3.0.0-dev-preview.22";
7
- readonly 'sanity-ui': "^1.0.0-beta.31";
7
+ readonly '@sanity/ui': "^1.0.0-beta.31";
8
8
  readonly parcel: "~2.6.0";
9
9
  readonly typescript: "~4.7.0";
10
10
  };
@@ -7,7 +7,7 @@ exports.forcedPackageVersions = {
7
7
  'react-dom': '^18.0.0',
8
8
  '@types/react-dom': '^18.0.0',
9
9
  sanity: 'dev-preview || 3.0.0-dev-preview.22',
10
- 'sanity-ui': '^1.0.0-beta.31',
10
+ '@sanity/ui': '^1.0.0-beta.31',
11
11
  //TODO delete both of these when we ditch parcel
12
12
  parcel: '~2.6.0',
13
13
  typescript: '~4.7.0',
@@ -1 +1 @@
1
- {"version":3,"file":"forced-package-versions.js","sourceRoot":"","sources":["../../../src/configs/forced-package-versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACnC,KAAK,EAAE,SAAS;IAChB,cAAc,EAAE,SAAS;IACzB,WAAW,EAAE,SAAS;IACtB,kBAAkB,EAAE,SAAS;IAC7B,MAAM,EAAE,qCAAqC;IAC7C,WAAW,EAAE,gBAAgB;IAE7B,gDAAgD;IAChD,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,QAAQ;CACZ,CAAA"}
1
+ {"version":3,"file":"forced-package-versions.js","sourceRoot":"","sources":["../../../src/configs/forced-package-versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG;IACnC,KAAK,EAAE,SAAS;IAChB,cAAc,EAAE,SAAS;IACzB,WAAW,EAAE,SAAS;IACtB,kBAAkB,EAAE,SAAS;IAC7B,MAAM,EAAE,qCAAqC;IAC7C,YAAY,EAAE,gBAAgB;IAE9B,gDAAgD;IAChD,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,QAAQ;CACZ,CAAA"}
@@ -1,4 +1,8 @@
1
1
  import { Preset } from './presets';
2
2
  import { PackageJson } from '../actions/verify/types';
3
3
  export declare const semverWorkflowPreset: Preset;
4
+ /**
5
+ * Returns sections that does not exists "close enough" in readme
6
+ */
7
+ export declare function missingSections(readme: string, sections: string[]): string[];
4
8
  export declare function readmeBaseurl(pkg: PackageJson): string;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.readmeBaseurl = exports.semverWorkflowPreset = void 0;
15
+ exports.readmeBaseurl = exports.missingSections = exports.semverWorkflowPreset = void 0;
16
16
  const inject_1 = require("../actions/inject");
17
17
  const resolveLatestVersions_1 = require("../npm/resolveLatestVersions");
18
18
  const package_1 = require("../npm/package");
@@ -69,10 +69,16 @@ function updateReadme(options) {
69
69
  const { basePath } = options;
70
70
  const readmePath = path_1.default.join(basePath, 'README.md');
71
71
  const readme = (_a = (yield (0, files_1.readFile)(readmePath, 'utf8').catch(errorToUndefined_1.errorToUndefined))) !== null && _a !== void 0 ? _a : '';
72
- const { v3Banner, installUsage, developFooter } = yield readmeSnippets(options);
73
- const updatedReadme = [v3Banner, installUsage, readme, developFooter].filter(Boolean).join('\n\n');
74
- yield (0, files_1.writeFile)(readmePath, updatedReadme, { encoding: 'utf8' });
75
- log_1.default.info('Updated README. Please review the changes.');
72
+ const { v3Banner, install, usage, developFooter } = yield readmeSnippets(options);
73
+ const prependSections = missingSections(readme, [v3Banner, install, usage]);
74
+ const appendSections = missingSections(readme, [developFooter]);
75
+ if (prependSections.length || appendSections.length) {
76
+ const updatedReadme = [...prependSections, readme, ...appendSections]
77
+ .filter(Boolean)
78
+ .join('\n\n');
79
+ yield (0, files_1.writeFile)(readmePath, updatedReadme, { encoding: 'utf8' });
80
+ log_1.default.info('Updated README. Please review the changes.');
81
+ }
76
82
  });
77
83
  }
78
84
  function readmeSnippets(options) {
@@ -86,7 +92,7 @@ function readmeSnippets(options) {
86
92
  >
87
93
  > For the v2 version, please refer to the [v2-branch](${bestEffortUrl}).
88
94
  `;
89
- const installUsage = (0, outdent_1.default) `
95
+ const install = (0, outdent_1.default) `
90
96
  ## Installation
91
97
 
92
98
  \`\`\`
@@ -98,10 +104,9 @@ function readmeSnippets(options) {
98
104
  \`\`\`
99
105
  yarn add ${pkg.name}@studio-v3
100
106
  \`\`\`
101
-
107
+ `;
108
+ const usage = (0, outdent_1.default) `
102
109
  ## Usage
103
-
104
- <TODO: Show usage here>
105
110
  `;
106
111
  const developFooter = (0, outdent_1.default) `
107
112
  ## License
@@ -125,17 +130,38 @@ function readmeSnippets(options) {
125
130
  `;
126
131
  return {
127
132
  v3Banner,
128
- installUsage,
133
+ install,
134
+ usage,
129
135
  developFooter,
130
136
  };
131
137
  });
132
138
  }
139
+ /**
140
+ * Returns sections that does not exists "close enough" in readme
141
+ */
142
+ function missingSections(readme, sections) {
143
+ return sections.filter((section) => !closeEnough(section, readme));
144
+ }
145
+ exports.missingSections = missingSections;
146
+ /**
147
+ * a and b are considered "close enough" if > 50% of a lines exist in b lines
148
+ * @param a
149
+ * @param b
150
+ */
151
+ function closeEnough(a, b) {
152
+ const aLines = a.split('\n');
153
+ const bLines = b.split('\n');
154
+ const matchingLines = aLines.filter((line) => bLines.find((bLine) => bLine === line)).length;
155
+ const isCloseEnough = matchingLines > aLines.length * 0.5;
156
+ return isCloseEnough;
157
+ }
133
158
  function semverWorkflowFiles() {
134
159
  return [
135
160
  { from: ['.github', 'workflows', 'main.yml'], to: ['.github', 'workflows', 'main.yml'] },
136
161
  { from: ['.husky', 'commit-msg'], to: ['.husky', 'commit-msg'] },
137
162
  { from: ['.husky', 'pre-commit'], to: ['.husky', 'pre-commit'] },
138
163
  { from: ['.releaserc.json'], to: '.releaserc.json' },
164
+ { from: ['npmrc'], to: '.npmrc' },
139
165
  { from: ['commitlint.template.js'], to: 'commitlint.config.js' },
140
166
  { from: ['lint-staged.template.js'], to: 'lint-staged.config.js' },
141
167
  ].map((fromTo) => (Object.assign(Object.assign({}, fromTo), { from: ['semver-workflow', ...fromTo.from] })));
@@ -1 +1 @@
1
- {"version":3,"file":"semver-workflow.js","sourceRoot":"","sources":["../../../src/presets/semver-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semver-workflow.js","sourceRoot":"","sources":["../../../src/presets/semver-workflow.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const tap_1 = __importDefault(require("tap"));
16
16
  const semver_workflow_1 = require("../src/presets/semver-workflow");
17
+ const outdent_1 = __importDefault(require("outdent"));
17
18
  tap_1.default.test('readmeBaseUrl', (t) => __awaiter(void 0, void 0, void 0, function* () {
18
19
  const testCases = [
19
20
  {
@@ -39,4 +40,38 @@ tap_1.default.test('readmeBaseUrl', (t) => __awaiter(void 0, void 0, void 0, fun
39
40
  ];
40
41
  testCases.forEach(({ pkg, expectedUrl }) => t.equal((0, semver_workflow_1.readmeBaseurl)(pkg), expectedUrl));
41
42
  }));
43
+ tap_1.default.test('missingSections', (t) => __awaiter(void 0, void 0, void 0, function* () {
44
+ const exactMatch = (0, outdent_1.default) `
45
+ This a
46
+ matches b
47
+ exactly c
48
+ `;
49
+ const over50PercentMatch = (0, outdent_1.default) `
50
+ This x
51
+ matches y
52
+ enough z
53
+ `;
54
+ const only50PercentMatch = (0, outdent_1.default) `
55
+ This
56
+ does
57
+ not
58
+ match
59
+ `;
60
+ const sections = [exactMatch, over50PercentMatch, only50PercentMatch];
61
+ const readme = (0, outdent_1.default) `
62
+ This a
63
+ matches b
64
+ exactly c
65
+
66
+ This x
67
+ matches y
68
+ enough zzzzzz
69
+
70
+ This
71
+ does
72
+ miss
73
+ `;
74
+ const missing = (0, semver_workflow_1.missingSections)(readme, sections);
75
+ t.same(missing, [only50PercentMatch]);
76
+ }));
42
77
  //# sourceMappingURL=semver-workflow.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semver-workflow.test.js","sourceRoot":"","sources":["../../test/semver-workflow.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8CAAqB;AACrB,oEAA4D;AAG5D,aAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAO,CAAC,EAAE,EAAE;IACpC,MAAM,SAAS,GAA8C;QAC3D;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,6CAA6C,EAAC,EAAC;YACvE,WAAW,EAAE,qCAAqC;SACnD;QACD;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,mDAAmD,EAAC,EAAC;YAC7E,WAAW,EAAE,yCAAyC;SACvD;QACD;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,uDAAuD,EAAC,EAAC;YACjF,WAAW,EAAE,uDAAuD;SACrE;QACD;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,oDAAoD,EAAC,EAAC;YAC9E,WAAW,EAAE,4CAA4C;SAC1D;QACD;YACE,GAAG,EAAE,EAAC,QAAQ,EAAE,wDAAwD,EAAC;YACzE,WAAW,EAAE,iDAAiD;SAC/D;KACF,CAAA;IAED,SAAS,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAE,WAAW,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,+BAAa,EAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;AACrF,CAAC,CAAA,CAAC,CAAA"}
1
+ {"version":3,"file":"semver-workflow.test.js","sourceRoot":"","sources":["../../test/semver-workflow.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,8CAAqB;AACrB,oEAA6E;AAE7E,sDAA6B;AAE7B,aAAG,CAAC,IAAI,CAAC,eAAe,EAAE,CAAO,CAAC,EAAE,EAAE;IACpC,MAAM,SAAS,GAA8C;QAC3D;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,6CAA6C,EAAC,EAAC;YACvE,WAAW,EAAE,qCAAqC;SACnD;QACD;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,mDAAmD,EAAC,EAAC;YAC7E,WAAW,EAAE,yCAAyC;SACvD;QACD;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,uDAAuD,EAAC,EAAC;YACjF,WAAW,EAAE,uDAAuD;SACrE;QACD;YACE,GAAG,EAAE,EAAC,UAAU,EAAE,EAAC,GAAG,EAAE,oDAAoD,EAAC,EAAC;YAC9E,WAAW,EAAE,4CAA4C;SAC1D;QACD;YACE,GAAG,EAAE,EAAC,QAAQ,EAAE,wDAAwD,EAAC;YACzE,WAAW,EAAE,iDAAiD;SAC/D;KACF,CAAA;IAED,SAAS,CAAC,OAAO,CAAC,CAAC,EAAC,GAAG,EAAE,WAAW,EAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAA,+BAAa,EAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;AACrF,CAAC,CAAA,CAAC,CAAA;AAEF,aAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAO,CAAC,EAAE,EAAE;IACtC,MAAM,UAAU,GAAG,IAAA,iBAAO,EAAA;;;;CAI3B,CAAA;IACC,MAAM,kBAAkB,GAAG,IAAA,iBAAO,EAAA;;;;CAInC,CAAA;IACC,MAAM,kBAAkB,GAAG,IAAA,iBAAO,EAAA;;;;;CAKnC,CAAA;IACC,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;IAErE,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAA;;;;;;;;;;;;GAYrB,CAAA;IAED,MAAM,OAAO,GAAG,IAAA,iCAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACjD,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;AACvC,CAAC,CAAA,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/plugin-kit",
3
- "version": "1.1.0-ecosystem-preset.7",
3
+ "version": "1.1.0-ecosystem-preset.9",
4
4
  "description": "Enhanced Sanity.io plugin development experience",
5
5
  "scripts": {
6
6
  "clean": "rimraf lib",
@@ -4,7 +4,7 @@ export const forcedPackageVersions = {
4
4
  'react-dom': '^18.0.0',
5
5
  '@types/react-dom': '^18.0.0',
6
6
  sanity: 'dev-preview || 3.0.0-dev-preview.22',
7
- 'sanity-ui': '^1.0.0-beta.31',
7
+ '@sanity/ui': '^1.0.0-beta.31',
8
8
 
9
9
  //TODO delete both of these when we ditch parcel
10
10
  parcel: '~2.6.0',
@@ -71,10 +71,18 @@ async function updateReadme(options: InjectOptions) {
71
71
  const readmePath = path.join(basePath, 'README.md')
72
72
  const readme = (await readFile(readmePath, 'utf8').catch(errorToUndefined)) ?? ''
73
73
 
74
- const {v3Banner, installUsage, developFooter} = await readmeSnippets(options)
75
- const updatedReadme = [v3Banner, installUsage, readme, developFooter].filter(Boolean).join('\n\n')
76
- await writeFile(readmePath, updatedReadme, {encoding: 'utf8'})
77
- log.info('Updated README. Please review the changes.')
74
+ const {v3Banner, install, usage, developFooter} = await readmeSnippets(options)
75
+
76
+ const prependSections = missingSections(readme, [v3Banner, install, usage])
77
+ const appendSections = missingSections(readme, [developFooter])
78
+
79
+ if (prependSections.length || appendSections.length) {
80
+ const updatedReadme = [...prependSections, readme, ...appendSections]
81
+ .filter(Boolean)
82
+ .join('\n\n')
83
+ await writeFile(readmePath, updatedReadme, {encoding: 'utf8'})
84
+ log.info('Updated README. Please review the changes.')
85
+ }
78
86
  }
79
87
 
80
88
  async function readmeSnippets(options: InjectOptions) {
@@ -90,7 +98,7 @@ async function readmeSnippets(options: InjectOptions) {
90
98
  > For the v2 version, please refer to the [v2-branch](${bestEffortUrl}).
91
99
  `
92
100
 
93
- const installUsage = outdent`
101
+ const install = outdent`
94
102
  ## Installation
95
103
 
96
104
  \`\`\`
@@ -102,10 +110,10 @@ async function readmeSnippets(options: InjectOptions) {
102
110
  \`\`\`
103
111
  yarn add ${pkg.name}@studio-v3
104
112
  \`\`\`
113
+ `
105
114
 
115
+ const usage = outdent`
106
116
  ## Usage
107
-
108
- <TODO: Show usage here>
109
117
  `
110
118
 
111
119
  const developFooter = outdent`
@@ -131,17 +139,40 @@ async function readmeSnippets(options: InjectOptions) {
131
139
 
132
140
  return {
133
141
  v3Banner,
134
- installUsage,
142
+ install,
143
+ usage,
135
144
  developFooter,
136
145
  }
137
146
  }
138
147
 
148
+ /**
149
+ * Returns sections that does not exists "close enough" in readme
150
+ */
151
+ export function missingSections(readme: string, sections: string[]) {
152
+ return sections.filter((section) => !closeEnough(section, readme))
153
+ }
154
+
155
+ /**
156
+ * a and b are considered "close enough" if > 50% of a lines exist in b lines
157
+ * @param a
158
+ * @param b
159
+ */
160
+ function closeEnough(a: string, b: string) {
161
+ const aLines = a.split('\n')
162
+ const bLines = b.split('\n')
163
+
164
+ const matchingLines = aLines.filter((line) => bLines.find((bLine) => bLine === line)).length
165
+ const isCloseEnough = matchingLines > aLines.length * 0.5
166
+ return isCloseEnough
167
+ }
168
+
139
169
  function semverWorkflowFiles(): FromTo[] {
140
170
  return [
141
171
  {from: ['.github', 'workflows', 'main.yml'], to: ['.github', 'workflows', 'main.yml']},
142
172
  {from: ['.husky', 'commit-msg'], to: ['.husky', 'commit-msg']},
143
173
  {from: ['.husky', 'pre-commit'], to: ['.husky', 'pre-commit']},
144
174
  {from: ['.releaserc.json'], to: '.releaserc.json'},
175
+ {from: ['npmrc'], to: '.npmrc'},
145
176
  {from: ['commitlint.template.js'], to: 'commitlint.config.js'},
146
177
  {from: ['lint-staged.template.js'], to: 'lint-staged.config.js'},
147
178
  ].map((fromTo) => ({