screw-up 1.27.0 → 1.28.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.
package/dist/index.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  /*!
2
2
  * name: screw-up
3
- * version: 1.27.0
3
+ * version: 1.28.0
4
4
  * description: Simply package metadata inserter on Vite plugin
5
5
  * author: Kouji Matsui (@kekyo@mi.kekyo.net)
6
6
  * license: MIT
7
7
  * repository.url: https://github.com/kekyo/screw-up.git
8
- * git.commit.hash: eb1634007fc12b0ddd13928d7688758bdfe32624
8
+ * git.commit.hash: 4bc8c338f32ab8ed9bbf0b9ad0ba4166d584be65
9
9
  */
10
- import { i as getFetchGitMetadata, l as resolvePackageMetadata, n as generateMetadataFileContent, o as createConsoleLogger, r as writeFileIfChanged, t as ensureMetadataGitignore } from "./metadata-file-Djz8vanJ.js";
11
- import { i as version, n as name, t as git_commit_hash } from "./packageMetadata-B3dAY9Pw.js";
10
+ import { i as getFetchGitMetadata, l as resolvePackageMetadata, n as generateMetadataFileContent, o as createConsoleLogger, r as writeFileIfChanged, t as ensureMetadataGitignore } from "./metadata-file-DtvzENuT.js";
11
+ import { i as version, n as name, t as git_commit_hash } from "./packageMetadata-11MbeI_K.js";
12
12
  import { readFile, readdir, writeFile } from "fs/promises";
13
13
  import { existsSync } from "fs";
14
14
  import { dirname, extname, join } from "path";
package/dist/main.cjs CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  /*!
3
3
  * name: screw-up
4
- * version: 1.27.0
4
+ * version: 1.28.0
5
5
  * description: Simply package metadata inserter on Vite plugin
6
6
  * author: Kouji Matsui (@kekyo@mi.kekyo.net)
7
7
  * license: MIT
8
8
  * repository.url: https://github.com/kekyo/screw-up.git
9
- * git.commit.hash: eb1634007fc12b0ddd13928d7688758bdfe32624
9
+ * git.commit.hash: 4bc8c338f32ab8ed9bbf0b9ad0ba4166d584be65
10
10
  */
11
11
  //#region \0rolldown/runtime.js
12
12
  var __create = Object.create;
@@ -31,7 +31,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  enumerable: true
32
32
  }) : target, mod));
33
33
  //#endregion
34
- const require_packageMetadata = require("./packageMetadata-BwJnVnNu.cjs");
34
+ const require_packageMetadata = require("./packageMetadata-D1X6rTp_.cjs");
35
35
  let path = require("path");
36
36
  let fs = require("fs");
37
37
  let fs_promises = require("fs/promises");
@@ -3007,6 +3007,62 @@ var mergeResolvedPackageJson = (packedPackageJson, resolvedPackageJson) => {
3007
3007
  }
3008
3008
  return mergedPackageJson;
3009
3009
  };
3010
+ var workspaceProtocolPrefix = "workspace:";
3011
+ var inferVersionPrefix = (dependencySpec) => {
3012
+ if (dependencySpec.startsWith("^")) return "^";
3013
+ if (dependencySpec.startsWith("~")) return "~";
3014
+ return "";
3015
+ };
3016
+ var looksLikeWorkspaceProtocolAlias = (rawSpecifier) => {
3017
+ if (!rawSpecifier) return false;
3018
+ if (rawSpecifier === "*" || rawSpecifier === "^" || rawSpecifier === "~" || rawSpecifier.startsWith("^") || rawSpecifier.startsWith("~") || /^[0-9]/.test(rawSpecifier)) return false;
3019
+ return true;
3020
+ };
3021
+ var parseWorkspaceProtocolDependencyReference = (dependencyName, workspaceProtocolSpecifier) => {
3022
+ if (!workspaceProtocolSpecifier.startsWith(workspaceProtocolPrefix)) return;
3023
+ const rawSpecifier = workspaceProtocolSpecifier.slice(10).trim();
3024
+ if (!looksLikeWorkspaceProtocolAlias(rawSpecifier)) return {
3025
+ targetPackageName: dependencyName,
3026
+ alias: false
3027
+ };
3028
+ if (rawSpecifier.startsWith("@")) {
3029
+ const secondAt = rawSpecifier.indexOf("@", 1);
3030
+ const targetPackageName = secondAt >= 0 ? rawSpecifier.slice(0, secondAt) : rawSpecifier;
3031
+ return {
3032
+ targetPackageName,
3033
+ alias: targetPackageName !== dependencyName
3034
+ };
3035
+ }
3036
+ const atIndex = rawSpecifier.indexOf("@");
3037
+ const targetPackageName = atIndex >= 0 ? rawSpecifier.slice(0, atIndex) : rawSpecifier;
3038
+ return {
3039
+ targetPackageName,
3040
+ alias: targetPackageName !== dependencyName
3041
+ };
3042
+ };
3043
+ var formatResolvedWorkspaceDependency = (packedDependencySpecifier, reference, sibling) => {
3044
+ const aliasPrefix = `npm:${reference.targetPackageName}@`;
3045
+ if (packedDependencySpecifier.startsWith(aliasPrefix)) return `${aliasPrefix}${inferVersionPrefix(packedDependencySpecifier.slice(aliasPrefix.length))}${sibling.version}`;
3046
+ return `${inferVersionPrefix(packedDependencySpecifier)}${sibling.version}`;
3047
+ };
3048
+ var replaceWorkspaceProtocolDependencies = (packageJson, resolvedPackageJson, siblings) => {
3049
+ const modifiedPackageJson = clonePackageJson(packageJson);
3050
+ for (const sectionKey of dependencySectionKeys) {
3051
+ const modifiedSection = modifiedPackageJson[sectionKey];
3052
+ const resolvedSection = resolvedPackageJson === null || resolvedPackageJson === void 0 ? void 0 : resolvedPackageJson[sectionKey];
3053
+ if (!modifiedSection || typeof modifiedSection !== "object" || !resolvedSection || typeof resolvedSection !== "object") continue;
3054
+ for (const [dependencyName, dependencySpecifier] of Object.entries(resolvedSection)) {
3055
+ if (typeof dependencySpecifier !== "string") continue;
3056
+ const reference = parseWorkspaceProtocolDependencyReference(dependencyName, dependencySpecifier);
3057
+ if (!reference) continue;
3058
+ const sibling = siblings.get(reference.targetPackageName);
3059
+ const packedDependencySpecifier = modifiedSection[dependencyName];
3060
+ if (!sibling || typeof packedDependencySpecifier !== "string") continue;
3061
+ modifiedSection[dependencyName] = formatResolvedWorkspaceDependency(packedDependencySpecifier, reference, sibling);
3062
+ }
3063
+ }
3064
+ return modifiedPackageJson;
3065
+ };
3010
3066
  var getFilesArray = (packageJson) => {
3011
3067
  if (!packageJson || !Array.isArray(packageJson.files)) return;
3012
3068
  const entries = packageJson.files.filter((entry) => typeof entry === "string");
@@ -3179,7 +3235,7 @@ var packAssets = async (targetDir, outputDir, checkWorkingDirectoryStatus, alway
3179
3235
  }
3180
3236
  delete resolvedPackageJson.readme;
3181
3237
  }
3182
- const workspaceRoot = replacePeerDepsWildcards ? await findWorkspaceRoot(targetDir, logger) : void 0;
3238
+ const workspaceRoot = replacePeerDepsWildcards || packageManager === "pnpm" ? await findWorkspaceRoot(targetDir, logger) : void 0;
3183
3239
  const workspaceSiblings = workspaceRoot ? await collectWorkspaceSiblings(workspaceRoot, fetchGitMetadata, alwaysOverrideVersionFromGit, inheritableFields, logger) : void 0;
3184
3240
  const filesMergeEnabled = mergeFiles && inheritableFields.has("files");
3185
3241
  const workspaceFilesMerge = filesMergeEnabled ? await resolveWorkspaceFilesMerge(targetDir, logger) : void 0;
@@ -3206,6 +3262,7 @@ var packAssets = async (targetDir, outputDir, checkWorkingDirectoryStatus, alway
3206
3262
  let finalPackageJson = resolvedPackageJson;
3207
3263
  if ((0, fs.existsSync)(packageJsonPath)) {
3208
3264
  finalPackageJson = mergeResolvedPackageJson(await readPackageJsonFile(packageJsonPath), resolvedPackageJson);
3265
+ if (packageManager === "pnpm" && (workspaceSiblings === null || workspaceSiblings === void 0 ? void 0 : workspaceSiblings.size)) finalPackageJson = replaceWorkspaceProtocolDependencies(finalPackageJson, resolvedPackageJson, workspaceSiblings);
3209
3266
  if (workspaceSiblings && workspaceSiblings.size > 0) finalPackageJson = replacePeerDependenciesWildcards(finalPackageJson, workspaceSiblings, peerDepsVersionPrefix);
3210
3267
  if (packageJsonReadme) delete finalPackageJson.readme;
3211
3268
  await (0, fs_promises.writeFile)(packageJsonPath, JSON.stringify(finalPackageJson, null, 2));
@@ -3787,7 +3844,7 @@ var publishCommand = async (args, logger) => {
3787
3844
  }
3788
3845
  };
3789
3846
  var showHelp = async () => {
3790
- const { author, license, repository_url, version, git_commit_hash } = await Promise.resolve().then(() => require("./packageMetadata-BZlXZqjz.cjs"));
3847
+ const { author, license, repository_url, version, git_commit_hash } = await Promise.resolve().then(() => require("./packageMetadata-CCdz0AMJ.cjs"));
3791
3848
  console.info(`screw-up [${version}-${git_commit_hash}]
3792
3849
  Easy package metadata inserter CLI
3793
3850
  Copyright (c) ${author}