@sanity/pkg-utils 3.3.8 → 3.3.9-canary.0

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 (44) hide show
  1. package/dist/_chunks/{build-7mn5THX6.cjs → build-xtvcN4rn.cjs} +50 -61
  2. package/dist/_chunks/build-xtvcN4rn.cjs.map +1 -0
  3. package/dist/_chunks/{buildAction-fRHTIDmx.cjs → buildAction-lOl6hAY8.cjs} +5 -3
  4. package/dist/_chunks/{buildAction-fRHTIDmx.cjs.map → buildAction-lOl6hAY8.cjs.map} +1 -1
  5. package/dist/_chunks/check-5On74q2h.cjs +222 -0
  6. package/dist/_chunks/check-5On74q2h.cjs.map +1 -0
  7. package/dist/_chunks/{checkAction-0xA1q64g.cjs → checkAction-RYG9-Wqo.cjs} +5 -3
  8. package/dist/_chunks/checkAction-RYG9-Wqo.cjs.map +1 -0
  9. package/dist/_chunks/{consoleSpy-g4ZadSyB.cjs → consoleSpy-bV4ZI2h8.cjs} +181 -179
  10. package/dist/_chunks/{consoleSpy-g4ZadSyB.cjs.map → consoleSpy-bV4ZI2h8.cjs.map} +1 -1
  11. package/dist/_chunks/{handleError-esTdSrHu.cjs → handleError-fVK262CU.cjs} +6 -6
  12. package/dist/_chunks/handleError-fVK262CU.cjs.map +1 -0
  13. package/dist/_chunks/index-YSy1xob6.cjs +36038 -0
  14. package/dist/_chunks/{index-1Mfz_QDA.cjs.map → index-YSy1xob6.cjs.map} +1 -1
  15. package/dist/_chunks/init-tT7f7xkO.cjs +646 -0
  16. package/dist/_chunks/{init-U-HiL7BD.cjs.map → init-tT7f7xkO.cjs.map} +1 -1
  17. package/dist/_chunks/{initAction-QVQEhQh6.cjs → initAction-zkJJWu4U.cjs} +5 -3
  18. package/dist/_chunks/initAction-zkJJWu4U.cjs.map +1 -0
  19. package/dist/_chunks/{logger-iA0nC-kL.cjs → logger-c-JGqYo_.cjs} +45 -43
  20. package/dist/_chunks/logger-c-JGqYo_.cjs.map +1 -0
  21. package/dist/_chunks/watch-Mo2KRBJf.cjs +226 -0
  22. package/dist/_chunks/watch-Mo2KRBJf.cjs.map +1 -0
  23. package/dist/_chunks/{watchAction-JfAFOHP0.cjs → watchAction-7JsrPTEX.cjs} +5 -3
  24. package/dist/_chunks/watchAction-7JsrPTEX.cjs.map +1 -0
  25. package/dist/cli.cjs +14 -30
  26. package/dist/cli.cjs.map +1 -1
  27. package/dist/index.cjs +11 -10
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.js +37229 -1530
  30. package/dist/index.js.map +1 -1
  31. package/package.json +31 -26
  32. package/src/node/tasks/rollup/resolveRollupConfig.ts +6 -11
  33. package/dist/_chunks/build-7mn5THX6.cjs.map +0 -1
  34. package/dist/_chunks/check-pxYRC97N.cjs +0 -250
  35. package/dist/_chunks/check-pxYRC97N.cjs.map +0 -1
  36. package/dist/_chunks/checkAction-0xA1q64g.cjs.map +0 -1
  37. package/dist/_chunks/handleError-esTdSrHu.cjs.map +0 -1
  38. package/dist/_chunks/index-1Mfz_QDA.cjs +0 -2159
  39. package/dist/_chunks/init-U-HiL7BD.cjs +0 -500
  40. package/dist/_chunks/initAction-QVQEhQh6.cjs.map +0 -1
  41. package/dist/_chunks/logger-iA0nC-kL.cjs.map +0 -1
  42. package/dist/_chunks/watch-6xc8QXJF.cjs +0 -233
  43. package/dist/_chunks/watch-6xc8QXJF.cjs.map +0 -1
  44. package/dist/_chunks/watchAction-JfAFOHP0.cjs.map +0 -1
@@ -1,500 +0,0 @@
1
- 'use strict';
2
-
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
4
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
5
- var fs = require('fs/promises');
6
- var mkdirp = require('mkdirp');
7
- var path = require('path');
8
- var prompts = require('prompts');
9
- var logger = require('./logger-iA0nC-kL.cjs');
10
- var getLatestVersion = require('get-latest-version');
11
- var gitUrlParse = require('git-url-parse');
12
- var outdent = require('outdent');
13
- var parseGitConfig = require('parse-git-config');
14
- var prettier = require('prettier');
15
- require('esbuild-register/dist/node');
16
- require('pkg-up');
17
- require('find-config');
18
- require('fs');
19
- require('chalk');
20
- require('zod');
21
- require('typescript');
22
- function _interopDefaultCompat(e) {
23
- return e && typeof e === 'object' && 'default' in e ? e : {
24
- default: e
25
- };
26
- }
27
- var prompts__default = /*#__PURE__*/_interopDefaultCompat(prompts);
28
- var getLatestVersion__default = /*#__PURE__*/_interopDefaultCompat(getLatestVersion);
29
- var gitUrlParse__default = /*#__PURE__*/_interopDefaultCompat(gitUrlParse);
30
- var parseGitConfig__default = /*#__PURE__*/_interopDefaultCompat(parseGitConfig);
31
- var prettier__default = /*#__PURE__*/_interopDefaultCompat(prettier);
32
- const promptsTypes = {
33
- string: "text"
34
- };
35
- async function createFromTemplate(options) {
36
- const {
37
- cwd,
38
- logger,
39
- packagePath,
40
- template: templateOrResolver
41
- } = options;
42
- const template = typeof templateOrResolver === "function" ? await templateOrResolver({
43
- cwd,
44
- logger,
45
- packagePath
46
- }) : templateOrResolver;
47
- logger.log("create new package at", path.relative(cwd, packagePath));
48
- const templateOptions = {};
49
- for (const templateOption of template.options) {
50
- const templateValidate = templateOption.validate;
51
- const res = await prompts__default.default({
52
- type: promptsTypes[templateOption.type],
53
- name: templateOption.name,
54
- message: templateOption.description,
55
- validate: templateValidate ? prev => templateValidate(prev) : void 0,
56
- initial: typeof templateOption.initial === "function" ? templateOption.initial(templateOptions) : templateOption.initial
57
- }, {
58
- onCancel: () => process.exit(0)
59
- });
60
- templateOptions[templateOption.name] = templateOption.parse ? templateOption.parse(res[templateOption.name]) : res[templateOption.name];
61
- }
62
- const features = {};
63
- for (const templateFeature of template.features) {
64
- const res = templateFeature.optional ? await prompts__default.default({
65
- type: "confirm",
66
- name: "confirm",
67
- message: "use ".concat(templateFeature.name, "?"),
68
- initial: templateFeature.initial
69
- }, {
70
- onCancel: () => process.exit(0)
71
- }) : void 0;
72
- features[templateFeature.name] = (res === null || res === void 0 ? void 0 : res.confirm) || !templateFeature.optional;
73
- }
74
- const files = await template.getFiles(templateOptions, features);
75
- files.sort((a, b) => {
76
- return a.name.localeCompare(b.name);
77
- });
78
- for (const file of files) {
79
- const filePath = path.resolve(packagePath, file.name);
80
- await mkdirp.mkdirp(path.dirname(filePath));
81
- await fs.writeFile(filePath, file.contents.trim() + "\n");
82
- logger.success("wrote ".concat(path.relative(cwd, filePath)));
83
- }
84
- }
85
- function defineTemplateOption(option) {
86
- return option;
87
- }
88
- async function isEmptyDirectory(dirPath) {
89
- return (await fs.readdir(dirPath)).length === 0;
90
- }
91
- const RE_NAME = /^(?:@(?:[a-z0-9-*~][a-z0-9-*._~]*)\/)?[a-z0-9-~][a-z0-9-._~]*$/i;
92
- const defaultTemplate = async _ref => {
93
- var _gitConfig$user, _gitConfig$user2;
94
- let {
95
- cwd,
96
- logger: logger$1,
97
- packagePath
98
- } = _ref;
99
- const gitConfig = await parseGitConfig__default.default({
100
- cwd,
101
- type: "global"
102
- });
103
- return {
104
- options: [defineTemplateOption({
105
- name: "repo",
106
- type: "string",
107
- description: "git url",
108
- validate: v => {
109
- if (!v) return true;
110
- try {
111
- gitUrlParse__default.default(v);
112
- return true;
113
- } catch (err) {
114
- return "invalid git url";
115
- }
116
- },
117
- parse: v => {
118
- if (!v) return null;
119
- const result = gitUrlParse__default.default(v);
120
- return {
121
- source: result.source,
122
- owner: result.owner,
123
- name: result.name
124
- };
125
- }
126
- }), defineTemplateOption({
127
- name: "pkgName",
128
- type: "string",
129
- description: "package name",
130
- initial: options => {
131
- var _options$repo;
132
- return ((_options$repo = options.repo) === null || _options$repo === void 0 ? void 0 : _options$repo.name) || void 0;
133
- },
134
- validate: v => {
135
- if (!v) return "package name is required";
136
- const match = RE_NAME.exec(v);
137
- if (!match) {
138
- return "invalid package name";
139
- }
140
- return true;
141
- },
142
- parse: v => {
143
- if (!v) {
144
- throw new Error("package name is required");
145
- }
146
- const match = RE_NAME.exec(v);
147
- if (!match) {
148
- throw new Error("invalid package name");
149
- }
150
- const [scope, name] = v.split("/");
151
- return {
152
- scope,
153
- name,
154
- fullName: v
155
- };
156
- }
157
- }), defineTemplateOption({
158
- name: "description",
159
- type: "string",
160
- description: "package description"
161
- }), defineTemplateOption({
162
- name: "authorName",
163
- type: "string",
164
- description: "package author name",
165
- initial: gitConfig === null || gitConfig === void 0 || (_gitConfig$user = gitConfig.user) === null || _gitConfig$user === void 0 ? void 0 : _gitConfig$user.name
166
- }), defineTemplateOption({
167
- name: "authorEmail",
168
- type: "string",
169
- description: "package author email",
170
- initial: gitConfig === null || gitConfig === void 0 || (_gitConfig$user2 = gitConfig.user) === null || _gitConfig$user2 === void 0 ? void 0 : _gitConfig$user2.email
171
- }), defineTemplateOption({
172
- name: "license",
173
- type: "string",
174
- description: "package license",
175
- initial: "MIT",
176
- validate: v => {
177
- if (!v) return "license is required";
178
- return true;
179
- }
180
- })],
181
- features: [{
182
- name: "eslint",
183
- optional: true,
184
- initial: true
185
- }, {
186
- name: "prettier",
187
- optional: true,
188
- initial: true
189
- }, {
190
- name: "typescript",
191
- optional: true,
192
- initial: true
193
- }],
194
- async getFiles(options, features) {
195
- var _filter$join, _options$description;
196
- const {
197
- pkgName,
198
- repo
199
- } = options;
200
- const {
201
- fullName: name
202
- } = pkgName;
203
- const author = (_filter$join = [options.authorName, options.authorEmail && "<".concat(options.authorEmail, ">")].filter(Boolean).join(" ")) !== null && _filter$join !== void 0 ? _filter$join : void 0;
204
- const prettierConfig = features.prettier ? {
205
- bracketSpacing: false,
206
- plugins: ["prettier-plugin-packagejson"],
207
- printWidth: 100,
208
- quoteProps: "consistent",
209
- semi: false,
210
- singleQuote: true,
211
- tabWidth: 2,
212
- overrides: [{
213
- files: ["*.yml"],
214
- options: {
215
- singleQuote: false
216
- }
217
- }]
218
- } : void 0;
219
- const pkgJson = {
220
- name,
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,
228
- author,
229
- "type": "module",
230
- "exports": {
231
- ".": {
232
- types: void 0,
233
- source: features.typescript ? "./src/index.ts" : "./src/index.js",
234
- import: "./dist/index.js",
235
- require: "./dist/index.cjs",
236
- default: "./dist/index.js"
237
- },
238
- "./package.json": "./package.json"
239
- },
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,
249
- "pkg:build": "pkg build --strict",
250
- "pkg:check": "pkg check --strict"
251
- },
252
- "lint-staged": features.prettier ? {
253
- "*": ["prettier --write --cache --ignore-unknown"]
254
- } : void 0,
255
- // prettier: prettierConfig,
256
- "dependencies": {},
257
- "devDependencies": {
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,
266
- "lint-staged": "*",
267
- "npm-run-all": "*",
268
- "prettier": features.prettier ? "*" : void 0,
269
- "prettier-plugin-packagejson": features.prettier ? "*" : void 0,
270
- "rimraf": "*",
271
- "typescript": void 0
272
- },
273
- "engines": {
274
- node: ">=18.0.0"
275
- }
276
- };
277
- const files = [];
278
- files.push({
279
- name: ".editorconfig",
280
- contents: outdent.outdent(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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 "])))
281
- });
282
- files.push({
283
- name: ".gitignore",
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 "])))
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
- }
296
- if (repo) {
297
- pkgJson.repository = {
298
- type: "git",
299
- url: "git+ssh://git@".concat(repo.source, "/").concat(repo.owner, "/").concat(repo.name, ".git")
300
- };
301
- pkgJson.bugs = {
302
- url: "https://".concat(repo.source, "/").concat(repo.owner, "/").concat(repo.name, "/issues")
303
- };
304
- pkgJson.homepage = "https://".concat(repo.source, "/").concat(repo.owner, "/").concat(repo.name, "#readme");
305
- }
306
- if (features.typescript) {
307
- var _pkgJson$exports;
308
- pkgJson.types = "./dist/index.d.ts";
309
- const mainExport = (_pkgJson$exports = pkgJson.exports) === null || _pkgJson$exports === void 0 ? void 0 : _pkgJson$exports["."];
310
- if (logger.isRecord(mainExport)) {
311
- mainExport.types = "./dist/index.d.ts";
312
- }
313
- pkgJson.scripts = {
314
- ...pkgJson.scripts,
315
- ["ts:check"]: "tsc --build"
316
- };
317
- const devDependencies = pkgJson.devDependencies;
318
- if (logger.isRecord(devDependencies)) {
319
- devDependencies["typescript"] = "*";
320
- }
321
- }
322
- if (features.eslint) {
323
- const eslintConfig = {
324
- root: true,
325
- env: {
326
- browser: true,
327
- es6: true,
328
- node: true
329
- },
330
- extends: ["eslint:recommended", features.prettier ? "plugin:prettier/recommended" : void 0].filter(Boolean),
331
- parserOptions: {
332
- ecmaVersion: 2020,
333
- sourceType: "module"
334
- },
335
- plugins: ["import", "simple-import-sort", features.prettier ? "prettier" : void 0].filter(Boolean),
336
- rules: {
337
- "no-console": "error",
338
- "no-shadow": "error",
339
- "no-warning-comments": ["warn", {
340
- location: "start",
341
- terms: ["todo", "fixme"]
342
- }],
343
- "quote-props": ["warn", "consistent-as-needed"],
344
- "simple-import-sort/exports": "warn",
345
- "simple-import-sort/imports": "warn",
346
- "strict": ["warn", "global"]
347
- }
348
- };
349
- files.push({
350
- name: ".eslintignore",
351
- contents: outdent.outdent(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n dist\n "])))
352
- });
353
- pkgJson.scripts = {
354
- ...pkgJson.scripts,
355
- lint: features.typescript ? "eslint . --ext .cjs,.js,.ts,.tsx" : "eslint . --ext .cjs,.js"
356
- };
357
- pkgJson.devDependencies = {
358
- ...pkgJson.devDependencies,
359
- "eslint": "*",
360
- "eslint-config-prettier": features.prettier ? "*" : void 0,
361
- "eslint-plugin-simple-import-sort": "*",
362
- "eslint-plugin-import": "*",
363
- "eslint-plugin-prettier": features.prettier ? "*" : void 0
364
- };
365
- if (features.typescript) {
366
- pkgJson.devDependencies = {
367
- ...pkgJson.devDependencies,
368
- "@typescript-eslint/eslint-plugin": "*",
369
- "@typescript-eslint/parser": "*"
370
- };
371
- const eslintConfigOverride = {
372
- files: ["**/*.ts", "**/*.tsx"],
373
- parser: "@typescript-eslint/parser",
374
- parserOptions: {
375
- project: ["./tsconfig.json"]
376
- },
377
- extends: ["eslint:recommended", features.prettier ? "plugin:prettier/recommended" : void 0, "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended"].filter(Boolean),
378
- plugins: ["import", "@typescript-eslint", "simple-import-sort", features.prettier ? "prettier" : void 0].filter(Boolean),
379
- rules: {
380
- "@typescript-eslint/explicit-module-boundary-types": "error",
381
- "@typescript-eslint/interface-name-prefix": "off",
382
- "@typescript-eslint/member-delimiter-style": "off",
383
- "@typescript-eslint/no-empty-interface": "off"
384
- }
385
- };
386
- eslintConfig.overrides = [eslintConfigOverride];
387
- }
388
- files.push({
389
- name: ".eslintrc.cjs",
390
- contents: await format(path.resolve(packagePath, ".eslintrc.cjs"), outdent.outdent(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n 'use strict'\n\n /** @type import('eslint').Linter.Config */\n module.exports = ", "\n "])), JSON.stringify(eslintConfig, null, 2)), prettierConfig)
391
- });
392
- }
393
- if (features.typescript) {
394
- files.push({
395
- name: "tsconfig.settings.json",
396
- 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)
397
- });
398
- files.push({
399
- name: "tsconfig.dist.json",
400
- 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)
401
- });
402
- files.push({
403
- name: "tsconfig.json",
404
- 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)
405
- });
406
- }
407
- if (features.typescript) {
408
- files.push({
409
- name: "package.config.ts",
410
- 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)
411
- });
412
- files.push({
413
- name: "src/index.ts",
414
- contents: await format(path.resolve(packagePath, "src/index.ts"), outdent.outdent(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n /** @public */\n export function main(): void {\n //\n }\n "]))), prettierConfig)
415
- });
416
- } else {
417
- files.push({
418
- name: "package.config.js",
419
- contents: await format(path.resolve(packagePath, "package.config.js"), outdent.outdent(_templateObject11 || (_templateObject11 = _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 "], ["\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 "]))), prettierConfig)
420
- });
421
- files.push({
422
- name: "src/index.js",
423
- contents: await format(path.resolve(packagePath, "src/index.js"), outdent.outdent(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n /** @public */\n export function main() {\n //\n }\n "]))), prettierConfig)
424
- });
425
- }
426
- try {
427
- var _pkgJson$dependencies;
428
- pkgJson.dependencies = await resolveLatestDeps((_pkgJson$dependencies = pkgJson.dependencies) !== null && _pkgJson$dependencies !== void 0 ? _pkgJson$dependencies : {});
429
- } catch (error) {
430
- logger$1.warn(error instanceof Error ? error.message : error);
431
- }
432
- try {
433
- var _pkgJson$devDependenc;
434
- pkgJson.devDependencies = await resolveLatestDeps((_pkgJson$devDependenc = pkgJson.devDependencies) !== null && _pkgJson$devDependenc !== void 0 ? _pkgJson$devDependenc : {});
435
- } catch (error) {
436
- logger$1.warn(error instanceof Error ? error.message : error);
437
- }
438
- files.push({
439
- name: "package.json",
440
- contents: await format(path.resolve(packagePath, "package.json"), JSON.stringify(pkgJson, null, 2), prettierConfig)
441
- });
442
- return files;
443
- }
444
- };
445
- };
446
- function format(filepath, input, prettierOptions) {
447
- return prettier__default.default.format(input, {
448
- ...prettierOptions,
449
- plugins: [],
450
- filepath
451
- });
452
- }
453
- async function resolveLatestDeps(deps) {
454
- const depsEntries = Object.entries(deps);
455
- const latestDeps = {};
456
- for (const entry of depsEntries) {
457
- const [name, version] = entry;
458
- if (version) {
459
- const latestVersion = await getLatestVersion__default.default(name, version);
460
- latestDeps[name] = latestVersion ? "^".concat(latestVersion) : version;
461
- }
462
- }
463
- return latestDeps;
464
- }
465
- async function init(options) {
466
- if (!options.cwd) {
467
- throw new Error("Missing required option: cwd");
468
- }
469
- if (!options.path) {
470
- throw new Error("Missing required option: path");
471
- }
472
- const logger$1 = logger.createLogger();
473
- const packagePath = path.resolve(options.cwd, options.path);
474
- await ensurePackagePath(packagePath);
475
- await createFromTemplate({
476
- cwd: options.cwd,
477
- logger: logger$1,
478
- template: defaultTemplate,
479
- packagePath
480
- });
481
- }
482
- async function ensurePackagePath(packagePath) {
483
- const exists = logger.fileExists(packagePath);
484
- if (!exists) {
485
- await mkdirp.mkdirp(packagePath);
486
- return;
487
- }
488
- const dir = (await fs.lstat(packagePath)).isDirectory();
489
- if (!dir) {
490
- throw new Error("the package path is a file, not a directory");
491
- }
492
- const empty = await isEmptyDirectory(packagePath);
493
- if (!empty) {
494
- throw new Error("the package directory is not empty");
495
- }
496
- }
497
- exports.createFromTemplate = createFromTemplate;
498
- exports.defineTemplateOption = defineTemplateOption;
499
- exports.init = init;
500
- //# sourceMappingURL=init-U-HiL7BD.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initAction-QVQEhQh6.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 +0,0 @@
1
- {"version":3,"file":"logger-iA0nC-kL.cjs","sources":["../../src/node/fileExists.ts","../../src/node/core/isRecord.ts","../../src/node/core/pkg/validatePkg.ts","../../src/node/logger.ts"],"sourcesContent":["import {statSync} from 'fs'\n\n/** @internal */\nexport function fileExists(filePath: string): boolean {\n try {\n statSync(filePath)\n\n return true\n } catch (_) {\n return false\n }\n}\n","/** @internal */\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && !Array.isArray(value) && typeof value === 'object'\n}\n","import {z} from 'zod'\n\nimport {PackageJSON} from './types'\n\nconst pkgSchema = z.object({\n type: z.optional(z.enum(['commonjs', 'module'])),\n name: z.string(),\n version: z.string(),\n license: z.string(),\n bin: z.optional(z.record(z.string())),\n dependencies: z.optional(z.record(z.string())),\n devDependencies: z.optional(z.record(z.string())),\n peerDependencies: z.optional(z.record(z.string())),\n source: z.optional(z.string()),\n main: z.optional(z.string()),\n browser: z.optional(z.record(z.string())),\n module: z.optional(z.string()),\n types: z.optional(z.string()),\n exports: z.optional(\n z.record(\n z.union([\n z.custom<`./${string}.json`>((val) => /^\\.\\/.*\\.json$/.test(val as string)),\n z.object({\n types: z.optional(z.string()),\n source: z.string(),\n browser: z.optional(\n z.object({\n source: z.string(),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n node: z.optional(\n z.object({\n source: z.optional(z.string()),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n }),\n ),\n module: z.optional(z.string()),\n import: z.optional(z.string()),\n require: z.optional(z.string()),\n default: z.string(),\n }),\n ]),\n ),\n ),\n browserslist: z.optional(z.array(z.string())),\n})\n\nexport function validatePkg(input: unknown): PackageJSON {\n return pkgSchema.parse(input)\n}\n","import chalk from 'chalk'\n\n/** @internal */\nexport interface Logger {\n log: (...args: unknown[]) => void\n info: (...args: unknown[]) => void\n warn: (...args: unknown[]) => void\n error: (...args: unknown[]) => void\n success: (...args: unknown[]) => void\n}\n\n/** @internal */\nexport function createLogger(): Logger {\n return {\n /* eslint-disable no-console */\n log: (...args) => {\n console.log(...args)\n },\n info: (...args) => {\n console.log(chalk.blue('[info]'), ...args)\n },\n warn: (...args) => {\n console.log(chalk.yellow('[warning]'), ...args)\n },\n error: (...args) => {\n console.log(chalk.red('[error]'), ...args)\n },\n success: (...args) => {\n console.log(chalk.green('[success]'), ...args)\n },\n /* eslint-enable no-console */\n }\n}\n"],"names":["fileExists","filePath","statSync","_","isRecord","value","Boolean","Array","isArray","pkgSchema","z","object","type","optional","enum","name","string","version","license","bin","record","dependencies","devDependencies","peerDependencies","source","main","browser","module","types","exports","union","custom","val","test","import","require","node","default","browserslist","array","validatePkg","input","parse","createLogger","log","console","arguments","info","_len","length","args","_key","chalk","blue","warn","_len2","_key2","yellow","error","_len3","_key3","red","success","_len4","_key4","green"],"mappings":"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"}