@sanity/pkg-utils 3.2.1 → 3.2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/pkg-utils",
3
- "version": "3.2.1",
3
+ "version": "3.2.2",
4
4
  "description": "Simple utilities for modern npm packages.",
5
5
  "keywords": [
6
6
  "sanity-io",
@@ -68,7 +68,7 @@
68
68
  "@rollup/plugin-commonjs": "^25.0.7",
69
69
  "@rollup/plugin-json": "^6.0.1",
70
70
  "@rollup/plugin-node-resolve": "^15.2.3",
71
- "@rollup/plugin-replace": "^5.0.4",
71
+ "@rollup/plugin-replace": "^5.0.5",
72
72
  "@rollup/plugin-terser": "^0.4.4",
73
73
  "browserslist": "^4.22.1",
74
74
  "cac": "^6.7.14",
@@ -90,7 +90,7 @@
90
90
  "pretty-bytes": "^5.6.0",
91
91
  "prompts": "^2.4.2",
92
92
  "rimraf": "^4.4.1",
93
- "rollup": "^4.1.4",
93
+ "rollup": "^4.1.5",
94
94
  "rollup-plugin-esbuild": "^6.1.0",
95
95
  "rxjs": "^7.8.1",
96
96
  "treeify": "^1.1.0",
@@ -98,8 +98,8 @@
98
98
  "zod": "^3.22.4"
99
99
  },
100
100
  "devDependencies": {
101
- "@commitlint/cli": "^18.0.0",
102
- "@commitlint/config-conventional": "^18.0.0",
101
+ "@commitlint/cli": "^18.2.0",
102
+ "@commitlint/config-conventional": "^18.1.0",
103
103
  "@types/babel__core": "^7.20.3",
104
104
  "@types/cpx": "^1.5.4",
105
105
  "@types/find-config": "^1.0.3",
@@ -110,8 +110,8 @@
110
110
  "@types/rimraf": "^3.0.2",
111
111
  "@types/treeify": "^1.0.2",
112
112
  "@types/uuid": "^9.0.6",
113
- "@typescript-eslint/eslint-plugin": "^6.8.0",
114
- "@typescript-eslint/parser": "^6.8.0",
113
+ "@typescript-eslint/eslint-plugin": "^6.9.0",
114
+ "@typescript-eslint/parser": "^6.9.0",
115
115
  "commitizen": "^4.3.0",
116
116
  "cpx": "^1.5.0",
117
117
  "cz-conventional-changelog": "^3.3.0",
@@ -130,12 +130,12 @@
130
130
  "typescript": "^5.2.2",
131
131
  "vitest": "^0.34.6",
132
132
  "vitest-github-actions-reporter": "^0.10.0",
133
- "@sanity/pkg-utils": "3.2.1"
133
+ "@sanity/pkg-utils": "3.2.2"
134
134
  },
135
135
  "peerDependencies": {
136
136
  "typescript": "^4.7 || ^5"
137
137
  },
138
- "packageManager": "pnpm@8.9.2",
138
+ "packageManager": "pnpm@8.10.0",
139
139
  "engines": {
140
140
  "node": ">=16.0.0"
141
141
  },
@@ -321,6 +321,8 @@ export const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) =
321
321
  'no-shadow': 'error',
322
322
  'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],
323
323
  'quote-props': ['warn', 'consistent-as-needed'],
324
+ 'simple-import-sort/exports': 'warn',
325
+ 'simple-import-sort/imports': 'warn',
324
326
  'strict': ['warn', 'global'],
325
327
  },
326
328
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-F_vsNarH.cjs","sources":["../../src/node/core/template/createFromTemplate.ts","../../src/node/core/template/define.ts","../../src/node/isEmptyDirectory.ts","../../src/node/templates/default/template.ts","../../src/node/init.ts"],"sourcesContent":["import {writeFile} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {dirname, relative, resolve} from 'path'\nimport prompts from 'prompts'\n\nimport {Logger} from '../../logger'\nimport {PkgTemplate} from './types'\n\nconst promptsTypes = {\n string: 'text' as const,\n}\n\n/** @internal */\nexport async function createFromTemplate(options: {\n cwd: string\n logger: Logger\n packagePath: string\n template: PkgTemplate\n}): Promise<void> {\n const {cwd, logger, packagePath, template: templateOrResolver} = options\n\n const template =\n typeof templateOrResolver === 'function'\n ? await templateOrResolver({cwd, logger, packagePath})\n : templateOrResolver\n\n logger.log('create new package at', relative(cwd, packagePath))\n\n const templateOptions: Record<string, string> = {}\n\n for (const templateOption of template.options) {\n const templateValidate = templateOption.validate\n\n const res = await prompts(\n {\n type: promptsTypes[templateOption.type],\n name: templateOption.name,\n message: templateOption.description,\n validate: templateValidate ? (prev) => templateValidate(prev) : undefined,\n initial:\n typeof templateOption.initial === 'function'\n ? templateOption.initial(templateOptions)\n : templateOption.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n\n templateOptions[templateOption.name] = templateOption.parse\n ? templateOption.parse(res[templateOption.name])\n : res[templateOption.name]\n }\n\n const features: Record<string, boolean> = {}\n\n for (const templateFeature of template.features) {\n const res = templateFeature.optional\n ? await prompts(\n {\n type: 'confirm',\n name: 'confirm',\n message: `use ${templateFeature.name}?`,\n initial: templateFeature.initial,\n },\n {onCancel: () => process.exit(0)},\n )\n : undefined\n\n features[templateFeature.name] = res?.confirm || !templateFeature.optional\n }\n\n const files = await template.getFiles(templateOptions, features)\n\n files.sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n for (const file of files) {\n const filePath = resolve(packagePath, file.name)\n\n await mkdirp(dirname(filePath))\n await writeFile(filePath, file.contents.trim() + '\\n')\n\n logger.success(`wrote ${relative(cwd, filePath)}`)\n }\n}\n","import {PkgTemplateOption} from './types'\n\n/** @public */\nexport function defineTemplateOption<T>(option: PkgTemplateOption<T>): PkgTemplateOption<T> {\n return option\n}\n","import {readdir} from 'fs/promises'\n\nexport async function isEmptyDirectory(dirPath: string): Promise<boolean> {\n return (await readdir(dirPath)).length === 0\n}\n","import getLatestVersion from 'get-latest-version'\nimport gitUrlParse from 'git-url-parse'\nimport {outdent} from 'outdent'\nimport parseGitConfig from 'parse-git-config'\nimport {resolve} from 'path'\nimport prettier, {Config as PrettierConfig} from 'prettier'\n\nimport {defineTemplateOption, isRecord, PackageJSON, PkgTemplate, PkgTemplateFile} from '../../core'\n\nconst RE_NAME = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\\/)?[a-z0-9-~][a-z0-9-._~]*$/i\n\nexport const defaultTemplate: PkgTemplate = async ({cwd, logger, packagePath}) => {\n const gitConfig = await parseGitConfig({cwd, type: 'global'})\n\n return {\n options: [\n defineTemplateOption<{owner: string; name: string}>({\n name: 'repo',\n type: 'string',\n description: 'git url',\n validate: (v) => {\n if (!v) return true\n\n try {\n gitUrlParse(v)\n\n return true\n } catch (err) {\n return 'invalid git url'\n }\n },\n parse: (v) => {\n if (!v) return null\n\n const result = gitUrlParse(v)\n\n return {source: result.source, owner: result.owner, name: result.name}\n },\n }),\n defineTemplateOption({\n name: 'pkgName',\n type: 'string',\n description: 'package name',\n initial: (options) => options.repo?.name || undefined,\n validate: (v) => {\n if (!v) return 'package name is required'\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n return 'invalid package name'\n }\n\n return true\n },\n parse: (v) => {\n if (!v) {\n throw new Error('package name is required')\n }\n\n const match = RE_NAME.exec(v)\n\n if (!match) {\n throw new Error('invalid package name')\n }\n\n const [scope, name] = v.split('/')\n\n return {scope, name, fullName: v}\n },\n }),\n defineTemplateOption({\n name: 'description',\n type: 'string',\n description: 'package description',\n }),\n defineTemplateOption({\n name: 'authorName',\n type: 'string',\n description: 'package author name',\n initial: gitConfig?.user?.name,\n }),\n defineTemplateOption({\n name: 'authorEmail',\n type: 'string',\n description: 'package author email',\n initial: gitConfig?.user?.email,\n }),\n defineTemplateOption({\n name: 'license',\n type: 'string',\n description: 'package license',\n initial: 'MIT',\n validate: (v) => {\n if (!v) return 'license is required'\n\n return true\n },\n }),\n ],\n\n features: [\n {\n name: 'eslint',\n optional: true,\n initial: true,\n },\n {\n name: 'prettier',\n optional: true,\n initial: true,\n },\n {\n name: 'typescript',\n optional: true,\n initial: true,\n },\n ],\n\n async getFiles(options, features) {\n const {pkgName, repo} = options\n const {fullName: name} = pkgName\n\n const author =\n [options.authorName, options.authorEmail && `<${options.authorEmail}>`]\n .filter(Boolean)\n .join(' ') ?? undefined\n\n const prettierConfig: PrettierConfig | undefined = features.prettier\n ? {\n bracketSpacing: false,\n plugins: ['prettier-plugin-packagejson'],\n printWidth: 100,\n quoteProps: 'consistent',\n semi: false,\n singleQuote: true,\n tabWidth: 2,\n overrides: [\n {\n files: ['*.yml'],\n options: {\n singleQuote: false,\n },\n },\n ],\n }\n : undefined\n\n const pkgJson: PackageJSON & {\n prettier?: PrettierConfig\n ['lint-staged']?: Record<string, string[]>\n } = {\n name,\n 'version': '0.0.0',\n 'description': options.description ?? undefined,\n 'keywords': [],\n 'homepage': undefined,\n 'bugs': undefined,\n 'repository': undefined,\n 'license': options.license,\n author,\n 'type': 'module',\n 'exports': {\n '.': {\n types: undefined,\n source: features.typescript ? './src/index.ts' : './src/index.js',\n import: './dist/index.js',\n require: './dist/index.cjs',\n default: './dist/index.js',\n },\n './package.json': './package.json',\n },\n 'main': './dist/index.cjs',\n 'module': './dist/index.js',\n 'source': features.typescript ? './src/index.ts' : './src/index.js',\n 'types': undefined,\n 'files': ['dist', 'src'],\n 'scripts': {\n 'build': 'run-s clean pkg:build pkg:check',\n 'clean': 'rimraf dist',\n 'format': features.prettier ? 'prettier --write --cache --ignore-unknown .' : undefined,\n 'pkg:build': 'pkg build --strict',\n 'pkg:check': 'pkg check --strict',\n },\n 'lint-staged': features.prettier\n ? {\n '*': ['prettier --write --cache --ignore-unknown'],\n }\n : undefined,\n // prettier: prettierConfig,\n 'dependencies': {},\n 'devDependencies': {\n '@sanity/pkg-utils': '*',\n '@typescript-eslint/eslint-plugin': undefined,\n '@typescript-eslint/parser': undefined,\n 'eslint': undefined,\n 'eslint-config-prettier': undefined,\n 'eslint-plugin-import': undefined,\n 'eslint-plugin-prettier': undefined,\n 'eslint-plugin-simple-import-sort': undefined,\n 'lint-staged': '*',\n 'npm-run-all': '*',\n 'prettier': features.prettier ? '*' : undefined,\n 'prettier-plugin-packagejson': features.prettier ? '*' : undefined,\n 'rimraf': '*',\n 'typescript': undefined,\n },\n 'engines': {\n node: '>=18.0.0',\n },\n }\n\n const files: PkgTemplateFile[] = []\n\n // .editorconfig\n files.push({\n name: '.editorconfig',\n contents: outdent`\n root = true\n\n [*]\n charset = utf-8\n indent_style = space\n indent_size = 2\n end_of_line = lf\n insert_final_newline = true\n trim_trailing_whitespace = true\n `,\n })\n\n // .gitignore\n files.push({\n name: '.gitignore',\n contents: outdent`\n *.local\n *.log\n *.tgz\n\n .DS_Store\n dist\n etc\n node_modules\n `,\n })\n\n if (features.prettier) {\n files.push({\n name: '.prettierignore',\n contents: outdent`\n dist\n pnpm-lock.yaml\n `,\n })\n\n files.push({\n name: '.prettierrc',\n contents: await format(\n resolve(packagePath, '.prettierrc.json'),\n JSON.stringify(prettierConfig, null, 2) + '\\n',\n prettierConfig,\n ),\n })\n }\n\n if (repo) {\n pkgJson.repository = {\n type: 'git',\n url: `git+ssh://git@${repo.source}/${repo.owner}/${repo.name}.git`,\n }\n pkgJson.bugs = {\n url: `https://${repo.source}/${repo.owner}/${repo.name}/issues`,\n }\n pkgJson.homepage = `https://${repo.source}/${repo.owner}/${repo.name}#readme`\n }\n\n if (features.typescript) {\n pkgJson.types = './dist/index.d.ts'\n\n const mainExport = pkgJson.exports?.['.']\n\n if (isRecord(mainExport)) {\n mainExport.types = './dist/index.d.ts'\n }\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n ['ts:check']: 'tsc --build',\n }\n\n const devDependencies = pkgJson.devDependencies\n\n if (isRecord(devDependencies)) {\n devDependencies['typescript'] = '*'\n }\n }\n\n if (features.eslint) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfig: any = {\n root: true,\n env: {\n browser: true,\n es6: true,\n node: true,\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n ].filter(Boolean),\n parserOptions: {\n ecmaVersion: 2020,\n sourceType: 'module',\n },\n plugins: [\n 'import',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n 'no-console': 'error',\n 'no-shadow': 'error',\n 'no-warning-comments': ['warn', {location: 'start', terms: ['todo', 'fixme']}],\n 'quote-props': ['warn', 'consistent-as-needed'],\n 'strict': ['warn', 'global'],\n },\n }\n\n files.push({\n name: '.eslintignore',\n contents: outdent`\n dist\n `,\n })\n\n pkgJson.scripts = {\n ...pkgJson.scripts,\n lint: features.typescript\n ? 'eslint . --ext .cjs,.js,.ts,.tsx'\n : 'eslint . --ext .cjs,.js',\n }\n\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n 'eslint': '*',\n 'eslint-config-prettier': features.prettier ? '*' : undefined,\n 'eslint-plugin-simple-import-sort': '*',\n 'eslint-plugin-import': '*',\n 'eslint-plugin-prettier': features.prettier ? '*' : undefined,\n }\n\n if (features.typescript) {\n pkgJson.devDependencies = {\n ...pkgJson.devDependencies,\n '@typescript-eslint/eslint-plugin': '*',\n '@typescript-eslint/parser': '*',\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const eslintConfigOverride: any = {\n files: ['**/*.ts', '**/*.tsx'],\n parser: '@typescript-eslint/parser',\n parserOptions: {\n project: ['./tsconfig.json'],\n },\n extends: [\n 'eslint:recommended',\n features.prettier ? 'plugin:prettier/recommended' : undefined,\n 'plugin:@typescript-eslint/eslint-recommended',\n 'plugin:@typescript-eslint/recommended',\n ].filter(Boolean),\n plugins: [\n 'import',\n '@typescript-eslint',\n 'simple-import-sort',\n features.prettier ? 'prettier' : undefined,\n ].filter(Boolean),\n rules: {\n '@typescript-eslint/explicit-module-boundary-types': 'error',\n '@typescript-eslint/interface-name-prefix': 'off',\n '@typescript-eslint/member-delimiter-style': 'off',\n '@typescript-eslint/no-empty-interface': 'off',\n },\n }\n\n eslintConfig.overrides = [eslintConfigOverride]\n }\n\n files.push({\n name: '.eslintrc.cjs',\n contents: await format(\n resolve(packagePath, '.eslintrc.cjs'),\n outdent`\n 'use strict'\n\n /** @type import('eslint').Linter.Config */\n module.exports = ${JSON.stringify(eslintConfig, null, 2)}\n `,\n prettierConfig,\n ),\n })\n }\n\n if (features.typescript) {\n files.push({\n name: 'tsconfig.settings.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.settings.json'),\n outdent`\n {\n \"compilerOptions\": {\n // Completeness\n \"skipLibCheck\": true,\n\n // Interop constraints\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": true,\n\n // Language and environment\n \"target\": \"ES2020\",\n\n // Modules\n \"module\": \"ES2020\",\n \"moduleResolution\": \"Node\",\n\n // Type checking\n \"alwaysStrict\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"noImplicitAny\": true,\n \"noImplicitReturns\": true,\n \"noImplicitThis\": true,\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"strict\": true,\n \"strictFunctionTypes\": true,\n \"strictNullChecks\": true,\n \"strictPropertyInitialization\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.dist.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.dist.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./src\"],\n \"exclude\": [\"./src/**/*.test.ts\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"resolveJsonModule\": true\n }\n }\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'tsconfig.json',\n contents: await format(\n resolve(packagePath, 'tsconfig.json'),\n outdent`\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./**/*.cjs\", \"./**/*.ts\", \"./**/*.tsx\"],\n \"exclude\": [\"./node_modules\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"noEmit\": true,\n \"allowJs\": true,\n \"resolveJsonModule\": true,\n }\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // source file\n if (features.typescript) {\n files.push({\n name: 'package.config.ts',\n contents: await format(\n resolve(packagePath, 'package.config.ts'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n // https://github.com/sanity-io/pkg-utils#configuration\n export default defineConfig({\n // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.ts',\n contents: await format(\n resolve(packagePath, 'src/index.ts'),\n outdent`\n /** @public */\n export function main(): void {\n //\n }\n `,\n prettierConfig,\n ),\n })\n } else {\n files.push({\n name: 'package.config.js',\n contents: await format(\n resolve(packagePath, 'package.config.js'),\n outdent`\n import {defineConfig} from '@sanity/pkg-utils'\n\n export default defineConfig({\n extract: {\n rules: {\n // do not require internal members to be prefixed with \\`_\\`\n 'ae-internal-missing-underscore': 'off',\n },\n },\n })\n `,\n prettierConfig,\n ),\n })\n\n files.push({\n name: 'src/index.js',\n contents: await format(\n resolve(packagePath, 'src/index.js'),\n outdent`\n /** @public */\n export function main() {\n //\n }\n `,\n prettierConfig,\n ),\n })\n }\n\n // Resolve latest dependencies\n try {\n pkgJson.dependencies = await resolveLatestDeps(pkgJson.dependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n // Resolve latest devDependencies\n try {\n pkgJson.devDependencies = await resolveLatestDeps(pkgJson.devDependencies ?? {})\n } catch (error) {\n logger.warn(error instanceof Error ? error.message : error)\n }\n\n files.push({\n name: 'package.json',\n contents: await format(\n resolve(packagePath, 'package.json'),\n JSON.stringify(pkgJson, null, 2),\n prettierConfig,\n ),\n })\n\n return files\n },\n }\n}\n\nfunction format(filepath: string, input: string, prettierOptions: PrettierConfig | undefined) {\n return prettier.format(input, {...prettierOptions, plugins: [], filepath})\n}\n\nasync function resolveLatestDeps(deps: Record<string, string | undefined>) {\n const depsEntries = Object.entries(deps)\n const latestDeps: Record<string, string> = {}\n\n for (const entry of depsEntries) {\n const [name, version] = entry\n\n if (version) {\n const latestVersion = await getLatestVersion(name, version)\n\n latestDeps[name] = latestVersion ? `^${latestVersion}` : version\n }\n }\n\n return latestDeps\n}\n","import {lstat} from 'fs/promises'\nimport {mkdirp} from 'mkdirp'\nimport {resolve} from 'path'\n\nimport {createFromTemplate} from './core/template'\nimport {fileExists} from './fileExists'\nimport {isEmptyDirectory} from './isEmptyDirectory'\nimport {createLogger} from './logger'\nimport {defaultTemplate} from './templates'\n\n/** @public */\nexport async function init(options: {cwd: string; path: string}): Promise<void> {\n if (!options.cwd) {\n throw new Error('Missing required option: cwd')\n }\n\n if (!options.path) {\n throw new Error('Missing required option: path')\n }\n\n const logger = createLogger()\n\n const packagePath = resolve(options.cwd, options.path)\n\n await ensurePackagePath(packagePath)\n\n await createFromTemplate({\n cwd: options.cwd,\n logger,\n template: defaultTemplate,\n packagePath,\n })\n}\n\nasync function ensurePackagePath(packagePath: string): Promise<void> {\n const exists = fileExists(packagePath)\n\n if (!exists) {\n await mkdirp(packagePath)\n\n return\n }\n\n const dir = (await lstat(packagePath)).isDirectory()\n\n if (!dir) {\n throw new Error('the package path is a file, not a directory')\n }\n\n const empty = await isEmptyDirectory(packagePath)\n\n if (!empty) {\n throw new Error('the package directory is not empty')\n }\n}\n"],"names":["promptsTypes","string","createFromTemplate","options","cwd","logger","packagePath","template","templateOrResolver","log","relative","templateOptions","templateOption","templateValidate","validate","res","prompts","default","type","name","message","description","prev","initial","onCancel","process","exit","parse","features","templateFeature","optional","concat","confirm","files","getFiles","sort","a","b","localeCompare","file","filePath","resolve","mkdirp","dirname","writeFile","contents","trim","success","defineTemplateOption","option","isEmptyDirectory","dirPath","readdir","length","RE_NAME","defaultTemplate","_ref","_gitConfig$user","_gitConfig$user2","gitConfig","parseGitConfig","v","gitUrlParse","err","result","source","owner","_options$repo","repo","match","exec","Error","scope","split","fullName","user","email","_filter$join","_options$description","pkgName","author","authorName","authorEmail","filter","Boolean","join","prettierConfig","prettier","bracketSpacing","plugins","printWidth","quoteProps","semi","singleQuote","tabWidth","overrides","pkgJson","license","types","typescript","import","require","node","push","outdent","_templateObject","_taggedTemplateLiteral","_templateObject2","_templateObject3","format","JSON","stringify","repository","url","bugs","homepage","_pkgJson$exports","mainExport","exports","isRecord","scripts","devDependencies","eslint","eslintConfig","root","env","browser","es6","extends","parserOptions","ecmaVersion","sourceType","rules","location","terms","_templateObject4","lint","eslintConfigOverride","parser","project","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","_templateObject12","_pkgJson$dependencies","dependencies","resolveLatestDeps","error","warn","_pkgJson$devDependenc","filepath","input","prettierOptions","deps","depsEntries","Object","entries","latestDeps","entry","version","latestVersion","getLatestVersion","init","path","createLogger","ensurePackagePath","exists","fileExists","dir","lstat","isDirectory","empty"],"mappings":"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"}