@sanity/plugin-kit 1.0.0 → 1.1.0-ecosystem-preset.2

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 (80) hide show
  1. package/README.md +32 -1
  2. package/assets/{splat → inject}/LICENSE +0 -0
  3. package/assets/{splat → inject}/editorconfig +0 -0
  4. package/assets/{splat → inject}/gitignore +0 -0
  5. package/assets/{splat → inject}/npmignore +0 -0
  6. package/assets/{splat → inject}/prettierrc.js +0 -0
  7. package/assets/inject/renovatebot/renovate.json +7 -0
  8. package/assets/{splat → inject}/sanity.json +0 -0
  9. package/assets/inject/semver-workflow/.github/workflows/main.yml +85 -0
  10. package/assets/inject/semver-workflow/.husky/commit-msg +4 -0
  11. package/assets/inject/semver-workflow/.husky/pre-commit +4 -0
  12. package/assets/inject/semver-workflow/.releaserc.json +4 -0
  13. package/assets/inject/semver-workflow/commitlint.config.js +3 -0
  14. package/assets/inject/semver-workflow/renovate.json +7 -0
  15. package/assets/{splat → inject}/template-tsconfig.json +0 -0
  16. package/assets/{splat → inject}/v2-incompatible.js.template +0 -0
  17. package/lib/package.json +30 -28
  18. package/lib/src/actions/init.d.ts +8 -0
  19. package/lib/src/actions/init.js +10 -6
  20. package/lib/src/actions/init.js.map +1 -1
  21. package/lib/src/actions/{splat.d.ts → inject.d.ts} +7 -2
  22. package/lib/src/actions/{splat.js → inject.js} +64 -14
  23. package/lib/src/actions/inject.js.map +1 -0
  24. package/lib/src/cli.js +1 -0
  25. package/lib/src/cli.js.map +1 -1
  26. package/lib/src/cmds/index.d.ts +1 -0
  27. package/lib/src/cmds/index.js +1 -2
  28. package/lib/src/cmds/index.js.map +1 -1
  29. package/lib/src/cmds/init.js +5 -0
  30. package/lib/src/cmds/init.js.map +1 -1
  31. package/lib/src/cmds/{splat.d.ts → inject.d.ts} +0 -0
  32. package/lib/src/cmds/inject.js +76 -0
  33. package/lib/src/cmds/inject.js.map +1 -0
  34. package/lib/src/npm/package.d.ts +7 -4
  35. package/lib/src/npm/package.js +32 -30
  36. package/lib/src/npm/package.js.map +1 -1
  37. package/lib/src/npm/resolveLatestVersions.js +3 -1
  38. package/lib/src/npm/resolveLatestVersions.js.map +1 -1
  39. package/lib/src/presets/presets.d.ts +8 -0
  40. package/lib/src/presets/presets.js +52 -0
  41. package/lib/src/presets/presets.js.map +1 -0
  42. package/lib/src/presets/renovatebot.d.ts +2 -0
  43. package/lib/src/presets/renovatebot.js +24 -0
  44. package/lib/src/presets/renovatebot.js.map +1 -0
  45. package/lib/src/presets/semver-workflow.d.ts +2 -0
  46. package/lib/src/presets/semver-workflow.js +73 -0
  47. package/lib/src/presets/semver-workflow.js.map +1 -0
  48. package/lib/src/util/files.js +11 -0
  49. package/lib/src/util/files.js.map +1 -1
  50. package/lib/src/util/prompt.d.ts +5 -4
  51. package/lib/src/util/prompt.js.map +1 -1
  52. package/lib/src/util/readme.d.ts +1 -1
  53. package/lib/src/util/user.d.ts +2 -2
  54. package/lib/src/util/user.js.map +1 -1
  55. package/lib/test/init.test.js +46 -17
  56. package/lib/test/init.test.js.map +1 -1
  57. package/lib/test/inject.test.d.ts +1 -0
  58. package/lib/test/inject.test.js +75 -0
  59. package/lib/test/inject.test.js.map +1 -0
  60. package/package.json +30 -28
  61. package/src/actions/init.ts +13 -6
  62. package/src/actions/{splat.ts → inject.ts} +68 -18
  63. package/src/cli.ts +1 -0
  64. package/src/cmds/index.ts +1 -2
  65. package/src/cmds/init.ts +5 -0
  66. package/src/cmds/inject.ts +67 -0
  67. package/src/npm/package.ts +33 -39
  68. package/src/npm/resolveLatestVersions.ts +4 -2
  69. package/src/presets/presets.ts +52 -0
  70. package/src/presets/renovatebot.ts +12 -0
  71. package/src/presets/semver-workflow.ts +71 -0
  72. package/src/util/files.ts +11 -0
  73. package/src/util/prompt.ts +3 -3
  74. package/src/util/readme.ts +1 -1
  75. package/src/util/user.ts +2 -2
  76. package/assets/splat/eslint.config.js +0 -5
  77. package/lib/src/actions/splat.js.map +0 -1
  78. package/lib/src/cmds/splat.js +0 -63
  79. package/lib/src/cmds/splat.js.map +0 -1
  80. package/src/cmds/splat.ts +0 -59
@@ -10,7 +10,7 @@ import {resolveLatestVersions} from './resolveLatestVersions'
10
10
  import {hasSourceEquivalent, writeJsonFile} from '../util/files'
11
11
  import log from '../util/log'
12
12
  import {cliName} from '../constants'
13
- import {PackageData, SplatOptions} from '../actions/splat'
13
+ import {InjectOptions, PackageData} from '../actions/inject'
14
14
  import {expectedScripts} from '../actions/verify/validations'
15
15
  import {PackageJson} from '../actions/verify/types'
16
16
 
@@ -181,23 +181,10 @@ function validateLockFiles(options: {basePath: string}) {
181
181
  }
182
182
  }
183
183
 
184
- export function getReferencedPaths(
185
- packageJson: Record<string, string>,
186
- basePath: string
187
- ): string[] {
188
- return pathKeys
189
- .filter((key) => key in packageJson)
190
- .map((key) =>
191
- path.isAbsolute(packageJson[key])
192
- ? packageJson[key]
193
- : path.resolve(basePath, packageJson[key])
194
- )
195
- }
196
-
197
- export async function writePackageJson(data: PackageData, options: SplatOptions) {
184
+ export async function writePackageJson(data: PackageData, options: InjectOptions) {
198
185
  const {user, pluginName, license, description, pkg: prevPkg, gitOrigin} = data
199
186
  const {peerDependencies: addPeers, dependencies: addDeps, devDependencies: addDevDeps} = options
200
- const {basePath, flags} = options
187
+ const {flags} = options
201
188
  const prev = prevPkg || {}
202
189
 
203
190
  const usePrettier = flags.prettier !== false
@@ -288,7 +275,7 @@ export async function writePackageJson(data: PackageData, options: SplatOptions)
288
275
  const differs = JSON.stringify(prev) !== JSON.stringify(manifest)
289
276
  log.debug('Does manifest differ? %s', differs ? 'yes' : 'no')
290
277
  if (differs) {
291
- await writeJsonFile(path.join(basePath, 'package.json'), manifest)
278
+ await writePackageJsonDirect(manifest, options)
292
279
  }
293
280
 
294
281
  return differs ? manifest : prev
@@ -321,14 +308,7 @@ function repoFromOrigin(gitOrigin?: string) {
321
308
  }
322
309
  }
323
310
 
324
- function withSanityKeywords(keywords: string[] = []) {
325
- const newKeywords = new Set(keywords)
326
- newKeywords.add('sanity')
327
- newKeywords.add('sanity-plugin')
328
- return Array.from(newKeywords)
329
- }
330
-
331
- function addScript(cmd: string, existing: string) {
311
+ export function addScript(cmd: string, existing: string) {
332
312
  if (existing && existing.includes(cmd)) {
333
313
  return existing
334
314
  }
@@ -336,30 +316,44 @@ function addScript(cmd: string, existing: string) {
336
316
  return existing ? `${existing} && ${cmd}` : cmd
337
317
  }
338
318
 
339
- export async function addBuildScripts(manifest: PackageJson, {basePath, flags}: SplatOptions) {
340
- if (!flags.scripts) {
341
- return false
342
- }
319
+ export async function addPackageJsonScripts(
320
+ manifest: PackageJson,
321
+ options: InjectOptions,
322
+ updateScripts: (currentScripts: Record<string, string>) => Record<string, string>
323
+ ) {
343
324
  const originalScripts = manifest.scripts || {}
344
- const scripts = {...originalScripts}
345
- scripts.clean = addScript(`rimraf lib`, scripts.clean)
346
- scripts.lint = addScript(`eslint .`, scripts.lint)
347
- scripts.prebuild = addScript('npm run clean && ' + expectedScripts.prebuild, scripts.prebuild)
348
- scripts.build = addScript(expectedScripts.build, scripts.build)
349
- scripts.watch = addScript(expectedScripts.watch, scripts.watch)
350
- scripts['link-watch'] = addScript(expectedScripts['link-watch'], scripts['link-watch'])
351
- scripts.prepublishOnly = addScript(expectedScripts.prepublishOnly, scripts.prepublishOnly)
325
+ const scripts = updateScripts({...originalScripts})
352
326
 
353
327
  const differs = Object.keys(scripts).some((key) => scripts[key] !== originalScripts[key])
354
328
 
355
329
  if (differs) {
356
- await writeJsonFile(path.join(basePath, 'package.json'), {...manifest, scripts})
330
+ await writePackageJsonDirect({...manifest, scripts}, options)
357
331
  }
358
332
 
359
333
  return differs
360
334
  }
361
335
 
362
- function sortKeys<T extends Record<string, unknown>>(unordered: T): T {
336
+ export async function writePackageJsonDirect(manifest: PackageJson, {basePath}: InjectOptions) {
337
+ await writeJsonFile(path.join(basePath, 'package.json'), manifest)
338
+ }
339
+
340
+ export async function addBuildScripts(manifest: PackageJson, options: InjectOptions) {
341
+ if (!options.flags.scripts) {
342
+ return false
343
+ }
344
+ return addPackageJsonScripts(manifest, options, (scripts) => {
345
+ scripts.clean = addScript(`rimraf lib`, scripts.clean)
346
+ scripts.lint = addScript(`eslint .`, scripts.lint)
347
+ scripts.prebuild = addScript('npm run clean && ' + expectedScripts.prebuild, scripts.prebuild)
348
+ scripts.build = addScript(expectedScripts.build, scripts.build)
349
+ scripts.watch = addScript(expectedScripts.watch, scripts.watch)
350
+ scripts['link-watch'] = addScript(expectedScripts['link-watch'], scripts['link-watch'])
351
+ scripts.prepublishOnly = addScript(expectedScripts.prepublishOnly, scripts.prepublishOnly)
352
+ return scripts
353
+ })
354
+ }
355
+
356
+ export function sortKeys<T extends Record<string, unknown>>(unordered: T): T {
363
357
  return Object.keys(unordered)
364
358
  .sort()
365
359
  .reduce((obj, key) => {
@@ -1,5 +1,4 @@
1
1
  import pProps from 'p-props'
2
- // @ts-expect-error missing types
3
2
  import getLatestVersion from 'get-latest-version'
4
3
 
5
4
  // We may want to lock certain dependencies to specific versions
@@ -14,7 +13,10 @@ export function resolveLatestVersions(packages: string[]) {
14
13
  return pProps(
15
14
  versions,
16
15
  async (range, pkgName) => {
17
- const version: string = await getLatestVersion(pkgName, {range})
16
+ const version = await getLatestVersion(pkgName, {range})
17
+ if (!version) {
18
+ throw new Error(`Found no version for ${pkgName}`)
19
+ }
18
20
  return rangeify(version)
19
21
  },
20
22
  {concurrency: 8}
@@ -0,0 +1,52 @@
1
+ import {InjectOptions} from '../actions/inject'
2
+ import {semverWorkflowPreset} from './semver-workflow'
3
+ import {renovatePreset} from './renovatebot'
4
+
5
+ export interface Preset {
6
+ name: string
7
+ description: string
8
+ apply: (options: InjectOptions) => Promise<void>
9
+ }
10
+
11
+ const presets: Preset[] = [semverWorkflowPreset, renovatePreset]
12
+ const presetNames = presets.map((p) => p.name)
13
+
14
+ export function presetHelpList(padStart: number) {
15
+ return presets
16
+ .map((p) => `${''.padStart(padStart)}${p.name.padEnd(20)}${p.description}`)
17
+ .join('\n')
18
+ }
19
+
20
+ export async function injectPresets(options: InjectOptions) {
21
+ if (options.flags.presetOnly && !options.flags.preset?.length) {
22
+ throw new Error('--preset-only, but no --preset [preset-name] was provided.')
23
+ }
24
+
25
+ const applyPresets = presetsFromInput(options.flags.preset)
26
+ for (const preset of applyPresets) {
27
+ await preset.apply(options)
28
+ }
29
+ }
30
+
31
+ function presetsFromInput(inputPresets: string[] | undefined): Preset[] {
32
+ if (!inputPresets) {
33
+ return []
34
+ }
35
+ const unknownPresets = inputPresets.filter((p) => !presetNames.includes(p))
36
+ if (unknownPresets.length) {
37
+ throw new Error(
38
+ `Unknown --preset(s): [${unknownPresets.join(', ')}]. Must be one of: [${presetNames.join(
39
+ ', '
40
+ )}]`
41
+ )
42
+ }
43
+
44
+ return inputPresets
45
+ .filter(onlyUnique)
46
+ .map((presetName) => presets.find((p) => p.name === presetName))
47
+ .filter((p): p is Preset => !!p)
48
+ }
49
+
50
+ function onlyUnique(value: string, index: number, arr: string[]) {
51
+ return arr.indexOf(value) === index
52
+ }
@@ -0,0 +1,12 @@
1
+ import {Preset} from './presets'
2
+ import {InjectOptions, writeAssets} from '../actions/inject'
3
+
4
+ export const renovatePreset: Preset = {
5
+ name: 'renovatebot',
6
+ description: 'Files to enable renovatebot.',
7
+ apply: applyPreset,
8
+ }
9
+
10
+ async function applyPreset(options: InjectOptions) {
11
+ await writeAssets([{from: ['renovatebot', 'renovate.json'], to: 'renovate.json'}], options)
12
+ }
@@ -0,0 +1,71 @@
1
+ import {FromTo, InjectOptions, writeAssets} from '../actions/inject'
2
+ import {resolveLatestVersions} from '../npm/resolveLatestVersions'
3
+ import {Preset} from './presets'
4
+ import {
5
+ addBuildScripts,
6
+ addPackageJsonScripts,
7
+ addScript,
8
+ getPackage,
9
+ sortKeys,
10
+ writePackageJsonDirect,
11
+ } from '../npm/package'
12
+ import log from '../util/log'
13
+
14
+ export const semverWorkflowPreset: Preset = {
15
+ name: 'semver-workflow',
16
+ description:
17
+ 'Files and dependencies for conventional-commits, github workflow and semantic-release.',
18
+ apply: applyPreset,
19
+ }
20
+
21
+ const info = (write: boolean, msg: string, ...args: string[]) => write && log.info(msg, ...args)
22
+
23
+ async function applyPreset(options: InjectOptions) {
24
+ await writeAssets(semverWorkflowFiles(), options)
25
+ await addPrepareScript(options)
26
+ await addDevDependencies(options)
27
+ }
28
+
29
+ async function addPrepareScript(options: InjectOptions) {
30
+ const pkg = await getPackage(options)
31
+ const didWrite = await addPackageJsonScripts(pkg, options, (scripts) => {
32
+ scripts.prepare = addScript(`husky install`, scripts.prepare)
33
+ return scripts
34
+ })
35
+ info(didWrite, 'Added prepare script to package.json')
36
+ }
37
+
38
+ async function addDevDependencies(options: InjectOptions) {
39
+ const pkg = await getPackage(options)
40
+ const devDeps = sortKeys({
41
+ ...pkg.devDependencies,
42
+ ...(await semverWorkflowDependencies()),
43
+ })
44
+ const newPkg = {...pkg}
45
+ newPkg.devDependencies = devDeps
46
+ await writePackageJsonDirect(newPkg, options)
47
+ log.info('Updated devDependencies.')
48
+ }
49
+
50
+ function semverWorkflowFiles(): FromTo[] {
51
+ return [
52
+ {from: ['.github', 'workflows', 'main.yml'], to: ['.github', 'workflows', 'main.yml']},
53
+ {from: ['.husky', 'commit-msg'], to: ['.husky', 'commit-msg']},
54
+ {from: ['.husky', 'pre-commit'], to: ['.husky', 'pre-commit']},
55
+ {from: ['.releaserc.json'], to: '.releaserc.json'},
56
+ {from: ['commitlint.config.js'], to: 'commitlint.config.js'},
57
+ ].map((fromTo) => ({
58
+ ...fromTo,
59
+ from: ['semver-workflow', ...fromTo.from],
60
+ }))
61
+ }
62
+
63
+ async function semverWorkflowDependencies(): Promise<Record<string, string>> {
64
+ return resolveLatestVersions([
65
+ '@commitlint/cli',
66
+ '@commitlint/config-conventional',
67
+ '@sanity/semantic-release-preset',
68
+ 'husky',
69
+ 'lint-staged',
70
+ ])
71
+ }
package/src/util/files.ts CHANGED
@@ -146,6 +146,8 @@ export async function copyFileWithOverwritePrompt(from: string, to: string, flag
146
146
  return false
147
147
  }
148
148
 
149
+ await ensureDirectoryExists(to)
150
+
149
151
  if (
150
152
  !flags.force &&
151
153
  (await fileExists(to)) &&
@@ -161,6 +163,15 @@ export async function copyFileWithOverwritePrompt(from: string, to: string, flag
161
163
  return true
162
164
  }
163
165
 
166
+ async function ensureDirectoryExists(filePath: string) {
167
+ const dirname = path.dirname(filePath)
168
+ if (await fileExists(dirname)) {
169
+ return true
170
+ }
171
+ await ensureDirectoryExists(dirname)
172
+ await mkdir(dirname)
173
+ }
174
+
164
175
  export async function fileEqualsData(filePath: string, content: string) {
165
176
  const contentHash = crypto.createHash('sha1').update(content).digest('hex')
166
177
  const remoteHash = await getFileHash(filePath)
@@ -5,7 +5,7 @@ import inquirer from 'inquirer'
5
5
  import validNpmName from 'validate-npm-package-name'
6
6
  // @ts-expect-error missing types
7
7
  import githubUrlToObject from 'github-url-to-object'
8
- import {SplatOptions} from '../actions/splat'
8
+ import {InjectOptions} from '../actions/inject'
9
9
 
10
10
  export async function prompt(
11
11
  message: string,
@@ -24,7 +24,7 @@ export async function prompt(
24
24
 
25
25
  prompt.separator = () => new inquirer.Separator()
26
26
 
27
- export function promptForPackageName({basePath}: SplatOptions, defaultVal?: string) {
27
+ export function promptForPackageName({basePath}: InjectOptions, defaultVal?: string) {
28
28
  return prompt('Plugin name (sanity-plugin-...)', {
29
29
  default: defaultVal || path.basename(basePath),
30
30
  filter: (name) => {
@@ -46,7 +46,7 @@ export function promptForPackageName({basePath}: SplatOptions, defaultVal?: stri
46
46
  })
47
47
  }
48
48
 
49
- export function promptForRepoOrigin(options: SplatOptions, defaultVal?: string) {
49
+ export function promptForRepoOrigin(options: InjectOptions, defaultVal?: string) {
50
50
  return prompt('Git repository URL', {
51
51
  default: defaultVal,
52
52
  filter: (raw) => {
@@ -1,7 +1,7 @@
1
1
  import outdent from 'outdent'
2
2
  // @ts-expect-error missing types
3
3
  import licenses from '@rexxars/choosealicense-list'
4
- import {PackageData} from '../actions/splat'
4
+ import {PackageData} from '../actions/inject'
5
5
  import {User} from './user'
6
6
 
7
7
  export function generateReadme(data: PackageData) {
package/src/util/user.ts CHANGED
@@ -6,7 +6,7 @@ import {validate as isValidEmail} from 'email-validator'
6
6
  import {readJsonFile} from './files'
7
7
  import {request} from './request'
8
8
  import {prompt} from './prompt'
9
- import {SplatOptions} from '../actions/splat'
9
+ import {InjectOptions} from '../actions/inject'
10
10
  import {PackageJson} from '../actions/verify/types'
11
11
 
12
12
  export interface User {
@@ -15,7 +15,7 @@ export interface User {
15
15
  }
16
16
 
17
17
  export async function getUserInfo(
18
- {requireUserConfirmation, flags}: SplatOptions,
18
+ {requireUserConfirmation, flags}: InjectOptions,
19
19
  pkg?: PackageJson
20
20
  ): Promise<User | undefined> {
21
21
  const userInfo =
@@ -1,5 +0,0 @@
1
- export default {
2
- parser: 'sanipack/babel/eslint-parser',
3
- extends: ['sanity', 'sanity/react', 'prettier'],
4
- ignorePatterns: ['lib/**/'],
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"splat.js","sourceRoot":"","sources":["../../../src/actions/splat.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
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 meow_1 = __importDefault(require("meow"));
17
- const package_json_1 = __importDefault(require("../../package.json"));
18
- const log_1 = __importDefault(require("../util/log"));
19
- const splat_1 = require("../actions/splat");
20
- const manifest_1 = require("../sanity/manifest");
21
- const init_1 = require("../actions/init");
22
- const description = `"Splat" configuration into a Sanity plugin`;
23
- const help = `
24
- Usage
25
- $ ${package_json_1.default.binname} splat [dir] [<args>]
26
-
27
- Options
28
- --no-eslint Disables ESLint config and dependencies from being added
29
- --no-prettier Disables prettier config and dependencies from being added
30
- --no-typescript Disables typescript config and dependencies from being added
31
- --no-license Disables LICENSE + package.json license field from being added
32
- --no-editorconfig Disables .editorconfig from being added
33
- --no-gitignore Disables .gitignore from being added
34
- --no-scripts Disables scripts from being added to package.json
35
- --license [spdx] Use the license with the given SPDX identifier
36
-
37
- Examples
38
- # Splat configuration into the plugin in the current directory
39
- $ ${package_json_1.default.binname} splat
40
-
41
- # Splat configuration into the plugin in ~/my-plugin
42
- $ ${package_json_1.default.binname} splat ~/my-plugin
43
-
44
- # Don't add eslint or prettier
45
- $ ${package_json_1.default.binname} splat --no-eslint --no-prettier
46
- `;
47
- function run({ argv }) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const cli = (0, meow_1.default)(help, { flags: init_1.initFlags, argv, description });
50
- const basePath = path_1.default.resolve(cli.input[0] || process.cwd());
51
- const { exists, isRoot } = yield (0, manifest_1.hasSanityJson)(basePath);
52
- if (exists && isRoot) {
53
- throw new Error(`sanity.json has a "root" property set to true - are you trying to splat into a studio instead of a plugin?`);
54
- }
55
- if (!exists) {
56
- throw new Error(`sanity.json does not exist in this directory, maybe you want "${package_json_1.default.binname} init" instead?`);
57
- }
58
- yield (0, splat_1.splat)({ basePath, flags: cli.flags });
59
- log_1.default.info('Done!');
60
- });
61
- }
62
- exports.default = run;
63
- //# sourceMappingURL=splat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splat.js","sourceRoot":"","sources":["../../../src/cmds/splat.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,gDAAuB;AACvB,sEAAoC;AACpC,sDAA6B;AAC7B,4CAAsC;AACtC,iDAAgD;AAEhD,0CAAyC;AAEzC,MAAM,WAAW,GAAG,4CAA4C,CAAA;AAEhE,MAAM,IAAI,GAAG;;MAEP,sBAAG,CAAC,OAAO;;;;;;;;;;;;;;MAcX,sBAAG,CAAC,OAAO;;;MAGX,sBAAG,CAAC,OAAO;;;MAGX,sBAAG,CAAC,OAAO;CAChB,CAAA;AAED,SAAe,GAAG,CAAC,EAAC,IAAI,EAAmB;;QACzC,MAAM,GAAG,GAAG,IAAA,cAAI,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,gBAAS,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAE5D,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,IAAA,wBAAa,EAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,MAAM,IAAI,MAAM,EAAE;YACpB,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAA;SACF;QAED,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CACb,iEAAiE,sBAAG,CAAC,OAAO,iBAAiB,CAC9F,CAAA;SACF;QAED,MAAM,IAAA,aAAK,EAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,CAAC,CAAA;QAEzC,aAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnB,CAAC;CAAA;AAED,kBAAe,GAAG,CAAA"}
package/src/cmds/splat.ts DELETED
@@ -1,59 +0,0 @@
1
- import path from 'path'
2
- import meow from 'meow'
3
- import pkg from '../../package.json'
4
- import log from '../util/log'
5
- import {splat} from '../actions/splat'
6
- import {hasSanityJson} from '../sanity/manifest'
7
- import sharedFlags from '../sharedFlags'
8
- import {initFlags} from '../actions/init'
9
-
10
- const description = `"Splat" configuration into a Sanity plugin`
11
-
12
- const help = `
13
- Usage
14
- $ ${pkg.binname} splat [dir] [<args>]
15
-
16
- Options
17
- --no-eslint Disables ESLint config and dependencies from being added
18
- --no-prettier Disables prettier config and dependencies from being added
19
- --no-typescript Disables typescript config and dependencies from being added
20
- --no-license Disables LICENSE + package.json license field from being added
21
- --no-editorconfig Disables .editorconfig from being added
22
- --no-gitignore Disables .gitignore from being added
23
- --no-scripts Disables scripts from being added to package.json
24
- --license [spdx] Use the license with the given SPDX identifier
25
-
26
- Examples
27
- # Splat configuration into the plugin in the current directory
28
- $ ${pkg.binname} splat
29
-
30
- # Splat configuration into the plugin in ~/my-plugin
31
- $ ${pkg.binname} splat ~/my-plugin
32
-
33
- # Don't add eslint or prettier
34
- $ ${pkg.binname} splat --no-eslint --no-prettier
35
- `
36
-
37
- async function run({argv}: {argv: string[]}) {
38
- const cli = meow(help, {flags: initFlags, argv, description})
39
- const basePath = path.resolve(cli.input[0] || process.cwd())
40
-
41
- const {exists, isRoot} = await hasSanityJson(basePath)
42
- if (exists && isRoot) {
43
- throw new Error(
44
- `sanity.json has a "root" property set to true - are you trying to splat into a studio instead of a plugin?`
45
- )
46
- }
47
-
48
- if (!exists) {
49
- throw new Error(
50
- `sanity.json does not exist in this directory, maybe you want "${pkg.binname} init" instead?`
51
- )
52
- }
53
-
54
- await splat({basePath, flags: cli.flags})
55
-
56
- log.info('Done!')
57
- }
58
-
59
- export default run