@sanity/plugin-kit 0.0.1-studio-v3.1

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.
Files changed (194) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +398 -0
  3. package/assets/splat/LICENSE +21 -0
  4. package/assets/splat/editorconfig +13 -0
  5. package/assets/splat/eslint.config.js +5 -0
  6. package/assets/splat/gitignore +55 -0
  7. package/assets/splat/npmignore +9 -0
  8. package/assets/splat/prettierrc.js +6 -0
  9. package/assets/splat/sanity.json +8 -0
  10. package/assets/splat/template-tsconfig.json +23 -0
  11. package/assets/splat/v2-incompatible.js.template +11 -0
  12. package/lib/package.json +127 -0
  13. package/lib/src/actions/init.d.ts +65 -0
  14. package/lib/src/actions/init.js +83 -0
  15. package/lib/src/actions/init.js.map +1 -0
  16. package/lib/src/actions/link-watch.d.ts +3 -0
  17. package/lib/src/actions/link-watch.js +69 -0
  18. package/lib/src/actions/link-watch.js.map +1 -0
  19. package/lib/src/actions/splat.d.ts +26 -0
  20. package/lib/src/actions/splat.js +296 -0
  21. package/lib/src/actions/splat.js.map +1 -0
  22. package/lib/src/actions/verify/types.d.ts +77 -0
  23. package/lib/src/actions/verify/types.js +3 -0
  24. package/lib/src/actions/verify/types.js.map +1 -0
  25. package/lib/src/actions/verify/validations.d.ts +28 -0
  26. package/lib/src/actions/verify/validations.js +379 -0
  27. package/lib/src/actions/verify/validations.js.map +1 -0
  28. package/lib/src/actions/verify/verify-common.d.ts +43 -0
  29. package/lib/src/actions/verify/verify-common.js +88 -0
  30. package/lib/src/actions/verify/verify-common.js.map +1 -0
  31. package/lib/src/actions/verify-package.d.ts +5 -0
  32. package/lib/src/actions/verify-package.js +72 -0
  33. package/lib/src/actions/verify-package.js.map +1 -0
  34. package/lib/src/actions/verify-studio.d.ts +5 -0
  35. package/lib/src/actions/verify-studio.js +55 -0
  36. package/lib/src/actions/verify-studio.js.map +1 -0
  37. package/lib/src/actions/verify.d.ts +0 -0
  38. package/lib/src/actions/verify.js +330 -0
  39. package/lib/src/actions/verify.js.map +1 -0
  40. package/lib/src/cli.d.ts +2 -0
  41. package/lib/src/cli.js +86 -0
  42. package/lib/src/cli.js.map +1 -0
  43. package/lib/src/cmds/index.d.ts +8 -0
  44. package/lib/src/cmds/index.js +12 -0
  45. package/lib/src/cmds/index.js.map +1 -0
  46. package/lib/src/cmds/init.d.ts +4 -0
  47. package/lib/src/cmds/init.js +90 -0
  48. package/lib/src/cmds/init.js.map +1 -0
  49. package/lib/src/cmds/link-watch.d.ts +4 -0
  50. package/lib/src/cmds/link-watch.js +49 -0
  51. package/lib/src/cmds/link-watch.js.map +1 -0
  52. package/lib/src/cmds/splat.d.ts +4 -0
  53. package/lib/src/cmds/splat.js +63 -0
  54. package/lib/src/cmds/splat.js.map +1 -0
  55. package/lib/src/cmds/verify-package.d.ts +4 -0
  56. package/lib/src/cmds/verify-package.js +38 -0
  57. package/lib/src/cmds/verify-package.js.map +1 -0
  58. package/lib/src/cmds/verify-studio.d.ts +4 -0
  59. package/lib/src/cmds/verify-studio.js +38 -0
  60. package/lib/src/cmds/verify-studio.js.map +1 -0
  61. package/lib/src/cmds/verify.d.ts +0 -0
  62. package/lib/src/cmds/verify.js +42 -0
  63. package/lib/src/cmds/verify.js.map +1 -0
  64. package/lib/src/cmds/version.d.ts +4 -0
  65. package/lib/src/cmds/version.js +55 -0
  66. package/lib/src/cmds/version.js.map +1 -0
  67. package/lib/src/configs/buildExtensions.d.ts +1 -0
  68. package/lib/src/configs/buildExtensions.js +5 -0
  69. package/lib/src/configs/buildExtensions.js.map +1 -0
  70. package/lib/src/configs/default-source.d.ts +3 -0
  71. package/lib/src/configs/default-source.js +70 -0
  72. package/lib/src/configs/default-source.js.map +1 -0
  73. package/lib/src/configs/merged-packages.d.ts +1 -0
  74. package/lib/src/configs/merged-packages.js +24 -0
  75. package/lib/src/configs/merged-packages.js.map +1 -0
  76. package/lib/src/configs/uselessFiles.d.ts +1 -0
  77. package/lib/src/configs/uselessFiles.js +33 -0
  78. package/lib/src/configs/uselessFiles.js.map +1 -0
  79. package/lib/src/constants.d.ts +11 -0
  80. package/lib/src/constants.js +15 -0
  81. package/lib/src/constants.js.map +1 -0
  82. package/lib/src/dependencies/find.d.ts +0 -0
  83. package/lib/src/dependencies/find.js +195 -0
  84. package/lib/src/dependencies/find.js.map +1 -0
  85. package/lib/src/dependencies/import-linter.d.ts +3 -0
  86. package/lib/src/dependencies/import-linter.js +112 -0
  87. package/lib/src/dependencies/import-linter.js.map +1 -0
  88. package/lib/src/index.d.ts +2 -0
  89. package/lib/src/index.js +6 -0
  90. package/lib/src/index.js.map +1 -0
  91. package/lib/src/npm/manager.d.ts +7 -0
  92. package/lib/src/npm/manager.js +62 -0
  93. package/lib/src/npm/manager.js.map +1 -0
  94. package/lib/src/npm/package.d.ts +8 -0
  95. package/lib/src/npm/package.js +288 -0
  96. package/lib/src/npm/package.js.map +1 -0
  97. package/lib/src/npm/publish.d.ts +1 -0
  98. package/lib/src/npm/publish.js +14 -0
  99. package/lib/src/npm/publish.js.map +1 -0
  100. package/lib/src/npm/resolveLatestVersions.d.ts +3 -0
  101. package/lib/src/npm/resolveLatestVersions.js +35 -0
  102. package/lib/src/npm/resolveLatestVersions.js.map +1 -0
  103. package/lib/src/sanity/manifest.d.ts +48 -0
  104. package/lib/src/sanity/manifest.js +263 -0
  105. package/lib/src/sanity/manifest.js.map +1 -0
  106. package/lib/src/sharedFlags.d.ts +15 -0
  107. package/lib/src/sharedFlags.js +17 -0
  108. package/lib/src/sharedFlags.js.map +1 -0
  109. package/lib/src/util/command-parser.d.ts +9 -0
  110. package/lib/src/util/command-parser.js +41 -0
  111. package/lib/src/util/command-parser.js.map +1 -0
  112. package/lib/src/util/errorToUndefined.d.ts +1 -0
  113. package/lib/src/util/errorToUndefined.js +11 -0
  114. package/lib/src/util/errorToUndefined.js.map +1 -0
  115. package/lib/src/util/files.d.ts +36 -0
  116. package/lib/src/util/files.js +253 -0
  117. package/lib/src/util/files.js.map +1 -0
  118. package/lib/src/util/log.d.ts +14 -0
  119. package/lib/src/util/log.js +36 -0
  120. package/lib/src/util/log.js.map +1 -0
  121. package/lib/src/util/prompt.d.ts +13 -0
  122. package/lib/src/util/prompt.js +75 -0
  123. package/lib/src/util/prompt.js.map +1 -0
  124. package/lib/src/util/readme.d.ts +5 -0
  125. package/lib/src/util/readme.js +73 -0
  126. package/lib/src/util/readme.js.map +1 -0
  127. package/lib/src/util/request.d.ts +1 -0
  128. package/lib/src/util/request.js +19 -0
  129. package/lib/src/util/request.js.map +1 -0
  130. package/lib/src/util/user.d.ts +10 -0
  131. package/lib/src/util/user.js +106 -0
  132. package/lib/src/util/user.js.map +1 -0
  133. package/lib/test/cli.test.d.ts +1 -0
  134. package/lib/test/cli.test.js +64 -0
  135. package/lib/test/cli.test.js.map +1 -0
  136. package/lib/test/fixture-utils.d.ts +25 -0
  137. package/lib/test/fixture-utils.js +67 -0
  138. package/lib/test/fixture-utils.js.map +1 -0
  139. package/lib/test/init-verify-build.test.d.ts +1 -0
  140. package/lib/test/init-verify-build.test.js +75 -0
  141. package/lib/test/init-verify-build.test.js.map +1 -0
  142. package/lib/test/init.test.d.ts +1 -0
  143. package/lib/test/init.test.js +137 -0
  144. package/lib/test/init.test.js.map +1 -0
  145. package/lib/test/run-test-command.d.ts +1 -0
  146. package/lib/test/run-test-command.js +6 -0
  147. package/lib/test/run-test-command.js.map +1 -0
  148. package/lib/test/verify-package.test.d.ts +1 -0
  149. package/lib/test/verify-package.test.js +81 -0
  150. package/lib/test/verify-package.test.js.map +1 -0
  151. package/lib/test/version.test.d.ts +1 -0
  152. package/lib/test/version.test.js +48 -0
  153. package/lib/test/version.test.js.map +1 -0
  154. package/package.json +127 -0
  155. package/src/actions/init.ts +104 -0
  156. package/src/actions/link-watch.ts +74 -0
  157. package/src/actions/splat.ts +366 -0
  158. package/src/actions/verify/types.ts +84 -0
  159. package/src/actions/verify/validations.ts +401 -0
  160. package/src/actions/verify/verify-common.ts +92 -0
  161. package/src/actions/verify-package.ts +87 -0
  162. package/src/actions/verify-studio.ts +55 -0
  163. package/src/actions/verify.ts +328 -0
  164. package/src/cli.ts +77 -0
  165. package/src/cmds/index.ts +9 -0
  166. package/src/cmds/init.ts +85 -0
  167. package/src/cmds/link-watch.ts +51 -0
  168. package/src/cmds/splat.ts +59 -0
  169. package/src/cmds/verify-package.ts +36 -0
  170. package/src/cmds/verify-studio.ts +36 -0
  171. package/src/cmds/verify.ts +40 -0
  172. package/src/cmds/version.ts +67 -0
  173. package/src/configs/buildExtensions.ts +1 -0
  174. package/src/configs/default-source.ts +68 -0
  175. package/src/configs/merged-packages.ts +20 -0
  176. package/src/configs/uselessFiles.ts +29 -0
  177. package/src/constants.ts +13 -0
  178. package/src/dependencies/find.ts +193 -0
  179. package/src/dependencies/import-linter.ts +103 -0
  180. package/src/index.ts +4 -0
  181. package/src/npm/manager.ts +44 -0
  182. package/src/npm/package.ts +370 -0
  183. package/src/npm/publish.ts +9 -0
  184. package/src/npm/resolveLatestVersions.ts +26 -0
  185. package/src/sanity/manifest.ts +340 -0
  186. package/src/sharedFlags.ts +14 -0
  187. package/src/util/command-parser.ts +31 -0
  188. package/src/util/errorToUndefined.ts +7 -0
  189. package/src/util/files.ts +249 -0
  190. package/src/util/log.ts +44 -0
  191. package/src/util/prompt.ts +70 -0
  192. package/src/util/readme.ts +72 -0
  193. package/src/util/request.ts +13 -0
  194. package/src/util/user.ts +110 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/util/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const path_1 = __importDefault(require("path"));
16
+ const tap_1 = __importDefault(require("tap"));
17
+ const fixture_utils_1 = require("./fixture-utils");
18
+ const constants_1 = require("../src/constants");
19
+ const normalize = (dirPath) => dirPath.replace(/\//g, path_1.default.sep);
20
+ const helpString = 'These are common commands used in various situations';
21
+ tap_1.default.test('shows help if no command is given', (t) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('', []);
23
+ t.equal(exitCode, 2, 'should have exit code 2');
24
+ t.equal(stderr, '');
25
+ t.match(stdout, helpString);
26
+ t.match(stdout, constants_1.cliName);
27
+ }));
28
+ tap_1.default.test('shows error + help on unknown commands', (t) => __awaiter(void 0, void 0, void 0, function* () {
29
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('does-not-exist', []);
30
+ t.equal(exitCode, 2, 'should have exit code 2');
31
+ t.equal(stderr, 'Unknown command "does-not-exist"');
32
+ t.match(stdout, helpString);
33
+ t.match(stdout, constants_1.cliName);
34
+ }));
35
+ tap_1.default.test('shows error + help when using both --silent and --verbose', (t) => __awaiter(void 0, void 0, void 0, function* () {
36
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', ['--silent', '--verbose'], {
37
+ reject: false,
38
+ });
39
+ t.equal(exitCode, 2, 'should have exit code 2');
40
+ t.match(stderr, '--silent and --verbose are mutually exclusive');
41
+ t.match(stdout, helpString);
42
+ t.match(stdout, constants_1.cliName);
43
+ }));
44
+ tap_1.default.test('shows no stack trace without --debug', (t) => __awaiter(void 0, void 0, void 0, function* () {
45
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', ['--major', '--minor'], {
46
+ reject: false,
47
+ });
48
+ t.equal(exitCode, 1, 'should have exit code 1');
49
+ t.equal(stdout, '', 'should have empty stdout');
50
+ t.match(stderr, 'only one can be used at a time');
51
+ t.notMatch(stderr, normalize('/cmds/version.js:'));
52
+ }));
53
+ tap_1.default.test('shows stack trace with --debug', (t) => __awaiter(void 0, void 0, void 0, function* () {
54
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', [
55
+ '--debug',
56
+ '--major',
57
+ '--minor',
58
+ ]);
59
+ t.equal(exitCode, 1, 'should have exit code 1');
60
+ t.equal(stdout, '', 'should have empty stdout');
61
+ t.match(stderr, 'only one can be used at a time');
62
+ t.match(stderr, path_1.default.normalize('/cmds/version.ts'));
63
+ }));
64
+ //# sourceMappingURL=cli.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../test/cli.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /// <reference types="node" />
2
+ import execa from 'execa';
3
+ import fs from 'fs';
4
+ import { EntryInfo } from 'readdirp';
5
+ export declare const readFileRaw: typeof fs.readFile.__promisify__;
6
+ export declare const readFile: (file: string) => Promise<string>;
7
+ export declare const onlyPaths: (files: EntryInfo[]) => string[];
8
+ export declare const contents: (dir: string) => Promise<string[]>;
9
+ export declare const normalize: (dirPath: string) => string;
10
+ export declare const pluginTestName = "sanity-plugin-test-plugin";
11
+ export declare const initTestArgs: string[];
12
+ export declare function testFixture({ fixturePath, relativeOutPath, command, assert, }: {
13
+ fixturePath: string;
14
+ relativeOutPath?: string;
15
+ command: (args: {
16
+ fixtureDir: string;
17
+ outputDir: string;
18
+ }) => Promise<execa.ExecaReturnValue>;
19
+ assert: (args: {
20
+ result: execa.ExecaReturnValue;
21
+ outputDir: string;
22
+ }) => Promise<void>;
23
+ }): Promise<void>;
24
+ export declare function fileContainsValidator(t: any, outputDir: string): (file: string, ...contains: string[]) => Promise<void>;
25
+ export declare function runCliCommand(command: string, args?: string[], options?: execa.Options): execa.ExecaChildProcess<string>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.runCliCommand = exports.fileContainsValidator = exports.testFixture = exports.initTestArgs = exports.pluginTestName = exports.normalize = exports.contents = exports.onlyPaths = exports.readFile = exports.readFileRaw = void 0;
16
+ const execa_1 = __importDefault(require("execa"));
17
+ const path_1 = __importDefault(require("path"));
18
+ const util_1 = __importDefault(require("util"));
19
+ const fs_1 = __importDefault(require("fs"));
20
+ const readdirp_1 = __importDefault(require("readdirp"));
21
+ const rimraf = util_1.default.promisify(require('rimraf'));
22
+ const baseFixturesDir = path_1.default.join(__dirname, 'fixtures');
23
+ exports.readFileRaw = util_1.default.promisify(fs_1.default.readFile);
24
+ const readFile = (file) => (0, exports.readFileRaw)(file, 'utf8');
25
+ exports.readFile = readFile;
26
+ const onlyPaths = (files) => files.map((file) => file.path);
27
+ exports.onlyPaths = onlyPaths;
28
+ const contents = (dir) => readdirp_1.default.promise(dir).then(exports.onlyPaths);
29
+ exports.contents = contents;
30
+ const normalize = (dirPath) => dirPath.replace(/\//g, path_1.default.sep);
31
+ exports.normalize = normalize;
32
+ exports.pluginTestName = 'sanity-plugin-test-plugin';
33
+ exports.initTestArgs = [
34
+ '--force',
35
+ '--no-install',
36
+ '--name',
37
+ exports.pluginTestName,
38
+ '--license',
39
+ 'mit',
40
+ '--author',
41
+ 'Test Person <test.person@somewhere-on-the-internet.nowhere>',
42
+ '--repo',
43
+ 'https://github.com/sanity-io/sanity',
44
+ ];
45
+ function testFixture({ fixturePath, relativeOutPath = 'lib', command, assert, }) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ const fixtureDir = path_1.default.join(baseFixturesDir, (0, exports.normalize)(fixturePath));
48
+ const outputDir = path_1.default.join(fixtureDir, (0, exports.normalize)(relativeOutPath));
49
+ yield rimraf(outputDir);
50
+ const result = yield command({ fixtureDir, outputDir });
51
+ yield assert({ result, outputDir });
52
+ yield rimraf(outputDir);
53
+ });
54
+ }
55
+ exports.testFixture = testFixture;
56
+ function fileContainsValidator(t /* tap types cannot be imported? :shrug: */, outputDir) {
57
+ return (file, ...contains) => __awaiter(this, void 0, void 0, function* () {
58
+ const fileString = yield (0, exports.readFile)(path_1.default.join(outputDir, (0, exports.normalize)(file)));
59
+ contains.forEach((content) => t.match(fileString, content, `${file} contains ${content}`));
60
+ });
61
+ }
62
+ exports.fileContainsValidator = fileContainsValidator;
63
+ function runCliCommand(command, args = [], options) {
64
+ return (0, execa_1.default)('ts-node', ['run-test-command.ts', command, ...args], Object.assign({ cwd: __dirname, reject: false }, options));
65
+ }
66
+ exports.runCliCommand = runCliCommand;
67
+ //# sourceMappingURL=fixture-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixture-utils.js","sourceRoot":"","sources":["../../test/fixture-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const path_1 = __importDefault(require("path"));
16
+ const execa_1 = __importDefault(require("execa"));
17
+ const tap_1 = __importDefault(require("tap"));
18
+ const fixture_utils_1 = require("./fixture-utils");
19
+ const outdent_1 = __importDefault(require("outdent"));
20
+ tap_1.default.test('plugin-kit init -> verify-package -> tsc > parcel build', (t) => __awaiter(void 0, void 0, void 0, function* () {
21
+ yield (0, fixture_utils_1.testFixture)({
22
+ fixturePath: 'init/empty',
23
+ relativeOutPath: 'buildable',
24
+ command: ({ outputDir }) => __awaiter(void 0, void 0, void 0, function* () {
25
+ // using console.error: we want these logged continuously to not surprise devs on the runtime
26
+ console.error('Integration testing init -> verify-package -> tsc -> build.\nThis may take a while...');
27
+ let start = new Date().getTime();
28
+ function seconds() {
29
+ return `${(new Date().getTime() - start) / 1000}s`;
30
+ }
31
+ const init = yield (0, fixture_utils_1.runCliCommand)('init', [outputDir, ...fixture_utils_1.initTestArgs]);
32
+ console.error(`"plugin-kit init" done in ${seconds()}.\nRunning "plugin-kit verify-package"...`);
33
+ start = new Date().getTime();
34
+ const verify = yield (0, fixture_utils_1.runCliCommand)('verify-package', [outputDir]);
35
+ console.error(`"plugin-kit verify-package" done in ${seconds()}.\nRunning "tcs --noEmit"...`);
36
+ start = new Date().getTime();
37
+ const tsc = yield (0, execa_1.default)('tsc', ['--noEmit'], { cwd: outputDir });
38
+ console.error(`"tsc --noEmit" done in ${seconds()}.\nRunning "parcel build"...`);
39
+ start = new Date().getTime();
40
+ const build = yield (0, execa_1.default)('parcel', ['build'], { cwd: outputDir });
41
+ console.error(`"parcel build" done in ${seconds()}.`);
42
+ return {
43
+ stdout: (0, outdent_1.default) `
44
+ ${init.stdout}
45
+ ${verify.stdout}
46
+ ${tsc.stdout}
47
+ ${build.stdout}
48
+ `,
49
+ stderr: (0, outdent_1.default) `
50
+ ${init.stderr}
51
+ ${verify.stderr}
52
+ ${tsc.stderr}
53
+ ${build.stderr}
54
+ `,
55
+ };
56
+ }),
57
+ assert: ({ result: { stdout, stderr }, outputDir }) => __awaiter(void 0, void 0, void 0, function* () {
58
+ const trimmedErrors = stderr
59
+ .split('\n')
60
+ .filter((line) => !line.trim()) // remove empty lines
61
+ .join('\n')
62
+ .trim();
63
+ t.equal(trimmedErrors, '', 'should have empty stderr');
64
+ t.strictSame(yield (0, fixture_utils_1.contents)(path_1.default.join(outputDir, 'lib')), [
65
+ 'types/index.d.ts',
66
+ 'types/index.d.ts.map',
67
+ 'esm/index.js',
68
+ 'esm/index.js.map',
69
+ 'cjs/index.js',
70
+ 'cjs/index.js.map',
71
+ ].map(fixture_utils_1.normalize), 'should output expected files to lib');
72
+ }),
73
+ });
74
+ }));
75
+ //# sourceMappingURL=init-verify-build.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-verify-build.test.js","sourceRoot":"","sources":["../../test/init-verify-build.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const tap_1 = __importDefault(require("tap"));
16
+ const fixture_utils_1 = require("./fixture-utils");
17
+ const path_1 = __importDefault(require("path"));
18
+ const files_1 = require("../src/util/files");
19
+ const constants_1 = require("../src/constants");
20
+ tap_1.default.test('plugin-kit init --force in empty directory', (t) => __awaiter(void 0, void 0, void 0, function* () {
21
+ yield (0, fixture_utils_1.testFixture)({
22
+ fixturePath: 'init/empty',
23
+ relativeOutPath: 'defaults',
24
+ command: ({ outputDir }) => (0, fixture_utils_1.runCliCommand)('init', [outputDir, ...fixture_utils_1.initTestArgs]),
25
+ assert: ({ result: { stdout, stderr }, outputDir }) => __awaiter(void 0, void 0, void 0, function* () {
26
+ var _a, _b, _c;
27
+ t.equal(stderr, '', 'should have empty stderr');
28
+ t.match(stdout, `Initializing new plugin in "${outputDir}"`);
29
+ const fileContains = (0, fixture_utils_1.fileContainsValidator)(t, outputDir);
30
+ yield fileContains('LICENSE', 'MIT');
31
+ yield fileContains('README.md', `# ${fixture_utils_1.pluginTestName}`);
32
+ yield fileContains('.gitignore', 'lib', '.parcel-cache');
33
+ yield fileContains('.eslintrc', 'sanity', 'sanity/typescript', 'sanity/react', 'plugin:react-hooks/recommended', 'plugin:prettier/recommended');
34
+ yield fileContains('.npmignore', '/test');
35
+ yield fileContains('.prettierrc.js', 'semi: false');
36
+ yield fileContains('sanity.json', '"path": "./v2-incompatible.js"');
37
+ yield fileContains('v2-incompatible.js', 'showIncompatiblePluginDialog');
38
+ yield fileContains('tsconfig.json', '"target": "esnext"');
39
+ yield fileContains('src/index.ts', `name: '${fixture_utils_1.pluginTestName}'`);
40
+ const pkg = JSON.parse(yield (0, fixture_utils_1.readFile)(path_1.default.join(outputDir, 'package.json')));
41
+ t.has(pkg, {
42
+ name: fixture_utils_1.pluginTestName,
43
+ version: '1.0.0',
44
+ description: '',
45
+ // author: 'Omitted from validation',
46
+ license: 'MIT',
47
+ source: './src/index.ts',
48
+ main: './lib/cjs/index.js',
49
+ module: './lib/esm/index.js',
50
+ types: './lib/types/index.d.ts',
51
+ exports: {
52
+ '.': {
53
+ require: './lib/cjs/index.js',
54
+ default: './lib/esm/index.js',
55
+ },
56
+ },
57
+ files: ['src', 'lib', 'v2-incompatible.js', 'sanity.json'],
58
+ scripts: {
59
+ clean: 'rimraf lib',
60
+ lint: 'eslint .',
61
+ prebuild: 'npm run clean && plugin-kit verify-package --silent',
62
+ build: 'parcel build',
63
+ watch: 'parcel watch',
64
+ 'link-watch': 'plugin-kit link-watch',
65
+ prepublishOnly: 'npm run build',
66
+ },
67
+ repository: {
68
+ type: 'git',
69
+ url: 'https://github.com/sanity-io/sanity',
70
+ },
71
+ engines: {
72
+ node: '>=14.0.0',
73
+ },
74
+ bugs: {
75
+ url: 'https://github.com/sanity-io/sanity/issues',
76
+ },
77
+ homepage: 'https://github.com/sanity-io/sanity#readme',
78
+ }, 'package.json has expected content');
79
+ t.strictSame(Object.keys((_a = pkg.dependencies) !== null && _a !== void 0 ? _a : {}), [constants_1.incompatiblePluginPackage], 'should have empty dependencies');
80
+ t.strictSame(Object.keys((_b = pkg.peerDependencies) !== null && _b !== void 0 ? _b : {}), ['react', 'sanity'], 'should have expected peerDependencies');
81
+ t.strictSame(Object.keys((_c = pkg.devDependencies) !== null && _c !== void 0 ? _c : {}), [
82
+ '@sanity/plugin-kit',
83
+ '@typescript-eslint/eslint-plugin',
84
+ '@typescript-eslint/parser',
85
+ 'eslint',
86
+ 'eslint-config-prettier',
87
+ 'eslint-config-sanity',
88
+ 'eslint-plugin-prettier',
89
+ 'eslint-plugin-react',
90
+ 'eslint-plugin-react-hooks',
91
+ 'parcel',
92
+ 'prettier',
93
+ 'react',
94
+ 'rimraf',
95
+ 'sanity',
96
+ 'typescript',
97
+ ], 'should have expected devDependencies');
98
+ }),
99
+ });
100
+ }));
101
+ tap_1.default.test('plugin-kit init --force with all the opt-outs in empty directory', (t) => __awaiter(void 0, void 0, void 0, function* () {
102
+ yield (0, fixture_utils_1.testFixture)({
103
+ fixturePath: 'init/empty',
104
+ relativeOutPath: 'opt-out',
105
+ command: ({ outputDir }) => (0, fixture_utils_1.runCliCommand)('init', [
106
+ outputDir,
107
+ ...fixture_utils_1.initTestArgs.filter((a) => a !== '--license' && a !== 'mit'),
108
+ '--no-install',
109
+ '--no-eslint',
110
+ '--no-prettier',
111
+ '--no-typescript',
112
+ '--no-license',
113
+ '--no-editorconfig',
114
+ '--no-gitignore',
115
+ '--no-scripts',
116
+ ]),
117
+ assert: ({ result: { stdout, stderr }, outputDir }) => __awaiter(void 0, void 0, void 0, function* () {
118
+ var _d, _e, _f;
119
+ t.equal(stderr, '', 'should have empty stderr');
120
+ t.match(stdout, `Initializing new plugin in "${outputDir}"`);
121
+ const fileContains = (0, fixture_utils_1.fileContainsValidator)(t, outputDir);
122
+ const expectNotExist = (file) => __awaiter(void 0, void 0, void 0, function* () { return t.notOk(yield (0, files_1.fileExists)(path_1.default.join(outputDir, (0, fixture_utils_1.normalize)(file))), `${file} should not exist`); });
123
+ yield expectNotExist('LICENSE');
124
+ yield expectNotExist('.eslintrc');
125
+ yield expectNotExist('.gitignore');
126
+ yield expectNotExist('.prettierrc.js');
127
+ yield expectNotExist('tsconfig.json');
128
+ yield fileContains('src/index.js', `name: '${fixture_utils_1.pluginTestName}'`);
129
+ const pkg = JSON.parse(yield (0, fixture_utils_1.readFile)(path_1.default.join(outputDir, 'package.json')));
130
+ t.same(pkg.scripts, {}, 'scripts should be an empty object');
131
+ t.strictSame(Object.keys((_d = pkg.dependencies) !== null && _d !== void 0 ? _d : {}), [constants_1.incompatiblePluginPackage], 'should have empty dependencies');
132
+ t.strictSame(Object.keys((_e = pkg.peerDependencies) !== null && _e !== void 0 ? _e : {}), ['react', 'sanity'], 'should have expected peerDependencies');
133
+ t.strictSame(Object.keys((_f = pkg.devDependencies) !== null && _f !== void 0 ? _f : {}), ['@sanity/plugin-kit', 'parcel', 'react', 'rimraf', 'sanity'], 'should have expected devDependencies');
134
+ }),
135
+ });
136
+ }));
137
+ //# sourceMappingURL=init.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../test/init.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const cli_1 = require("../src/cli");
4
+ // ts-node <script> get sliced away, just like node <command> will be, so we can pass process.argv directly
5
+ (0, cli_1.cliEntry)(process.argv, false);
6
+ //# sourceMappingURL=run-test-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-test-command.js","sourceRoot":"","sources":["../../test/run-test-command.ts"],"names":[],"mappings":";;AAAA,oCAAmC;AAEnC,2GAA2G;AAC3G,IAAA,cAAQ,EAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const tap_1 = __importDefault(require("tap"));
16
+ const fixture_utils_1 = require("./fixture-utils");
17
+ const verify_common_1 = require("../src/actions/verify/verify-common");
18
+ tap_1.default.test('plugin-kit verify-package in package with all checks failing', (t) => __awaiter(void 0, void 0, void 0, function* () {
19
+ yield (0, fixture_utils_1.testFixture)({
20
+ fixturePath: 'verify-package/every-failure-possible',
21
+ command: ({ fixtureDir }) => (0, fixture_utils_1.runCliCommand)('verify-package', [fixtureDir]),
22
+ assert: ({ result: { stderr } }) => __awaiter(void 0, void 0, void 0, function* () {
23
+ const redactFilePaths = cleanupOutput(stderr, /[\S]+verify-package\/every-failure-possible\//g);
24
+ // to regenerate the snapshot, in root dir run:
25
+ // tap test/verify-package.test.ts --snapshot
26
+ t.matchSnapshot(redactFilePaths, 'stderr should match snapshot');
27
+ // checks that output contains the "skip this validation" snippet for every possible relevant key
28
+ // will fail when new checks are added that we may or may not want to account for
29
+ Object.keys(verify_common_1.verifyPackageConfigDefaults)
30
+ .filter((key) => !['tsc', 'studioConfig'].includes(key))
31
+ .forEach((checkKey) => {
32
+ const findString = `"${checkKey}": false`;
33
+ t.ok(stderr.includes(findString), `should include ${findString} in stderr`);
34
+ });
35
+ }),
36
+ });
37
+ }));
38
+ tap_1.default.test('plugin-kit verify-package in ok package', (t) => __awaiter(void 0, void 0, void 0, function* () {
39
+ yield (0, fixture_utils_1.testFixture)({
40
+ fixturePath: 'verify-package/valid',
41
+ command: ({ fixtureDir }) => (0, fixture_utils_1.runCliCommand)('verify-package', [fixtureDir]),
42
+ assert: ({ result: { stdout, stderr } }) => __awaiter(void 0, void 0, void 0, function* () {
43
+ t.equal(stderr, '', 'stderr should be empty');
44
+ // to regenerate the snapshot, in root dir run:
45
+ // tap test/verify-package.test.ts --snapshot
46
+ const redactFilePaths = cleanupOutput(stdout, /[\S]+verify-package\/valid\//g);
47
+ t.matchSnapshot(redactFilePaths, 'stdout should match snapshot');
48
+ }),
49
+ });
50
+ }));
51
+ tap_1.default.test('plugin-kit verify-package in package with invalid eslint config', (t) => __awaiter(void 0, void 0, void 0, function* () {
52
+ yield (0, fixture_utils_1.testFixture)({
53
+ fixturePath: 'verify-package/invalid-eslint',
54
+ command: ({ fixtureDir }) => (0, fixture_utils_1.runCliCommand)('verify-package', [fixtureDir]),
55
+ assert: ({ result: { stdout, stderr }, outputDir }) => __awaiter(void 0, void 0, void 0, function* () {
56
+ // to regenerate the snapshot, in root dir run:
57
+ // tap test/verify-package.test.ts --snapshot
58
+ const redactFilePaths = cleanupOutput(stderr, /[\S]+verify-package\/invalid-eslint\//g);
59
+ t.matchSnapshot(redactFilePaths, 'stderr should match snapshot');
60
+ }),
61
+ });
62
+ }));
63
+ tap_1.default.test('plugin-kit verify-studio in fresh v2 studio', (t) => __awaiter(void 0, void 0, void 0, function* () {
64
+ yield (0, fixture_utils_1.testFixture)({
65
+ fixturePath: 'verify-package/fresh-v2-movie-studio',
66
+ command: ({ fixtureDir }) => (0, fixture_utils_1.runCliCommand)('verify-studio', [fixtureDir]),
67
+ assert: ({ result: { stdout, stderr } }) => __awaiter(void 0, void 0, void 0, function* () {
68
+ // to regenerate the snapshot, in root dir run:
69
+ // tap test/verify-packag'e.test.ts --snapshot
70
+ const redactFilePaths = cleanupOutput(stderr, /[\S]+verify-package\/fresh-v2-movie-studio\//g);
71
+ t.matchSnapshot(redactFilePaths, 'stderr should match snapshot');
72
+ }),
73
+ });
74
+ }));
75
+ function cleanupOutput(val, packagePath) {
76
+ return val
77
+ .replace(packagePath, 'root/')
78
+ .replace(/\((.+)\/node_modules\//g, 'root/node_modules/')
79
+ .replace(/\[\d+m/g, '');
80
+ }
81
+ //# sourceMappingURL=verify-package.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-package.test.js","sourceRoot":"","sources":["../../test/verify-package.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const tap_1 = __importDefault(require("tap"));
16
+ const package_json_1 = __importDefault(require("../package.json"));
17
+ const fixture_utils_1 = require("./fixture-utils");
18
+ tap_1.default.test('shows full version if no flag is given', (t) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', []);
20
+ t.equal(exitCode, 0, 'should have exit code 0');
21
+ t.equal(stderr, '', 'stderr should be empty');
22
+ t.equal(stdout, `${package_json_1.default.name} version ${package_json_1.default.version}`);
23
+ }));
24
+ tap_1.default.test('shows major version if --major is given', (t) => __awaiter(void 0, void 0, void 0, function* () {
25
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', ['--major']);
26
+ t.equal(exitCode, 0, 'should have exit code 0');
27
+ t.equal(stderr, '', 'stderr should be empty');
28
+ t.equal(stdout, package_json_1.default.version.split('.')[0]);
29
+ }));
30
+ tap_1.default.test('shows minor version if --minor is given', (t) => __awaiter(void 0, void 0, void 0, function* () {
31
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', ['--minor']);
32
+ t.equal(exitCode, 0, 'should have exit code 0');
33
+ t.equal(stderr, '', 'stderr should be empty');
34
+ t.equal(stdout, package_json_1.default.version.split('.')[1]);
35
+ }));
36
+ tap_1.default.test('shows patch version if --patch is given', (t) => __awaiter(void 0, void 0, void 0, function* () {
37
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', ['--patch']);
38
+ t.equal(exitCode, 0, 'should have exit code 0');
39
+ t.equal(stderr, '', 'stderr should be empty');
40
+ t.equal(stdout, package_json_1.default.version.split('.')[2]);
41
+ }));
42
+ tap_1.default.test('throws if two version flags are given', (t) => __awaiter(void 0, void 0, void 0, function* () {
43
+ const { stdout, stderr, exitCode } = yield (0, fixture_utils_1.runCliCommand)('version', ['--major', '--minor']);
44
+ t.equal(exitCode, 1, 'exit code should be 1');
45
+ t.equal(stdout, '', 'stdout should be empty');
46
+ t.match(stderr, 'only one can be used at a time');
47
+ }));
48
+ //# sourceMappingURL=version.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.test.js","sourceRoot":"","sources":["../../test/version.test.ts"],"names":[],"mappings":"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"}