@sanity/pkg-utils 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/_chunks/{build-zIodsGMj.cjs → build-5-t0rNQ5.cjs} +3 -3
  2. package/dist/_chunks/{build-zIodsGMj.cjs.map → build-5-t0rNQ5.cjs.map} +1 -1
  3. package/dist/_chunks/{buildAction-F25hbZcX.cjs → buildAction-XzgSYD6h.cjs} +2 -2
  4. package/dist/_chunks/{buildAction-F25hbZcX.cjs.map → buildAction-XzgSYD6h.cjs.map} +1 -1
  5. package/dist/_chunks/{check-X8xKPDnl.cjs → check-K-76aP0H.cjs} +2 -2
  6. package/dist/_chunks/{check-X8xKPDnl.cjs.map → check-K-76aP0H.cjs.map} +1 -1
  7. package/dist/_chunks/{checkAction-uQWLDlBA.cjs → checkAction-ovZpdoTW.cjs} +2 -2
  8. package/dist/_chunks/{checkAction-uQWLDlBA.cjs.map → checkAction-ovZpdoTW.cjs.map} +1 -1
  9. package/dist/_chunks/{consoleSpy--ReK-_gE.cjs → consoleSpy-Njnvw7-i.cjs} +4 -4
  10. package/dist/_chunks/consoleSpy-Njnvw7-i.cjs.map +1 -0
  11. package/dist/_chunks/{index-qV4Iq6pv.cjs → index-jKQCY5H6.cjs} +3 -3
  12. package/dist/_chunks/{index-qV4Iq6pv.cjs.map → index-jKQCY5H6.cjs.map} +1 -1
  13. package/dist/_chunks/{init-gkPbG69g.cjs → init-F_vsNarH.cjs} +78 -49
  14. package/dist/_chunks/init-F_vsNarH.cjs.map +1 -0
  15. package/dist/_chunks/{initAction-bz-ok0LO.cjs → initAction-dKWPRJL7.cjs} +2 -2
  16. package/dist/_chunks/{initAction-bz-ok0LO.cjs.map → initAction-dKWPRJL7.cjs.map} +1 -1
  17. package/dist/_chunks/{watch-4Yq69TUG.cjs → watch-8dkaWImB.cjs} +3 -3
  18. package/dist/_chunks/{watch-4Yq69TUG.cjs.map → watch-8dkaWImB.cjs.map} +1 -1
  19. package/dist/_chunks/{watchAction-HseKdhoO.cjs → watchAction-MPezXdut.cjs} +2 -2
  20. package/dist/_chunks/{watchAction-HseKdhoO.cjs.map → watchAction-MPezXdut.cjs.map} +1 -1
  21. package/dist/cli.cjs +5 -5
  22. package/dist/index.cjs +6 -6
  23. package/dist/index.d.ts +5 -5
  24. package/dist/index.js +4 -3
  25. package/dist/index.js.map +1 -1
  26. package/package.json +20 -55
  27. package/src/node/core/pkg/types.ts +4 -4
  28. package/src/node/core/ts/loadTSConfig.ts +2 -2
  29. package/src/node/resolveBuildContext.ts +2 -2
  30. package/src/node/tasks/dts/getExtractMessagesConfig.ts +2 -2
  31. package/src/node/templates/default/template.ts +139 -92
  32. package/dist/_chunks/consoleSpy--ReK-_gE.cjs.map +0 -1
  33. package/dist/_chunks/init-gkPbG69g.cjs.map +0 -1
@@ -182,6 +182,10 @@ const defaultTemplate = async _ref => {
182
182
  name: "eslint",
183
183
  optional: true,
184
184
  initial: true
185
+ }, {
186
+ name: "prettier",
187
+ optional: true,
188
+ initial: true
185
189
  }, {
186
190
  name: "typescript",
187
191
  optional: true,
@@ -197,63 +201,76 @@ const defaultTemplate = async _ref => {
197
201
  fullName: name
198
202
  } = pkgName;
199
203
  const author = (_filter$join = [options.authorName, options.authorEmail && "<".concat(options.authorEmail, ">")].filter(Boolean).join(" ")) !== null && _filter$join !== void 0 ? _filter$join : void 0;
200
- const prettierConfig = {
204
+ const prettierConfig = features.prettier ? {
201
205
  bracketSpacing: false,
206
+ plugins: ["prettier-plugin-packagejson"],
202
207
  printWidth: 100,
208
+ quoteProps: "consistent",
203
209
  semi: false,
204
210
  singleQuote: true,
205
211
  tabWidth: 2,
206
- plugins: ["prettier-plugin-packagejson"],
207
212
  overrides: [{
208
213
  files: ["*.yml"],
209
214
  options: {
210
215
  singleQuote: false
211
216
  }
212
217
  }]
213
- };
218
+ } : void 0;
214
219
  const pkgJson = {
215
220
  name,
216
- version: "0.0.0",
217
- description: (_options$description = options.description) !== null && _options$description !== void 0 ? _options$description : void 0,
218
- keywords: [],
219
- license: options.license,
221
+ "version": "0.0.0",
222
+ "description": (_options$description = options.description) !== null && _options$description !== void 0 ? _options$description : void 0,
223
+ "keywords": [],
224
+ "homepage": void 0,
225
+ "bugs": void 0,
226
+ "repository": void 0,
227
+ "license": options.license,
220
228
  author,
221
- type: "module",
222
- exports: {
229
+ "type": "module",
230
+ "exports": {
223
231
  ".": {
224
232
  types: void 0,
225
233
  source: features.typescript ? "./src/index.ts" : "./src/index.js",
226
- require: "./dist/index.cjs",
227
234
  import: "./dist/index.js",
235
+ require: "./dist/index.cjs",
228
236
  default: "./dist/index.js"
229
237
  },
230
238
  "./package.json": "./package.json"
231
239
  },
232
- main: "./dist/index.cjs",
233
- module: "./dist/index.js",
234
- source: features.typescript ? "./src/index.ts" : "./src/index.js",
235
- files: ["dist", "src"],
236
- scripts: {
237
- build: "run-s clean pkg:build pkg:check",
238
- clean: "rimraf dist",
239
- format: "prettier --write --cache --ignore-unknown .",
240
+ "main": "./dist/index.cjs",
241
+ "module": "./dist/index.js",
242
+ "source": features.typescript ? "./src/index.ts" : "./src/index.js",
243
+ "types": void 0,
244
+ "files": ["dist", "src"],
245
+ "scripts": {
246
+ "build": "run-s clean pkg:build pkg:check",
247
+ "clean": "rimraf dist",
248
+ "format": features.prettier ? "prettier --write --cache --ignore-unknown ." : void 0,
240
249
  "pkg:build": "pkg build --strict",
241
250
  "pkg:check": "pkg check --strict"
242
251
  },
243
- prettier: prettierConfig,
244
- "lint-staged": {
252
+ "lint-staged": features.prettier ? {
245
253
  "*": ["prettier --write --cache --ignore-unknown"]
246
- },
247
- dependencies: {},
248
- devDependencies: {
254
+ } : void 0,
255
+ // prettier: prettierConfig,
256
+ "dependencies": {},
257
+ "devDependencies": {
249
258
  "@sanity/pkg-utils": "*",
259
+ "@typescript-eslint/eslint-plugin": void 0,
260
+ "@typescript-eslint/parser": void 0,
261
+ "eslint": void 0,
262
+ "eslint-config-prettier": void 0,
263
+ "eslint-plugin-import": void 0,
264
+ "eslint-plugin-prettier": void 0,
265
+ "eslint-plugin-simple-import-sort": void 0,
250
266
  "lint-staged": "*",
251
267
  "npm-run-all": "*",
252
- prettier: "*",
253
- "prettier-plugin-packagejson": "*",
254
- rimraf: "*"
268
+ "prettier": features.prettier ? "*" : void 0,
269
+ "prettier-plugin-packagejson": features.prettier ? "*" : void 0,
270
+ "rimraf": "*",
271
+ "typescript": void 0
255
272
  },
256
- engines: {
273
+ "engines": {
257
274
  node: ">=18.0.0"
258
275
  }
259
276
  };
@@ -264,12 +281,18 @@ const defaultTemplate = async _ref => {
264
281
  });
265
282
  files.push({
266
283
  name: ".gitignore",
267
- contents: outdent.outdent(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n *.local\n *.log\n\n .DS_Store\n etc\n dist\n node_modules\n "])))
268
- });
269
- files.push({
270
- name: ".prettierignore",
271
- contents: outdent.outdent(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n /dist\n /pnpm-lock.yaml\n "])))
284
+ contents: outdent.outdent(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n *.local\n *.log\n *.tgz\n\n .DS_Store\n dist\n etc\n node_modules\n "])))
272
285
  });
286
+ if (features.prettier) {
287
+ files.push({
288
+ name: ".prettierignore",
289
+ contents: outdent.outdent(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n dist\n pnpm-lock.yaml\n "])))
290
+ });
291
+ files.push({
292
+ name: ".prettierrc",
293
+ contents: await format(path.resolve(packagePath, ".prettierrc.json"), JSON.stringify(prettierConfig, null, 2) + "\n", prettierConfig)
294
+ });
295
+ }
273
296
  if (repo) {
274
297
  pkgJson.repository = {
275
298
  type: "git",
@@ -289,7 +312,7 @@ const defaultTemplate = async _ref => {
289
312
  }
290
313
  pkgJson.scripts = {
291
314
  ...pkgJson.scripts,
292
- ["type:check"]: "tsc --build"
315
+ ["ts:check"]: "tsc --build"
293
316
  };
294
317
  const devDependencies = pkgJson.devDependencies;
295
318
  if (logger.isRecord(devDependencies)) {
@@ -304,24 +327,26 @@ const defaultTemplate = async _ref => {
304
327
  es6: true,
305
328
  node: true
306
329
  },
307
- extends: ["eslint:recommended", "plugin:prettier/recommended"],
330
+ extends: ["eslint:recommended", features.prettier ? "plugin:prettier/recommended" : void 0].filter(Boolean),
308
331
  parserOptions: {
309
332
  ecmaVersion: 2020,
310
333
  sourceType: "module"
311
334
  },
312
- plugins: ["import", "prettier"],
335
+ plugins: ["import", "simple-import-sort", features.prettier ? "prettier" : void 0].filter(Boolean),
313
336
  rules: {
314
337
  "no-console": "error",
315
338
  "no-shadow": "error",
316
339
  "no-warning-comments": ["warn", {
317
340
  location: "start",
318
341
  terms: ["todo", "fixme"]
319
- }]
342
+ }],
343
+ "quote-props": ["warn", "consistent-as-needed"],
344
+ "strict": ["warn", "global"]
320
345
  }
321
346
  };
322
347
  files.push({
323
348
  name: ".eslintignore",
324
- contents: outdent.outdent(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n /dist\n "])))
349
+ contents: outdent.outdent(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n dist\n "])))
325
350
  });
326
351
  pkgJson.scripts = {
327
352
  ...pkgJson.scripts,
@@ -329,10 +354,11 @@ const defaultTemplate = async _ref => {
329
354
  };
330
355
  pkgJson.devDependencies = {
331
356
  ...pkgJson.devDependencies,
332
- eslint: "*",
333
- "eslint-config-prettier": "*",
357
+ "eslint": "*",
358
+ "eslint-config-prettier": features.prettier ? "*" : void 0,
359
+ "eslint-plugin-simple-import-sort": "*",
334
360
  "eslint-plugin-import": "*",
335
- "eslint-plugin-prettier": "*"
361
+ "eslint-plugin-prettier": features.prettier ? "*" : void 0
336
362
  };
337
363
  if (features.typescript) {
338
364
  pkgJson.devDependencies = {
@@ -346,8 +372,8 @@ const defaultTemplate = async _ref => {
346
372
  parserOptions: {
347
373
  project: ["./tsconfig.json"]
348
374
  },
349
- extends: ["eslint:recommended", "plugin:prettier/recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended"].filter(Boolean),
350
- plugins: ["import", "@typescript-eslint", "prettier"].filter(Boolean),
375
+ extends: ["eslint:recommended", features.prettier ? "plugin:prettier/recommended" : void 0, "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended"].filter(Boolean),
376
+ plugins: ["import", "@typescript-eslint", "simple-import-sort", features.prettier ? "prettier" : void 0].filter(Boolean),
351
377
  rules: {
352
378
  "@typescript-eslint/explicit-module-boundary-types": "error",
353
379
  "@typescript-eslint/interface-name-prefix": "off",
@@ -365,21 +391,21 @@ const defaultTemplate = async _ref => {
365
391
  if (features.typescript) {
366
392
  files.push({
367
393
  name: "tsconfig.settings.json",
368
- contents: await format(path.resolve(packagePath, "tsconfig.settings.json"), outdent.outdent(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n {\n \"compilerOptions\": {\n \"module\": \"ES2020\",\n \"target\": \"ES2020\",\n \"declaration\": true,\n \"declarationMap\": true,\n \"sourceMap\": true,\n\n // Strict type-checking\n \"strict\": true,\n \"noImplicitAny\": true,\n \"strictNullChecks\": true,\n \"strictFunctionTypes\": true,\n \"strictPropertyInitialization\": true,\n \"noImplicitThis\": true,\n \"alwaysStrict\": true,\n\n // Additional checks\n \"noUnusedLocals\": true,\n \"noUnusedParameters\": true,\n \"noImplicitReturns\": true,\n \"noFallthroughCasesInSwitch\": true,\n \"skipLibCheck\": true,\n\n // Module resolution\n \"moduleResolution\": \"node\",\n \"allowSyntheticDefaultImports\": true,\n \"esModuleInterop\": true\n }\n }\n "]))), prettierConfig)
394
+ contents: await format(path.resolve(packagePath, "tsconfig.settings.json"), outdent.outdent(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\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 "]))), prettierConfig)
369
395
  });
370
396
  files.push({
371
397
  name: "tsconfig.dist.json",
372
- contents: await format(path.resolve(packagePath, "tsconfig.dist.json"), outdent.outdent(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"emitDeclarationOnly\": true,\n \"resolveJsonModule\": true\n }\n }\n "]))), prettierConfig)
398
+ contents: await format(path.resolve(packagePath, "tsconfig.dist.json"), outdent.outdent(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\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 "]))), prettierConfig)
373
399
  });
374
400
  files.push({
375
401
  name: "tsconfig.json",
376
- contents: await format(path.resolve(packagePath, "tsconfig.json"), outdent.outdent(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n {\n \"extends\": \"./tsconfig.settings\",\n \"include\": [\"./*.cjs\", \"./*.ts\", \"./package.config.ts\", \"./src\"],\n \"compilerOptions\": {\n \"rootDir\": \".\",\n \"outDir\": \"./dist\",\n \"noEmit\": true,\n \"allowJs\": true,\n \"resolveJsonModule\": true,\n }\n }\n "]))), prettierConfig)
402
+ contents: await format(path.resolve(packagePath, "tsconfig.json"), outdent.outdent(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\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 "]))), prettierConfig)
377
403
  });
378
404
  }
379
405
  if (features.typescript) {
380
406
  files.push({
381
407
  name: "package.config.ts",
382
- contents: await format(path.resolve(packagePath, "package.config.ts"), outdent.outdent(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\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 // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n "], ["\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 // the path to the tsconfig file for distributed builds\n tsconfig: 'tsconfig.dist.json',\n })\n "]))), prettierConfig)
408
+ contents: await format(path.resolve(packagePath, "package.config.ts"), outdent.outdent(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\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 "]))), prettierConfig)
383
409
  });
384
410
  files.push({
385
411
  name: "src/index.ts",
@@ -418,6 +444,7 @@ const defaultTemplate = async _ref => {
418
444
  function format(filepath, input, prettierOptions) {
419
445
  return prettier__default.default.format(input, {
420
446
  ...prettierOptions,
447
+ plugins: [],
421
448
  filepath
422
449
  });
423
450
  }
@@ -426,8 +453,10 @@ async function resolveLatestDeps(deps) {
426
453
  const latestDeps = {};
427
454
  for (const entry of depsEntries) {
428
455
  const [name, version] = entry;
429
- const latestVersion = await getLatestVersion__default.default(name, version);
430
- latestDeps[name] = latestVersion ? "^".concat(latestVersion) : version;
456
+ if (version) {
457
+ const latestVersion = await getLatestVersion__default.default(name, version);
458
+ latestDeps[name] = latestVersion ? "^".concat(latestVersion) : version;
459
+ }
431
460
  }
432
461
  return latestDeps;
433
462
  }
@@ -466,4 +495,4 @@ async function ensurePackagePath(packagePath) {
466
495
  exports.createFromTemplate = createFromTemplate;
467
496
  exports.defineTemplateOption = defineTemplateOption;
468
497
  exports.init = init;
469
- //# sourceMappingURL=init-gkPbG69g.cjs.map
498
+ //# sourceMappingURL=init-F_vsNarH.cjs.map
@@ -0,0 +1 @@
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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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var init = require('./init-gkPbG69g.cjs');
3
+ var init = require('./init-F_vsNarH.cjs');
4
4
  var handleError = require('./handleError-esTdSrHu.cjs');
5
5
  async function initAction(options) {
6
6
  try {
@@ -13,4 +13,4 @@ async function initAction(options) {
13
13
  }
14
14
  }
15
15
  exports.initAction = initAction;
16
- //# sourceMappingURL=initAction-bz-ok0LO.cjs.map
16
+ //# sourceMappingURL=initAction-dKWPRJL7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"initAction-bz-ok0LO.cjs","sources":["../../src/cli/initAction.ts"],"sourcesContent":["import {init} from '../node/init'\nimport {handleError} from './handleError'\n\nexport async function initAction(options: {path: string}): Promise<void> {\n try {\n await init({\n cwd: process.cwd(),\n path: options.path,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["initAction","options","init","cwd","process","path","err","handleError"],"mappings":";;;;AAGA,eAAsBA,WAAWC,OAAwC,EAAA;EACnE,IAAA;IACF,MAAMC,SAAK,CAAA;MACTC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,MAAMJ,OAAQ,CAAAI;IAAA,CACf,CAAA;WACMC,GAAK,EAAA;IACZC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
1
+ {"version":3,"file":"initAction-dKWPRJL7.cjs","sources":["../../src/cli/initAction.ts"],"sourcesContent":["import {init} from '../node/init'\nimport {handleError} from './handleError'\n\nexport async function initAction(options: {path: string}): Promise<void> {\n try {\n await init({\n cwd: process.cwd(),\n path: options.path,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["initAction","options","init","cwd","process","path","err","handleError"],"mappings":";;;;AAGA,eAAsBA,WAAWC,OAAwC,EAAA;EACnE,IAAA;IACF,MAAMC,SAAK,CAAA;MACTC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,MAAMJ,OAAQ,CAAAI;IAAA,CACf,CAAA;WACMC,GAAK,EAAA;IACZC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var path = require('path');
4
4
  var rxjs = require('rxjs');
5
- var consoleSpy = require('./consoleSpy--ReK-_gE.cjs');
5
+ var consoleSpy = require('./consoleSpy-Njnvw7-i.cjs');
6
6
  require('fs/promises');
7
7
  require('pkg-up');
8
8
  var logger = require('./logger-_q9DVAFj.cjs');
@@ -10,7 +10,7 @@ require('mkdirp');
10
10
  require('prompts');
11
11
  require('typescript');
12
12
  var fs = require('fs');
13
- var index = require('./index-qV4Iq6pv.cjs');
13
+ var index = require('./index-jKQCY5H6.cjs');
14
14
  var operators = require('rxjs/operators');
15
15
  var globby = require('globby');
16
16
  var chokidar = require('chokidar');
@@ -230,4 +230,4 @@ async function watch(options) {
230
230
  });
231
231
  }
232
232
  exports.watch = watch;
233
- //# sourceMappingURL=watch-4Yq69TUG.cjs.map
233
+ //# sourceMappingURL=watch-8dkaWImB.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-4Yq69TUG.cjs","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'watch:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged(),\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["resolveWatchTasks","ctx","config","cwd","pkg","target","tasks","exports","Object","entries","map","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","_exp$browser","_exp$browser2","browser","import","_exp$browser3","_exp$browser4","length","values","legacyExports","_exported","_exp$browser5","relativeTargetPath","replace","fs","writeFileSync","resolve","globFiles","patterns","globby","pattern","split","default","sep","posix","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","_config$legacyExports","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","process","exit","result","complete","success"],"mappings":"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"}
1
+ {"version":3,"file":"watch-8dkaWImB.cjs","sources":["../../src/node/resolveWatchTasks.ts","../../src/node/globFiles.ts","../../src/node/watchFiles.ts","../../src/node/watchConfigFiles.ts","../../src/node/watch.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\n\nimport {BuildContext, PkgExport, PkgFormat, PkgRuntime} from './core'\nimport {DtsWatchTask, RollupTaskEntry, RollupWatchTask, WatchTask} from './tasks'\n\n/** @internal */\nexport function resolveWatchTasks(ctx: BuildContext): WatchTask[] {\n const {config, cwd, pkg, target} = ctx\n const tasks: WatchTask[] = []\n\n const exports = Object.entries(ctx.exports || {}).map(\n ([_path, exp]) => ({_path, ...exp}) as PkgExport & {_path: string},\n )\n\n const dtsTask: DtsWatchTask = {\n type: 'watch:dts',\n entries: [],\n }\n\n const rollupTasks: Record<string, RollupWatchTask> = {}\n\n function addRollupTaskEntry(format: PkgFormat, runtime: PkgRuntime, entry: RollupTaskEntry) {\n const buildId = `${format}:${runtime}`\n\n if (rollupTasks[buildId]) {\n rollupTasks[buildId].entries.push(entry)\n } else {\n rollupTasks[buildId] = {\n type: 'watch:js',\n buildId,\n entries: [entry],\n runtime,\n format,\n target: target[runtime],\n }\n }\n }\n\n // Parse `dts` tasks\n for (const exp of exports) {\n const importId = path.join(pkg.name, exp._path)\n\n if (exp.types) {\n dtsTask.entries.push({\n importId,\n exportPath: exp._path,\n sourcePath: exp.source,\n targetPath: exp.types,\n })\n }\n }\n\n // Parse rollup:commonjs:* tasks\n for (const exp of exports) {\n const output = exp.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:commonjs:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.require\n\n if (!output) continue\n\n addRollupTaskEntry('commonjs', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:* tasks\n for (const exp of exports) {\n const output = exp.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', ctx.runtime, {\n path: exp._path,\n source: exp.source,\n output,\n })\n }\n\n // Parse rollup:esm:browser tasks\n for (const exp of exports) {\n const output = exp.browser?.import\n\n if (!output) continue\n\n addRollupTaskEntry('esm', 'browser', {\n path: exp._path,\n source: exp.browser?.source || exp.source,\n output,\n })\n }\n\n if (dtsTask.entries.length) {\n tasks.push(dtsTask)\n }\n\n tasks.push(...Object.values(rollupTasks))\n\n // Write legacy exports files\n if (config?.legacyExports) {\n for (const exp of exports) {\n if (exp._exported && exp._path !== '.') {\n const relativeTargetPath = (exp.browser?.import || exp.import || '').replace(\n /\\.[^/.]+$/,\n '',\n )\n\n if (relativeTargetPath) {\n fs.writeFileSync(\n path.resolve(cwd, `${exp._path}.js`),\n [`// AUTO-GENERATED – DO NOT EDIT`, `export * from '${relativeTargetPath}'`, ``].join(\n '\\n',\n ),\n )\n }\n }\n }\n }\n\n return tasks\n}\n","import globby from 'globby'\nimport path from 'path'\n\nexport function globFiles(patterns: string[]): Promise<string[]> {\n return globby(patterns.map((pattern) => pattern.split(path.sep).join(path.posix.sep)))\n}\n","import chokidar from 'chokidar'\nimport {Observable} from 'rxjs'\n\nexport interface FileEvent {\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir'\n file: string\n}\n\nexport function watchFiles(patterns: string[]): Observable<FileEvent> {\n return new Observable((observer) => {\n const watcher = chokidar.watch(patterns, {\n ignoreInitial: true,\n })\n\n function handleFileEvent(\n type: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir',\n file: string,\n ) {\n observer.next({type, file})\n }\n\n watcher.on('all', handleFileEvent)\n\n return () => {\n watcher.off('all', handleFileEvent)\n watcher.close()\n }\n })\n}\n","import path from 'path'\nimport {Observable} from 'rxjs'\nimport {distinctUntilChanged, scan, startWith} from 'rxjs/operators'\n\nimport {globFiles} from './globFiles'\nimport {Logger} from './logger'\nimport {watchFiles} from './watchFiles'\n\nexport async function watchConfigFiles(options: {\n cwd: string\n logger: Logger\n}): Promise<Observable<string[]>> {\n const {cwd, logger} = options\n\n const initialFiles = await globFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n const fileEvent$ = watchFiles([\n path.resolve(cwd, 'package.json'),\n path.resolve(cwd, 'package.config.cjs'),\n path.resolve(cwd, 'package.config.js'),\n path.resolve(cwd, 'package.config.ts'),\n ])\n\n return fileEvent$.pipe(\n scan((files, fileEvent) => {\n if (fileEvent.type === 'add') {\n return files.concat(fileEvent.file)\n }\n\n if (fileEvent.type === 'unlink') {\n return files.filter((f) => f !== fileEvent.file)\n }\n\n if (fileEvent.type === 'change') {\n logger.log(\n '--------------------------------------------------------------------------------',\n )\n logger.info(path.relative(cwd, fileEvent.file), 'changed')\n logger.log('')\n\n return files.slice(0) // trigger update\n }\n\n return files\n }, initialFiles),\n startWith(initialFiles),\n distinctUntilChanged(),\n )\n}\n","import path from 'path'\nimport {switchMap} from 'rxjs'\n\nimport {getPkgExtMap, loadConfig, loadPkgWithReporting} from './core'\nimport {createLogger} from './logger'\nimport {resolveBuildContext} from './resolveBuildContext'\nimport {resolveWatchTasks} from './resolveWatchTasks'\nimport {TaskHandler, WatchTask, watchTaskHandlers} from './tasks'\nimport {watchConfigFiles} from './watchConfigFiles'\n\n/** @public */\nexport async function watch(options: {\n cwd: string\n strict?: boolean\n tsconfig?: string\n}): Promise<void> {\n const {cwd, strict = false, tsconfig: tsconfigOption} = options\n\n const logger = createLogger()\n\n const configFiles$ = await watchConfigFiles({cwd, logger})\n\n const ctx$ = configFiles$.pipe(\n switchMap(async (configFiles) => {\n const files = configFiles.map((f) => path.relative(cwd, f))\n\n const packageJsonPath = files.find((f) => f === 'package.json')\n\n if (!packageJsonPath) {\n throw new Error('missing package.json')\n }\n\n const pkg = await loadPkgWithReporting({cwd, logger})\n const config = await loadConfig({cwd})\n const extMap = getPkgExtMap({legacyExports: config?.legacyExports ?? false})\n const tsconfig = tsconfigOption || config?.tsconfig || 'tsconfig.json'\n\n return resolveBuildContext({config, cwd, extMap, logger, pkg, strict, tsconfig})\n }),\n )\n\n ctx$.subscribe(async (ctx) => {\n const watchTasks = resolveWatchTasks(ctx)\n\n for (const task of watchTasks) {\n const handler = watchTaskHandlers[task.type] as TaskHandler<WatchTask, unknown>\n const result$ = handler.exec(ctx, task)\n\n result$.subscribe({\n error: (err) => {\n ctx.logger.error(err)\n ctx.logger.log()\n\n process.exit(1)\n },\n next: (result) => {\n handler.complete(ctx, task, result)\n },\n complete: () => {\n ctx.logger.success(handler.name(ctx, task))\n ctx.logger.log()\n },\n })\n }\n })\n}\n"],"names":["resolveWatchTasks","ctx","config","cwd","pkg","target","tasks","exports","Object","entries","map","_ref","_path","exp","dtsTask","type","rollupTasks","addRollupTaskEntry","format","runtime","entry","buildId","concat","push","importId","path","join","name","types","exportPath","sourcePath","source","targetPath","output","require","_exp$browser","_exp$browser2","browser","import","_exp$browser3","_exp$browser4","length","values","legacyExports","_exported","_exp$browser5","relativeTargetPath","replace","fs","writeFileSync","resolve","globFiles","patterns","globby","pattern","split","default","sep","posix","watchFiles","Observable","observer","watcher","chokidar","watch","ignoreInitial","handleFileEvent","file","next","on","off","close","watchConfigFiles","options","logger","initialFiles","fileEvent$","pipe","scan","files","fileEvent","filter","f","log","info","relative","slice","startWith","distinctUntilChanged","strict","tsconfig","tsconfigOption","createLogger","configFiles$","ctx$","switchMap","configFiles","_config$legacyExports","packageJsonPath","find","Error","loadPkgWithReporting","loadConfig","extMap","getPkgExtMap","resolveBuildContext","subscribe","watchTasks","task","handler","watchTaskHandlers","result$","exec","error","err","process","exit","result","complete","success"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var watch = require('./watch-4Yq69TUG.cjs');
3
+ var watch = require('./watch-8dkaWImB.cjs');
4
4
  var handleError = require('./handleError-esTdSrHu.cjs');
5
5
  async function watchAction(options) {
6
6
  try {
@@ -14,4 +14,4 @@ async function watchAction(options) {
14
14
  }
15
15
  }
16
16
  exports.watchAction = watchAction;
17
- //# sourceMappingURL=watchAction-HseKdhoO.cjs.map
17
+ //# sourceMappingURL=watchAction-MPezXdut.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchAction-HseKdhoO.cjs","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {handleError} from './handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["watchAction","options","watch","cwd","process","strict","tsconfig","err","handleError"],"mappings":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAK,EAAA;IACZC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
1
+ {"version":3,"file":"watchAction-MPezXdut.cjs","sources":["../../src/cli/watchAction.ts"],"sourcesContent":["import {watch} from '../node/watch'\nimport {handleError} from './handleError'\n\nexport async function watchAction(options: {strict?: boolean; tsconfig?: string}): Promise<void> {\n try {\n await watch({\n cwd: process.cwd(),\n strict: options.strict,\n tsconfig: options.tsconfig,\n })\n } catch (err) {\n handleError(err)\n }\n}\n"],"names":["watchAction","options","watch","cwd","process","strict","tsconfig","err","handleError"],"mappings":";;;;AAGA,eAAsBA,YAAYC,OAA+D,EAAA;EAC3F,IAAA;IACF,MAAMC,WAAM,CAAA;MACVC,GAAA,EAAKC,QAAQD,GAAI,CAAA,CAAA;MACjBE,QAAQJ,OAAQ,CAAAI,MAAA;MAChBC,UAAUL,OAAQ,CAAAK;IAAA,CACnB,CAAA;WACMC,GAAK,EAAA;IACZC,WAAA,CAAAA,WAAA,CAAYD,GAAG,CAAA;EACjB;AACF;"}
package/dist/cli.cjs CHANGED
@@ -7,13 +7,13 @@ function _interopDefaultCompat(e) {
7
7
  };
8
8
  }
9
9
  var cac__default = /*#__PURE__*/_interopDefaultCompat(cac);
10
- var version = "3.2.0";
10
+ var version = "3.2.1";
11
11
  const cli = cac__default.default();
12
12
  cli.command("", "Check").alias("check").option("--strict", "Strict mode").option("--tsconfig [tsconfig]", "[string] tsconfig.json").action(async options => {
13
13
  const {
14
14
  checkAction
15
15
  } = await Promise.resolve().then(function () {
16
- return require('./_chunks/checkAction-uQWLDlBA.cjs');
16
+ return require('./_chunks/checkAction-ovZpdoTW.cjs');
17
17
  });
18
18
  return checkAction(options);
19
19
  });
@@ -21,7 +21,7 @@ cli.command("build", "Build package").option("--emitDeclarationOnly", "Emit d.ts
21
21
  const {
22
22
  buildAction
23
23
  } = await Promise.resolve().then(function () {
24
- return require('./_chunks/buildAction-F25hbZcX.cjs');
24
+ return require('./_chunks/buildAction-XzgSYD6h.cjs');
25
25
  });
26
26
  return buildAction(options);
27
27
  });
@@ -29,7 +29,7 @@ cli.command("init [path]", "Initialize package").action(async p => {
29
29
  const {
30
30
  initAction
31
31
  } = await Promise.resolve().then(function () {
32
- return require('./_chunks/initAction-bz-ok0LO.cjs');
32
+ return require('./_chunks/initAction-dKWPRJL7.cjs');
33
33
  });
34
34
  return initAction({
35
35
  path: p
@@ -39,7 +39,7 @@ cli.command("watch", "Watch package").option("--strict", "Strict mode").option("
39
39
  const {
40
40
  watchAction
41
41
  } = await Promise.resolve().then(function () {
42
- return require('./_chunks/watchAction-HseKdhoO.cjs');
42
+ return require('./_chunks/watchAction-MPezXdut.cjs');
43
43
  });
44
44
  return watchAction(options);
45
45
  });
package/dist/index.cjs CHANGED
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  });
6
- var build = require('./_chunks/build-zIodsGMj.cjs');
7
- var check = require('./_chunks/check-X8xKPDnl.cjs');
8
- var consoleSpy = require('./_chunks/consoleSpy--ReK-_gE.cjs');
6
+ var build = require('./_chunks/build-5-t0rNQ5.cjs');
7
+ var check = require('./_chunks/check-K-76aP0H.cjs');
8
+ var consoleSpy = require('./_chunks/consoleSpy-Njnvw7-i.cjs');
9
9
  var logger = require('./_chunks/logger-_q9DVAFj.cjs');
10
- var init = require('./_chunks/init-gkPbG69g.cjs');
11
- var index = require('./_chunks/index-qV4Iq6pv.cjs');
12
- var watch = require('./_chunks/watch-4Yq69TUG.cjs');
10
+ var init = require('./_chunks/init-F_vsNarH.cjs');
11
+ var index = require('./_chunks/index-jKQCY5H6.cjs');
12
+ var watch = require('./_chunks/watch-8dkaWImB.cjs');
13
13
  function defineConfig(configOptions) {
14
14
  return configOptions;
15
15
  }
package/dist/index.d.ts CHANGED
@@ -170,7 +170,7 @@ export declare function loadPkgWithReporting(options: {
170
170
  export declare function loadTSConfig(options: {
171
171
  cwd: string
172
172
  tsconfigPath: string
173
- }): Promise<ts.ParsedCommandLine>
173
+ }): Promise<ts.ParsedCommandLine | undefined>
174
174
 
175
175
  /** @internal */
176
176
  export declare interface Logger {
@@ -207,9 +207,9 @@ export declare interface PackageJSON {
207
207
  description?: string
208
208
  keywords?: string[]
209
209
  bin?: Record<string, string>
210
- dependencies?: Record<string, string>
211
- devDependencies?: Record<string, string>
212
- peerDependencies?: Record<string, string>
210
+ dependencies?: Record<string, string | undefined>
211
+ devDependencies?: Record<string, string | undefined>
212
+ peerDependencies?: Record<string, string | undefined>
213
213
  exports?: Record<
214
214
  string,
215
215
  | `./${string}.json`
@@ -239,7 +239,7 @@ export declare interface PackageJSON {
239
239
  module?: string
240
240
  types?: string
241
241
  files?: string[]
242
- scripts?: Record<string, string>
242
+ scripts?: Record<string, string | undefined>
243
243
  browserslist?: string[]
244
244
  engines?: {
245
245
  node?: string