@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.
- package/LICENSE +22 -0
- package/README.md +398 -0
- package/assets/splat/LICENSE +21 -0
- package/assets/splat/editorconfig +13 -0
- package/assets/splat/eslint.config.js +5 -0
- package/assets/splat/gitignore +55 -0
- package/assets/splat/npmignore +9 -0
- package/assets/splat/prettierrc.js +6 -0
- package/assets/splat/sanity.json +8 -0
- package/assets/splat/template-tsconfig.json +23 -0
- package/assets/splat/v2-incompatible.js.template +11 -0
- package/lib/package.json +127 -0
- package/lib/src/actions/init.d.ts +65 -0
- package/lib/src/actions/init.js +83 -0
- package/lib/src/actions/init.js.map +1 -0
- package/lib/src/actions/link-watch.d.ts +3 -0
- package/lib/src/actions/link-watch.js +69 -0
- package/lib/src/actions/link-watch.js.map +1 -0
- package/lib/src/actions/splat.d.ts +26 -0
- package/lib/src/actions/splat.js +296 -0
- package/lib/src/actions/splat.js.map +1 -0
- package/lib/src/actions/verify/types.d.ts +77 -0
- package/lib/src/actions/verify/types.js +3 -0
- package/lib/src/actions/verify/types.js.map +1 -0
- package/lib/src/actions/verify/validations.d.ts +28 -0
- package/lib/src/actions/verify/validations.js +379 -0
- package/lib/src/actions/verify/validations.js.map +1 -0
- package/lib/src/actions/verify/verify-common.d.ts +43 -0
- package/lib/src/actions/verify/verify-common.js +88 -0
- package/lib/src/actions/verify/verify-common.js.map +1 -0
- package/lib/src/actions/verify-package.d.ts +5 -0
- package/lib/src/actions/verify-package.js +72 -0
- package/lib/src/actions/verify-package.js.map +1 -0
- package/lib/src/actions/verify-studio.d.ts +5 -0
- package/lib/src/actions/verify-studio.js +55 -0
- package/lib/src/actions/verify-studio.js.map +1 -0
- package/lib/src/actions/verify.d.ts +0 -0
- package/lib/src/actions/verify.js +330 -0
- package/lib/src/actions/verify.js.map +1 -0
- package/lib/src/cli.d.ts +2 -0
- package/lib/src/cli.js +86 -0
- package/lib/src/cli.js.map +1 -0
- package/lib/src/cmds/index.d.ts +8 -0
- package/lib/src/cmds/index.js +12 -0
- package/lib/src/cmds/index.js.map +1 -0
- package/lib/src/cmds/init.d.ts +4 -0
- package/lib/src/cmds/init.js +90 -0
- package/lib/src/cmds/init.js.map +1 -0
- package/lib/src/cmds/link-watch.d.ts +4 -0
- package/lib/src/cmds/link-watch.js +49 -0
- package/lib/src/cmds/link-watch.js.map +1 -0
- package/lib/src/cmds/splat.d.ts +4 -0
- package/lib/src/cmds/splat.js +63 -0
- package/lib/src/cmds/splat.js.map +1 -0
- package/lib/src/cmds/verify-package.d.ts +4 -0
- package/lib/src/cmds/verify-package.js +38 -0
- package/lib/src/cmds/verify-package.js.map +1 -0
- package/lib/src/cmds/verify-studio.d.ts +4 -0
- package/lib/src/cmds/verify-studio.js +38 -0
- package/lib/src/cmds/verify-studio.js.map +1 -0
- package/lib/src/cmds/verify.d.ts +0 -0
- package/lib/src/cmds/verify.js +42 -0
- package/lib/src/cmds/verify.js.map +1 -0
- package/lib/src/cmds/version.d.ts +4 -0
- package/lib/src/cmds/version.js +55 -0
- package/lib/src/cmds/version.js.map +1 -0
- package/lib/src/configs/buildExtensions.d.ts +1 -0
- package/lib/src/configs/buildExtensions.js +5 -0
- package/lib/src/configs/buildExtensions.js.map +1 -0
- package/lib/src/configs/default-source.d.ts +3 -0
- package/lib/src/configs/default-source.js +70 -0
- package/lib/src/configs/default-source.js.map +1 -0
- package/lib/src/configs/merged-packages.d.ts +1 -0
- package/lib/src/configs/merged-packages.js +24 -0
- package/lib/src/configs/merged-packages.js.map +1 -0
- package/lib/src/configs/uselessFiles.d.ts +1 -0
- package/lib/src/configs/uselessFiles.js +33 -0
- package/lib/src/configs/uselessFiles.js.map +1 -0
- package/lib/src/constants.d.ts +11 -0
- package/lib/src/constants.js +15 -0
- package/lib/src/constants.js.map +1 -0
- package/lib/src/dependencies/find.d.ts +0 -0
- package/lib/src/dependencies/find.js +195 -0
- package/lib/src/dependencies/find.js.map +1 -0
- package/lib/src/dependencies/import-linter.d.ts +3 -0
- package/lib/src/dependencies/import-linter.js +112 -0
- package/lib/src/dependencies/import-linter.js.map +1 -0
- package/lib/src/index.d.ts +2 -0
- package/lib/src/index.js +6 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/npm/manager.d.ts +7 -0
- package/lib/src/npm/manager.js +62 -0
- package/lib/src/npm/manager.js.map +1 -0
- package/lib/src/npm/package.d.ts +8 -0
- package/lib/src/npm/package.js +288 -0
- package/lib/src/npm/package.js.map +1 -0
- package/lib/src/npm/publish.d.ts +1 -0
- package/lib/src/npm/publish.js +14 -0
- package/lib/src/npm/publish.js.map +1 -0
- package/lib/src/npm/resolveLatestVersions.d.ts +3 -0
- package/lib/src/npm/resolveLatestVersions.js +35 -0
- package/lib/src/npm/resolveLatestVersions.js.map +1 -0
- package/lib/src/sanity/manifest.d.ts +48 -0
- package/lib/src/sanity/manifest.js +263 -0
- package/lib/src/sanity/manifest.js.map +1 -0
- package/lib/src/sharedFlags.d.ts +15 -0
- package/lib/src/sharedFlags.js +17 -0
- package/lib/src/sharedFlags.js.map +1 -0
- package/lib/src/util/command-parser.d.ts +9 -0
- package/lib/src/util/command-parser.js +41 -0
- package/lib/src/util/command-parser.js.map +1 -0
- package/lib/src/util/errorToUndefined.d.ts +1 -0
- package/lib/src/util/errorToUndefined.js +11 -0
- package/lib/src/util/errorToUndefined.js.map +1 -0
- package/lib/src/util/files.d.ts +36 -0
- package/lib/src/util/files.js +253 -0
- package/lib/src/util/files.js.map +1 -0
- package/lib/src/util/log.d.ts +14 -0
- package/lib/src/util/log.js +36 -0
- package/lib/src/util/log.js.map +1 -0
- package/lib/src/util/prompt.d.ts +13 -0
- package/lib/src/util/prompt.js +75 -0
- package/lib/src/util/prompt.js.map +1 -0
- package/lib/src/util/readme.d.ts +5 -0
- package/lib/src/util/readme.js +73 -0
- package/lib/src/util/readme.js.map +1 -0
- package/lib/src/util/request.d.ts +1 -0
- package/lib/src/util/request.js +19 -0
- package/lib/src/util/request.js.map +1 -0
- package/lib/src/util/user.d.ts +10 -0
- package/lib/src/util/user.js +106 -0
- package/lib/src/util/user.js.map +1 -0
- package/lib/test/cli.test.d.ts +1 -0
- package/lib/test/cli.test.js +64 -0
- package/lib/test/cli.test.js.map +1 -0
- package/lib/test/fixture-utils.d.ts +25 -0
- package/lib/test/fixture-utils.js +67 -0
- package/lib/test/fixture-utils.js.map +1 -0
- package/lib/test/init-verify-build.test.d.ts +1 -0
- package/lib/test/init-verify-build.test.js +75 -0
- package/lib/test/init-verify-build.test.js.map +1 -0
- package/lib/test/init.test.d.ts +1 -0
- package/lib/test/init.test.js +137 -0
- package/lib/test/init.test.js.map +1 -0
- package/lib/test/run-test-command.d.ts +1 -0
- package/lib/test/run-test-command.js +6 -0
- package/lib/test/run-test-command.js.map +1 -0
- package/lib/test/verify-package.test.d.ts +1 -0
- package/lib/test/verify-package.test.js +81 -0
- package/lib/test/verify-package.test.js.map +1 -0
- package/lib/test/version.test.d.ts +1 -0
- package/lib/test/version.test.js +48 -0
- package/lib/test/version.test.js.map +1 -0
- package/package.json +127 -0
- package/src/actions/init.ts +104 -0
- package/src/actions/link-watch.ts +74 -0
- package/src/actions/splat.ts +366 -0
- package/src/actions/verify/types.ts +84 -0
- package/src/actions/verify/validations.ts +401 -0
- package/src/actions/verify/verify-common.ts +92 -0
- package/src/actions/verify-package.ts +87 -0
- package/src/actions/verify-studio.ts +55 -0
- package/src/actions/verify.ts +328 -0
- package/src/cli.ts +77 -0
- package/src/cmds/index.ts +9 -0
- package/src/cmds/init.ts +85 -0
- package/src/cmds/link-watch.ts +51 -0
- package/src/cmds/splat.ts +59 -0
- package/src/cmds/verify-package.ts +36 -0
- package/src/cmds/verify-studio.ts +36 -0
- package/src/cmds/verify.ts +40 -0
- package/src/cmds/version.ts +67 -0
- package/src/configs/buildExtensions.ts +1 -0
- package/src/configs/default-source.ts +68 -0
- package/src/configs/merged-packages.ts +20 -0
- package/src/configs/uselessFiles.ts +29 -0
- package/src/constants.ts +13 -0
- package/src/dependencies/find.ts +193 -0
- package/src/dependencies/import-linter.ts +103 -0
- package/src/index.ts +4 -0
- package/src/npm/manager.ts +44 -0
- package/src/npm/package.ts +370 -0
- package/src/npm/publish.ts +9 -0
- package/src/npm/resolveLatestVersions.ts +26 -0
- package/src/sanity/manifest.ts +340 -0
- package/src/sharedFlags.ts +14 -0
- package/src/util/command-parser.ts +31 -0
- package/src/util/errorToUndefined.ts +7 -0
- package/src/util/files.ts +249 -0
- package/src/util/log.ts +44 -0
- package/src/util/prompt.ts +70 -0
- package/src/util/readme.ts +72 -0
- package/src/util/request.ts +13 -0
- 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":";;;;;;;;;;;;;;;AAAA,kDAAyB;AACzB,gDAAuB;AACvB,gDAAuB;AACvB,4CAAmB;AACnB,wDAA4C;AAE5C,MAAM,MAAM,GAAG,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;AAChD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AAE3C,QAAA,WAAW,GAAG,cAAI,CAAC,SAAS,CAAC,YAAE,CAAC,QAAQ,CAAC,CAAA;AAC/C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,mBAAW,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAAtD,QAAA,QAAQ,YAA8C;AAC5D,MAAM,SAAS,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAAlE,QAAA,SAAS,aAAyD;AACxE,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,kBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAA;AAAjE,QAAA,QAAQ,YAAyD;AACvE,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,cAAI,CAAC,GAAG,CAAC,CAAA;AAAjE,QAAA,SAAS,aAAwD;AAEjE,QAAA,cAAc,GAAG,2BAA2B,CAAA;AAE5C,QAAA,YAAY,GAAG;IAC1B,SAAS;IACT,cAAc;IACd,QAAQ;IACR,sBAAc;IACd,WAAW;IACX,KAAK;IACL,UAAU;IACV,6DAA6D;IAC7D,QAAQ;IACR,qCAAqC;CACtC,CAAA;AAED,SAAsB,WAAW,CAAC,EAChC,WAAW,EACX,eAAe,GAAG,KAAK,EACvB,OAAO,EACP,MAAM,GAMP;;QACC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAA,iBAAS,EAAC,WAAW,CAAC,CAAC,CAAA;QACrE,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAA,iBAAS,EAAC,eAAe,CAAC,CAAC,CAAA;QAEnE,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;QAEvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,EAAC,UAAU,EAAE,SAAS,EAAC,CAAC,CAAA;QACrD,MAAM,MAAM,CAAC,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAA;QAEjC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;CAAA;AApBD,kCAoBC;AAED,SAAgB,qBAAqB,CACnC,CAAM,CAAC,2CAA2C,EAClD,SAAiB;IAEjB,OAAO,CAAO,IAAY,EAAE,GAAG,QAAkB,EAAE,EAAE;QACnD,MAAM,UAAU,GAAG,MAAM,IAAA,gBAAQ,EAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,aAAa,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC,CAAA,CAAA;AACH,CAAC;AARD,sDAQC;AAED,SAAgB,aAAa,CAAC,OAAe,EAAE,OAAiB,EAAE,EAAE,OAAuB;IACzF,OAAO,IAAA,eAAK,EAAC,SAAS,EAAE,CAAC,qBAAqB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,kBAC/D,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,KAAK,IACV,OAAO,EACV,CAAA;AACJ,CAAC;AAND,sCAMC"}
|
|
@@ -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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"}
|