one-way-git-sync 3.1.1 → 3.1.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.
package/dist/index.js CHANGED
@@ -234,7 +234,7 @@ const yargsOptions = {
234
234
  tag: {
235
235
  type: 'string',
236
236
  alias: 't',
237
- describe: 'Specify tag created in destination repo.'
237
+ describe: 'Specify tag to be created in destination repo.'
238
238
  },
239
239
  'tag-hash': {
240
240
  type: 'boolean',
@@ -242,7 +242,7 @@ const yargsOptions = {
242
242
  },
243
243
  'tag-version': {
244
244
  type: 'boolean',
245
- describe: 'Create version tag (e.g. v1.31.5). It may be a non-unique tag.'
245
+ describe: 'Create version tag (e.g. v1.31.5). It could be a non-unique tag.'
246
246
  },
247
247
  dry: {
248
248
  type: 'boolean',
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/logger.ts","../src/index.ts","../src/initCommand.ts","../src/syncCommand.ts","../src/yargsOptions.ts","../src/cli.ts"],"sourcesContent":["import { createLogger, format, transports } from 'winston';\n\nexport const logger = createLogger({\n transports: [\n new transports.Console({\n format: format.cli({ colors: { error: 'red' } }),\n }),\n ],\n});\n","import child_process from 'child_process';\nimport fsp from 'fs/promises';\nimport path from 'path';\n\nimport fse from 'fs-extra';\nimport simpleGit, { SimpleGit } from 'simple-git';\nimport type { LogResult } from 'simple-git/typings/response';\nimport { InferredOptionTypes } from 'yargs';\n\nimport { logger } from './logger';\nimport { yargsOptions } from './yargsOptions';\n\nconst syncDirPath = path.join('node_modules', '.temp', 'sync-git-repo');\nconst ignoreNames = ['.git', 'node_modules'];\n\nexport async function sync(opts: InferredOptionTypes<typeof yargsOptions>, init: boolean): Promise<void> {\n await fsp.mkdir(syncDirPath, { recursive: true });\n const dirPath = await fsp.mkdtemp(path.join(syncDirPath, 'repo-'));\n const ret = await syncCore(dirPath, opts, init);\n await fsp.rm(dirPath, { recursive: true, force: true });\n process.exit(ret ? 0 : 1);\n}\n\nasync function syncCore(\n destRepoPath: string,\n opts: InferredOptionTypes<typeof yargsOptions>,\n init: boolean\n): Promise<boolean> {\n await simpleGit().clone(opts.dest, destRepoPath, opts.force ? undefined : { '--depth': 1 });\n logger.verbose('Cloned a destination repo');\n\n const dstGit: SimpleGit = simpleGit(destRepoPath);\n if (opts.branch) {\n try {\n await dstGit.checkout(opts.branch);\n } catch (_) {\n await dstGit.checkoutLocalBranch(opts.branch);\n }\n }\n const dstLog = await dstGit.log();\n\n let from: string | undefined;\n if (!init) {\n from = extractCommitHash(dstLog);\n if (!from) {\n logger.error('No valid commit in destination repo');\n return false;\n }\n logger.verbose(`Extracted a valid commit: ${from}`);\n }\n\n const srcGit: SimpleGit = simpleGit();\n let srcLog: LogResult;\n try {\n // '--first-parent' hides children commits of merge commits\n srcLog = await srcGit.log(from ? { from, to: 'HEAD', '--first-parent': undefined } : undefined);\n } catch (e) {\n logger.error('Failed to get source commit history:', e);\n return false;\n }\n\n const latestHash = srcLog.latest?.hash;\n if (!latestHash) {\n logger.info('No synchronizable commit');\n return true;\n }\n\n const [destFiles, srcFiles] = await Promise.all([fsp.readdir(destRepoPath), fsp.readdir('.')]);\n for (const destFile of destFiles) {\n if (ignoreNames.includes(destFile)) continue;\n await fsp.rm(path.join(destRepoPath, destFile), { recursive: true, force: true });\n }\n for (const srcFile of srcFiles) {\n if (ignoreNames.includes(srcFile)) continue;\n fse.copySync(srcFile, path.join(destRepoPath, srcFile));\n }\n await dstGit.add('-A');\n\n let srcTag = '';\n if (opts['tag-hash'] || opts['tag-version']) {\n // e.g. `--abbrev=0` changes `v1.31.5-2-gcdde507` to `v1.31.5`\n const describeCommand = `git describe --tags --always ${opts['tag-version'] ? '--abbrev=0' : ''}`;\n srcTag = child_process.execSync(describeCommand).toString().trim();\n }\n let prefix = opts.prefix ?? '';\n if (prefix && !prefix.endsWith('/')) {\n prefix += '/';\n }\n const link = `${prefix}${latestHash}`;\n const title = srcTag ? `sync ${srcTag} (${link})` : `sync ${link}`;\n const body = init\n ? `Initialize one-way-git-sync by replacing all the files with those of ${opts.dest}`\n : srcLog.all.map((l) => `* ${l.message}`).join('\\n\\n');\n try {\n await dstGit.commit(`${title}\\n\\n${body}`);\n logger.verbose(`Created a commit: ${title}`);\n logger.verbose(` with body: ${body}`);\n } catch (e) {\n logger.error('Failed to commit changes:', e);\n return false;\n }\n\n const destTag = srcTag || opts.tag;\n if (destTag) {\n try {\n await dstGit.addTag(destTag);\n logger.verbose(`Created a tag: ${destTag}`);\n } catch (e) {\n logger.error('Failed to commit changes:', e);\n return false;\n }\n }\n\n if (opts.dry) {\n logger.verbose('Finished dry run');\n return true;\n }\n\n try {\n await dstGit.push();\n if (destTag) {\n await dstGit.push({ '--tags': null });\n }\n } catch (e) {\n logger.error('Failed to push a commit:', e);\n return false;\n }\n\n logger.verbose('Pushed a commit');\n return true;\n}\n\nfunction extractCommitHash(logResult: LogResult): string | undefined {\n if (logResult.all.length === 0) {\n logger.error('No commit history');\n return;\n }\n\n for (const log of logResult.all) {\n const [head, ...words] = log.message.replace(/[()]/g, '').split(/[\\s/]/);\n if (head === 'sync' && words.length) {\n return words[words.length - 1];\n }\n }\n logger.error('No sync commit: ', logResult.all[0]);\n return;\n}\n","import type { CommandModule, InferredOptionTypes } from 'yargs';\n\nimport { yargsOptions } from './yargsOptions';\n\nimport { sync } from './index';\n\nexport const initCommand: CommandModule<unknown, InferredOptionTypes<typeof yargsOptions>> = {\n command: 'init',\n describe: 'Initialize a destination git repository',\n async handler(argv) {\n await sync(argv, true);\n },\n};\n","import type { CommandModule, InferredOptionTypes } from 'yargs';\n\nimport { yargsOptions } from './yargsOptions';\n\nimport { sync } from './index';\n\nexport const syncCommand: CommandModule<unknown, InferredOptionTypes<typeof yargsOptions>> = {\n command: 'sync',\n describe: 'Synchronize a destination git repository with a source git repository',\n async handler(argv) {\n await sync(argv, false);\n },\n};\n","export const yargsOptions = {\n dest: {\n type: 'string',\n alias: 'd',\n describe: 'A URL of a destination git repository.',\n demand: true,\n },\n prefix: {\n type: 'string',\n alias: 'p',\n describe: `A prefix of a commit hash used to generate a commit title, e.g. 'sync <prefix>/<hash>'.\n A typical value is like 'https://github.com/WillBooster/one-way-git-sync/commits'`,\n },\n branch: {\n type: 'string',\n alias: 'b',\n describe: 'Specify branch of destination repo.',\n },\n tag: {\n type: 'string',\n alias: 't',\n describe: 'Specify tag created in destination repo.',\n },\n 'tag-hash': {\n type: 'boolean',\n describe: 'Create version+hash tag (e.g. v1.31.5-2-gcdde507). It should be a unique tag.',\n },\n 'tag-version': {\n type: 'boolean',\n describe: 'Create version tag (e.g. v1.31.5). It may be a non-unique tag.',\n },\n dry: {\n type: 'boolean',\n describe: 'Enable dry-run mode.',\n },\n force: {\n type: 'boolean',\n describe: 'Force to overwrite the destination git repository.',\n },\n verbose: {\n type: 'boolean',\n alias: 'v',\n describe: 'Show details logs.',\n },\n} as const;\n","import { hideBin } from 'yargs/helpers';\nimport yargs from 'yargs/yargs';\n\nimport { initCommand } from './initCommand';\nimport { logger } from './logger';\nimport { syncCommand } from './syncCommand';\nimport { yargsOptions } from './yargsOptions';\n\nexport async function cli(argv: string[]): Promise<void> {\n await yargs(hideBin(argv))\n .options(yargsOptions)\n .middleware((argv) => {\n logger.level = argv.verbose ? 'verbose' : 'info';\n })\n .command(initCommand)\n .command(syncCommand).argv;\n}\n"],"names":["logger","createLogger","transports","Console","format","cli","colors","error","syncDirPath","path","join","ignoreNames","sync","opts","init","fsp","mkdir","recursive","dirPath","mkdtemp","ret","syncCore","rm","force","process","exit","destRepoPath","simpleGit","clone","dest","undefined","verbose","dstGit","branch","checkout","_","checkoutLocalBranch","dstLog","log","from","extractCommitHash","srcGit","srcLog","to","e","latestHash","latest","hash","info","destFiles","srcFiles","Promise","all","readdir","destFile","includes","srcFile","fse","copySync","add","srcTag","describeCommand","child_process","execSync","toString","trim","prefix","endsWith","link","title","body","map","l","message","commit","destTag","tag","addTag","dry","push","logResult","length","head","words","replace","split","initCommand","command","describe","handler","argv","syncCommand","yargsOptions","type","alias","demand","yargs","hideBin","options","middleware","level"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/logger.ts","../src/index.ts","../src/initCommand.ts","../src/syncCommand.ts","../src/yargsOptions.ts","../src/cli.ts"],"sourcesContent":["import { createLogger, format, transports } from 'winston';\n\nexport const logger = createLogger({\n transports: [\n new transports.Console({\n format: format.cli({ colors: { error: 'red' } }),\n }),\n ],\n});\n","import child_process from 'child_process';\nimport fsp from 'fs/promises';\nimport path from 'path';\n\nimport fse from 'fs-extra';\nimport simpleGit, { SimpleGit } from 'simple-git';\nimport type { LogResult } from 'simple-git/typings/response';\nimport { InferredOptionTypes } from 'yargs';\n\nimport { logger } from './logger';\nimport { yargsOptions } from './yargsOptions';\n\nconst syncDirPath = path.join('node_modules', '.temp', 'sync-git-repo');\nconst ignoreNames = ['.git', 'node_modules'];\n\nexport async function sync(opts: InferredOptionTypes<typeof yargsOptions>, init: boolean): Promise<void> {\n await fsp.mkdir(syncDirPath, { recursive: true });\n const dirPath = await fsp.mkdtemp(path.join(syncDirPath, 'repo-'));\n const ret = await syncCore(dirPath, opts, init);\n await fsp.rm(dirPath, { recursive: true, force: true });\n process.exit(ret ? 0 : 1);\n}\n\nasync function syncCore(\n destRepoPath: string,\n opts: InferredOptionTypes<typeof yargsOptions>,\n init: boolean\n): Promise<boolean> {\n await simpleGit().clone(opts.dest, destRepoPath, opts.force ? undefined : { '--depth': 1 });\n logger.verbose('Cloned a destination repo');\n\n const dstGit: SimpleGit = simpleGit(destRepoPath);\n if (opts.branch) {\n try {\n await dstGit.checkout(opts.branch);\n } catch (_) {\n await dstGit.checkoutLocalBranch(opts.branch);\n }\n }\n const dstLog = await dstGit.log();\n\n let from: string | undefined;\n if (!init) {\n from = extractCommitHash(dstLog);\n if (!from) {\n logger.error('No valid commit in destination repo');\n return false;\n }\n logger.verbose(`Extracted a valid commit: ${from}`);\n }\n\n const srcGit: SimpleGit = simpleGit();\n let srcLog: LogResult;\n try {\n // '--first-parent' hides children commits of merge commits\n srcLog = await srcGit.log(from ? { from, to: 'HEAD', '--first-parent': undefined } : undefined);\n } catch (e) {\n logger.error('Failed to get source commit history:', e);\n return false;\n }\n\n const latestHash = srcLog.latest?.hash;\n if (!latestHash) {\n logger.info('No synchronizable commit');\n return true;\n }\n\n const [destFiles, srcFiles] = await Promise.all([fsp.readdir(destRepoPath), fsp.readdir('.')]);\n for (const destFile of destFiles) {\n if (ignoreNames.includes(destFile)) continue;\n await fsp.rm(path.join(destRepoPath, destFile), { recursive: true, force: true });\n }\n for (const srcFile of srcFiles) {\n if (ignoreNames.includes(srcFile)) continue;\n fse.copySync(srcFile, path.join(destRepoPath, srcFile));\n }\n await dstGit.add('-A');\n\n let srcTag = '';\n if (opts['tag-hash'] || opts['tag-version']) {\n // e.g. `--abbrev=0` changes `v1.31.5-2-gcdde507` to `v1.31.5`\n const describeCommand = `git describe --tags --always ${opts['tag-version'] ? '--abbrev=0' : ''}`;\n srcTag = child_process.execSync(describeCommand).toString().trim();\n }\n let prefix = opts.prefix ?? '';\n if (prefix && !prefix.endsWith('/')) {\n prefix += '/';\n }\n const link = `${prefix}${latestHash}`;\n const title = srcTag ? `sync ${srcTag} (${link})` : `sync ${link}`;\n const body = init\n ? `Initialize one-way-git-sync by replacing all the files with those of ${opts.dest}`\n : srcLog.all.map((l) => `* ${l.message}`).join('\\n\\n');\n try {\n await dstGit.commit(`${title}\\n\\n${body}`);\n logger.verbose(`Created a commit: ${title}`);\n logger.verbose(` with body: ${body}`);\n } catch (e) {\n logger.error('Failed to commit changes:', e);\n return false;\n }\n\n const destTag = srcTag || opts.tag;\n if (destTag) {\n try {\n await dstGit.addTag(destTag);\n logger.verbose(`Created a tag: ${destTag}`);\n } catch (e) {\n logger.error('Failed to commit changes:', e);\n return false;\n }\n }\n\n if (opts.dry) {\n logger.verbose('Finished dry run');\n return true;\n }\n\n try {\n await dstGit.push();\n if (destTag) {\n await dstGit.push({ '--tags': null });\n }\n } catch (e) {\n logger.error('Failed to push a commit:', e);\n return false;\n }\n\n logger.verbose('Pushed a commit');\n return true;\n}\n\nfunction extractCommitHash(logResult: LogResult): string | undefined {\n if (logResult.all.length === 0) {\n logger.error('No commit history');\n return;\n }\n\n for (const log of logResult.all) {\n const [head, ...words] = log.message.replace(/[()]/g, '').split(/[\\s/]/);\n if (head === 'sync' && words.length) {\n return words[words.length - 1];\n }\n }\n logger.error('No sync commit: ', logResult.all[0]);\n return;\n}\n","import type { CommandModule, InferredOptionTypes } from 'yargs';\n\nimport { yargsOptions } from './yargsOptions';\n\nimport { sync } from './index';\n\nexport const initCommand: CommandModule<unknown, InferredOptionTypes<typeof yargsOptions>> = {\n command: 'init',\n describe: 'Initialize a destination git repository',\n async handler(argv) {\n await sync(argv, true);\n },\n};\n","import type { CommandModule, InferredOptionTypes } from 'yargs';\n\nimport { yargsOptions } from './yargsOptions';\n\nimport { sync } from './index';\n\nexport const syncCommand: CommandModule<unknown, InferredOptionTypes<typeof yargsOptions>> = {\n command: 'sync',\n describe: 'Synchronize a destination git repository with a source git repository',\n async handler(argv) {\n await sync(argv, false);\n },\n};\n","export const yargsOptions = {\n dest: {\n type: 'string',\n alias: 'd',\n describe: 'A URL of a destination git repository.',\n demand: true,\n },\n prefix: {\n type: 'string',\n alias: 'p',\n describe: `A prefix of a commit hash used to generate a commit title, e.g. 'sync <prefix>/<hash>'.\n A typical value is like 'https://github.com/WillBooster/one-way-git-sync/commits'`,\n },\n branch: {\n type: 'string',\n alias: 'b',\n describe: 'Specify branch of destination repo.',\n },\n tag: {\n type: 'string',\n alias: 't',\n describe: 'Specify tag to be created in destination repo.',\n },\n 'tag-hash': {\n type: 'boolean',\n describe: 'Create version+hash tag (e.g. v1.31.5-2-gcdde507). It should be a unique tag.',\n },\n 'tag-version': {\n type: 'boolean',\n describe: 'Create version tag (e.g. v1.31.5). It could be a non-unique tag.',\n },\n dry: {\n type: 'boolean',\n describe: 'Enable dry-run mode.',\n },\n force: {\n type: 'boolean',\n describe: 'Force to overwrite the destination git repository.',\n },\n verbose: {\n type: 'boolean',\n alias: 'v',\n describe: 'Show details logs.',\n },\n} as const;\n","import { hideBin } from 'yargs/helpers';\nimport yargs from 'yargs/yargs';\n\nimport { initCommand } from './initCommand';\nimport { logger } from './logger';\nimport { syncCommand } from './syncCommand';\nimport { yargsOptions } from './yargsOptions';\n\nexport async function cli(argv: string[]): Promise<void> {\n await yargs(hideBin(argv))\n .options(yargsOptions)\n .middleware((argv) => {\n logger.level = argv.verbose ? 'verbose' : 'info';\n })\n .command(initCommand)\n .command(syncCommand).argv;\n}\n"],"names":["logger","createLogger","transports","Console","format","cli","colors","error","syncDirPath","path","join","ignoreNames","sync","opts","init","fsp","mkdir","recursive","dirPath","mkdtemp","ret","syncCore","rm","force","process","exit","destRepoPath","simpleGit","clone","dest","undefined","verbose","dstGit","branch","checkout","_","checkoutLocalBranch","dstLog","log","from","extractCommitHash","srcGit","srcLog","to","e","latestHash","latest","hash","info","destFiles","srcFiles","Promise","all","readdir","destFile","includes","srcFile","fse","copySync","add","srcTag","describeCommand","child_process","execSync","toString","trim","prefix","endsWith","link","title","body","map","l","message","commit","destTag","tag","addTag","dry","push","logResult","length","head","words","replace","split","initCommand","command","describe","handler","argv","syncCommand","yargsOptions","type","alias","demand","yargs","hideBin","options","middleware","level"],"mappings":"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"}
package/package.json CHANGED
@@ -18,67 +18,67 @@
18
18
  "cleanup": "yarn format && yarn lint-fix",
19
19
  "format": "sort-package-json && yarn prettify",
20
20
  "_postinstall": "husky install",
21
- "lint": "eslint --color \"./{src,__tests__}/**/*.{js,jsx,ts,tsx}\"",
21
+ "lint": "eslint --color \"./{src,__tests__}/**/*.{cjs,js,jsx,mjs,ts,tsx}\"",
22
22
  "lint-fix": "yarn lint --fix",
23
23
  "prepublishOnly": "pinst --disable",
24
- "prettify": "prettier --color --write \"**/{.*/,}*.{css,htm,html,js,json,json5,jsx,md,scss,ts,tsx,vue,yaml,yml}\" \"!**/test-fixtures/**\"",
24
+ "prettify": "prettier --color --write \"**/{.*/,}*.{cjs,css,htm,html,js,json,json5,jsx,md,mjs,scss,ts,tsx,vue,yaml,yml}\" \"!**/test-fixtures/**\"",
25
25
  "postpublish": "pinst --enable",
26
- "start": "yarn && babel-node -x .js,.jsx,.es6,.es,.ts -- src/start.ts",
27
- "start-prod": "yarn && yarn build && yarn one-way-git-sync",
26
+ "start": "babel-node -x .js,.jsx,.es6,.es,.ts -- src/start.ts",
27
+ "start-prod": "yarn build && yarn one-way-git-sync",
28
28
  "typecheck": "tsc --noEmit --Pretty"
29
29
  },
30
30
  "prettier": "@willbooster/prettier-config",
31
31
  "dependencies": {
32
32
  "fs-extra": "10.0.0",
33
- "simple-git": "2.47.0",
33
+ "simple-git": "2.48.0",
34
34
  "winston": "3.3.3",
35
- "yargs": "17.2.1"
35
+ "yargs": "17.3.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@babel/core": "7.16.0",
39
- "@babel/helper-plugin-utils": "7.14.5",
40
- "@babel/node": "7.16.0",
41
- "@babel/plugin-proposal-class-properties": "7.16.0",
42
- "@babel/plugin-proposal-numeric-separator": "7.16.0",
43
- "@babel/preset-env": "7.16.0",
44
- "@babel/preset-typescript": "7.16.0",
38
+ "@babel/core": "7.16.5",
39
+ "@babel/helper-plugin-utils": "7.16.5",
40
+ "@babel/node": "7.16.5",
41
+ "@babel/plugin-proposal-class-properties": "7.16.5",
42
+ "@babel/plugin-proposal-numeric-separator": "7.16.5",
43
+ "@babel/preset-env": "7.16.5",
44
+ "@babel/preset-typescript": "7.16.5",
45
45
  "@rollup/plugin-babel": "5.3.0",
46
46
  "@rollup/plugin-commonjs": "21.0.1",
47
- "@rollup/plugin-node-resolve": "13.0.6",
48
- "@types/eslint": "7.28.2",
47
+ "@rollup/plugin-node-resolve": "13.1.1",
48
+ "@types/eslint": "8.2.1",
49
49
  "@types/fs-extra": "9.0.13",
50
50
  "@types/micromatch": "4.0.2",
51
- "@types/semantic-release": "17.2.2",
52
- "@types/yargs": "17.0.5",
53
- "@typescript-eslint/eslint-plugin": "5.2.0",
54
- "@typescript-eslint/parser": "5.2.0",
55
- "@willbooster/eslint-config-ts": "6.4.2",
56
- "@willbooster/prettier-config": "6.4.0",
57
- "@willbooster/renovate-config": "6.4.2",
51
+ "@types/semantic-release": "17.2.3",
52
+ "@types/yargs": "17.0.7",
53
+ "@typescript-eslint/eslint-plugin": "5.8.0",
54
+ "@typescript-eslint/parser": "5.8.0",
55
+ "@willbooster/eslint-config-ts": "6.5.0",
56
+ "@willbooster/prettier-config": "6.5.0",
57
+ "@willbooster/renovate-config": "6.5.0",
58
58
  "babel-plugin-transform-remove-console": "6.9.4",
59
59
  "babel-plugin-unassert": "3.2.0",
60
60
  "babel-preset-power-assert": "3.0.0",
61
61
  "conventional-changelog-conventionalcommits": "4.6.1",
62
- "core-js": "3.19.0",
63
- "eslint": "8.1.0",
62
+ "core-js": "3.20.0",
63
+ "eslint": "8.5.0",
64
64
  "eslint-config-prettier": "8.3.0",
65
65
  "eslint-import-resolver-node": "0.3.6",
66
- "eslint-plugin-import": "2.25.2",
66
+ "eslint-plugin-import": "2.25.3",
67
67
  "husky": "7.0.4",
68
- "lint-staged": "11.2.6",
68
+ "lint-staged": "12.1.3",
69
69
  "micromatch": "4.0.4",
70
70
  "pinst": "2.1.6",
71
71
  "power-assert": "1.6.1",
72
- "prettier": "2.4.1",
73
- "rollup": "2.58.3",
74
- "rollup-plugin-node-externals": "2.2.0",
75
- "semantic-release": "18.0.0",
76
- "sort-package-json": "1.52.0",
77
- "typescript": "4.4.4"
72
+ "prettier": "2.5.1",
73
+ "rollup": "2.61.1",
74
+ "rollup-plugin-node-externals": "3.1.2",
75
+ "semantic-release": "18.0.1",
76
+ "sort-package-json": "1.53.1",
77
+ "typescript": "4.5.4"
78
78
  },
79
79
  "engines": {
80
80
  "node": ">=14"
81
81
  },
82
- "packageManager": "yarn@3.0.2",
83
- "version": "3.1.1"
82
+ "packageManager": "yarn@3.1.1",
83
+ "version": "3.1.2"
84
84
  }