screw-up 1.30.0 → 1.31.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 (35) hide show
  1. package/dist/index.cjs +94 -37
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.mjs +34 -10
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/main.cjs +64 -31
  6. package/dist/main.cjs.map +1 -1
  7. package/dist/main.mjs +5 -5
  8. package/dist/{metadata-file-CpFkBJPS.js → metadata-file-BWd04LhD.js} +63 -34
  9. package/dist/metadata-file-BWd04LhD.js.map +1 -0
  10. package/dist/{packageMetadata-zaiRRUve.cjs → packageMetadata-BDGBM3Fx.cjs} +3 -3
  11. package/dist/{packageMetadata-YWwXZbaj.js → packageMetadata-BsMXJpMH.js} +6 -6
  12. package/dist/{packageMetadata-YWwXZbaj.js.map → packageMetadata-BsMXJpMH.js.map} +1 -1
  13. package/dist/{packageMetadata-Lj9bVuVM.cjs → packageMetadata-ip0rBTwa.cjs} +5 -5
  14. package/dist/{packageMetadata-Lj9bVuVM.cjs.map → packageMetadata-ip0rBTwa.cjs.map} +1 -1
  15. package/dist/src/analyzer.d.ts +2 -2
  16. package/dist/src/cli-internal.d.ts +2 -2
  17. package/dist/src/cli.d.ts +2 -2
  18. package/dist/src/declaration-import-fix.d.ts +2 -2
  19. package/dist/src/default-import-fix.d.ts +2 -2
  20. package/dist/src/fast-tags.d.ts +2 -2
  21. package/dist/src/fast-tags.d.ts.map +1 -1
  22. package/dist/src/generated/packageMetadata.d.ts +4 -4
  23. package/dist/src/git-operations.d.ts +2 -2
  24. package/dist/src/git-operations.d.ts.map +1 -1
  25. package/dist/src/git-ref-utils.d.ts +25 -0
  26. package/dist/src/git-ref-utils.d.ts.map +1 -0
  27. package/dist/src/index.d.ts +2 -2
  28. package/dist/src/internal.d.ts +2 -2
  29. package/dist/src/main.d.ts +2 -2
  30. package/dist/src/metadata-file.d.ts +2 -2
  31. package/dist/src/text-edits.d.ts +2 -2
  32. package/dist/src/types.d.ts +2 -2
  33. package/dist/src/vite-plugin.d.ts +2 -2
  34. package/package.json +7 -7
  35. package/dist/metadata-file-CpFkBJPS.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: screw-up
3
- * version: 1.30.0
3
+ * version: 1.31.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: ac6785ada0880218ecbaef699721d3a169362e76
8
+ * git.commit.hash: ebb41ebf06ebe1bec39a3770c70a62cb95b4b7d6
9
9
  */
10
10
  //#region \0rolldown/runtime.js
11
11
  var __create = Object.create;
@@ -41,12 +41,15 @@ let crypto$1 = require("crypto");
41
41
  //#region node_modules/async-primitives/dist/index.mjs
42
42
  /*!
43
43
  * name: async-primitives
44
- * version: 1.5.0
44
+ * version: 1.7.0
45
45
  * description: A collection of primitive functions for asynchronous operations
46
46
  * author: Kouji Matsui (@kekyo@mi.kekyo.net)
47
47
  * license: MIT
48
48
  * repository.url: https://github.com/kekyo/async-primitives.git
49
- * git.commit.hash: cd35465b7e9b9945049186e7eaeecc0bfba65766
49
+ * git.commit.hash: 9472fbd5310b92690d84aaafb897429a04c013c5
50
+ */
51
+ /**
52
+ * A no-op Releasable object that does nothing when released or disposed
50
53
  */
51
54
  var __NOOP_HANDLER = () => {};
52
55
  var __NOOP_RELEASABLE = {
@@ -58,6 +61,12 @@ var toAbortError = (reason) => {
58
61
  if (typeof reason === "string") return new Error(reason);
59
62
  return /* @__PURE__ */ new Error("Operation aborted");
60
63
  };
64
+ /**
65
+ * Hooks up an abort handler to an AbortSignal and returns a handle for early cleanup
66
+ * @param signal - The AbortSignal to hook up to
67
+ * @param callback - The callback to call when the signal is aborted
68
+ * @returns A Releasable handle that can be used to remove the abort listener early
69
+ */
61
70
  var onAbort = (signal, callback) => {
62
71
  if (!signal) return __NOOP_RELEASABLE;
63
72
  if (signal.aborted) {
@@ -92,11 +101,21 @@ var onAbort = (signal, callback) => {
92
101
  [Symbol.dispose]: release
93
102
  };
94
103
  };
104
+ var runtimeGlobal$1 = globalThis;
95
105
  var defer = (fn) => {
96
- if (typeof setImmediate === "function") setImmediate(fn);
97
- else setTimeout(fn, 0);
106
+ const setImmediateHandler = runtimeGlobal$1.setImmediate;
107
+ if (typeof setImmediateHandler === "function") {
108
+ setImmediateHandler(fn);
109
+ return;
110
+ }
111
+ globalThis.setTimeout(fn, 0);
98
112
  };
99
113
  var ABORTED_ERROR$2 = () => /* @__PURE__ */ new Error("Lock acquisition was aborted");
114
+ /**
115
+ * Creates a new LockHandle instance
116
+ * @param releaseCallback Callback function to release the lock
117
+ * @returns A LockHandle object with release and dispose functionality
118
+ */
100
119
  var createLockHandle = (releaseCallback) => {
101
120
  let isActive = true;
102
121
  const release = () => {
@@ -112,15 +131,20 @@ var createLockHandle = (releaseCallback) => {
112
131
  [Symbol.dispose]: release
113
132
  };
114
133
  };
134
+ /**
135
+ * Creates a new Mutex instance
136
+ * @param maxConsecutiveCalls - The maximum number of consecutive calls to the lockAsync method before yielding control to the next item in the queue
137
+ * @returns A new Mutex for promise-based mutex operations
138
+ */
115
139
  var createMutex = (maxConsecutiveCalls = 20) => {
116
140
  let isLocked = false;
117
141
  const queue = [];
118
142
  let count = 0;
119
143
  const processQueue = () => {
120
- var _a;
144
+ var _item$signal;
121
145
  if (isLocked || queue.length === 0) return;
122
146
  const item = queue.shift();
123
- if ((_a = item.signal) == null ? void 0 : _a.aborted) {
147
+ if ((_item$signal = item.signal) === null || _item$signal === void 0 ? void 0 : _item$signal.aborted) {
124
148
  item.reject(ABORTED_ERROR$2());
125
149
  scheduleNextProcess();
126
150
  return;
@@ -198,8 +222,8 @@ createLogicalContext(Symbol("[root]"));
198
222
  //#endregion
199
223
  //#region src/generated/packageMetadata.ts
200
224
  var name = "screw-up";
201
- var version = "1.30.0";
202
- var git_commit_hash = "ac6785ada0880218ecbaef699721d3a169362e76";
225
+ var version = "1.31.0";
226
+ var git_commit_hash = "ebb41ebf06ebe1bec39a3770c70a62cb95b4b7d6";
203
227
  //#endregion
204
228
  //#region node_modules/json5/dist/index.js
205
229
  var require_dist = /* @__PURE__ */ __commonJSMin(((exports, module) => {
@@ -1662,10 +1686,10 @@ var require_dayjs_min = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1662
1686
  //#region src/internal.ts
1663
1687
  var import_dist = /* @__PURE__ */ __toESM(require_dist(), 1);
1664
1688
  var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min(), 1);
1665
- var JSON5 = __resolveDefaultExport$2(import_dist.default, false);
1666
- var dayjs$1 = __resolveDefaultExport$2(import_dayjs_min.default, false);
1689
+ var JSON5 = __resolveDefaultExport$3(import_dist.default, false);
1690
+ var dayjs$1 = __resolveDefaultExport$3(import_dayjs_min.default, false);
1667
1691
  globalThis.__screwUpIsInCJS_db7919f73ec9 = true;
1668
- function __resolveDefaultExport$2(module, isESM) {
1692
+ function __resolveDefaultExport$3(module, isESM) {
1669
1693
  const __isInCJS = typeof globalThis !== "undefined" && globalThis.__screwUpIsInCJS_db7919f73ec9 === true;
1670
1694
  const maybe = module;
1671
1695
  const hasDefault = !!(maybe && typeof maybe === "object" && "default" in maybe);
@@ -1826,6 +1850,60 @@ var resolvePackageMetadata = async (projectRoot, fetchGitMetadata, alwaysOverrid
1826
1850
  };
1827
1851
  };
1828
1852
  //#endregion
1853
+ //#region src/git-ref-utils.ts
1854
+ var git$1 = __resolveDefaultExport$2(isomorphic_git.default, false);
1855
+ globalThis.__screwUpIsInCJS_89cc61422477 = true;
1856
+ function __resolveDefaultExport$2(module, isESM) {
1857
+ const __isInCJS = typeof globalThis !== "undefined" && globalThis.__screwUpIsInCJS_89cc61422477 === true;
1858
+ const maybe = module;
1859
+ const hasDefault = !!(maybe && typeof maybe === "object" && "default" in maybe);
1860
+ const unwrapNamespaceDefault = (value) => {
1861
+ if (!value || typeof value !== "object") return value;
1862
+ const inner = value;
1863
+ if ((inner.__esModule === true || typeof Symbol !== "undefined" && inner[Symbol.toStringTag] === "Module") && "default" in inner) return inner.default;
1864
+ return value;
1865
+ };
1866
+ const resolvedDefault = hasDefault ? unwrapNamespaceDefault(maybe.default) : void 0;
1867
+ if (__isInCJS) return hasDefault ? resolvedDefault !== null && resolvedDefault !== void 0 ? resolvedDefault : module : module;
1868
+ if (isESM) {
1869
+ if (hasDefault) return resolvedDefault;
1870
+ throw new Error("Default export not found.");
1871
+ }
1872
+ return hasDefault ? resolvedDefault !== null && resolvedDefault !== void 0 ? resolvedDefault : module : module;
1873
+ }
1874
+ /**
1875
+ * Resolve the actual Git directory for repositories, worktrees, and submodules.
1876
+ * @param repoPath - Repository path
1877
+ * @returns The resolved Git directory path
1878
+ */
1879
+ var getActualGitDir = async (repoPath) => {
1880
+ const gitDir = (0, path.join)(repoPath, ".git");
1881
+ const gitStat = await (0, fs_promises.stat)(gitDir).catch(() => null);
1882
+ if (!(gitStat === null || gitStat === void 0 ? void 0 : gitStat.isFile())) return gitDir;
1883
+ const match = (await (0, fs_promises.readFile)(gitDir, "utf-8")).match(/^gitdir:\s*(.+)$/m);
1884
+ if (!match) return gitDir;
1885
+ return (0, path.isAbsolute)(match[1]) ? match[1] : (0, path.join)(repoPath, match[1]);
1886
+ };
1887
+ /**
1888
+ * Resolve a tag object OID to the commit OID it ultimately points to.
1889
+ * Lightweight tags are returned unchanged.
1890
+ * @param repoPath - Repository path
1891
+ * @param tagOid - Tag or commit OID
1892
+ * @returns Commit hash this tag points to
1893
+ */
1894
+ var resolveTagOidToCommit = async (repoPath, tagOid) => {
1895
+ try {
1896
+ var _tagObject$tag;
1897
+ const tagObject = await git$1.readTag({
1898
+ fs: fs_promises.default,
1899
+ dir: repoPath,
1900
+ oid: tagOid
1901
+ });
1902
+ if (tagObject === null || tagObject === void 0 || (_tagObject$tag = tagObject.tag) === null || _tagObject$tag === void 0 ? void 0 : _tagObject$tag.object) return tagObject.tag.object;
1903
+ } catch (_unused) {}
1904
+ return tagOid;
1905
+ };
1906
+ //#endregion
1829
1907
  //#region src/fast-tags.ts
1830
1908
  /**
1831
1909
  * Fast tag listing implementation that reads tags directly from filesystem
@@ -1876,13 +1954,7 @@ var readLooseTags = async (refsTagsPath) => {
1876
1954
  * @returns Array of all tag names
1877
1955
  */
1878
1956
  var listTagsFast = async (repoPath) => {
1879
- const gitDir = (0, path.join)(repoPath, ".git");
1880
- const gitStat = await (0, fs_promises.stat)(gitDir).catch(() => null);
1881
- let actualGitDir = gitDir;
1882
- if (gitStat === null || gitStat === void 0 ? void 0 : gitStat.isFile()) {
1883
- const match = (await (0, fs_promises.readFile)(gitDir, "utf-8")).match(/^gitdir:\s*(.+)$/m);
1884
- if (match) actualGitDir = (0, path.isAbsolute)(match[1]) ? match[1] : (0, path.join)(repoPath, match[1]);
1885
- }
1957
+ const actualGitDir = await getActualGitDir(repoPath);
1886
1958
  const [packedTags, looseTags] = await Promise.all([parsePackedRefs((0, path.join)(actualGitDir, "packed-refs")), readLooseTags((0, path.join)(actualGitDir, "refs", "tags"))]);
1887
1959
  const allTags = new Set([...packedTags, ...looseTags]);
1888
1960
  return Array.from(allTags).sort();
@@ -1895,14 +1967,8 @@ var listTagsFast = async (repoPath) => {
1895
1967
  */
1896
1968
  var resolveTagsBatchWithCommit = async (repoPath, tagNames, logger) => {
1897
1969
  const startTime = Date.now();
1898
- const gitDir = (0, path.join)(repoPath, ".git");
1899
1970
  const result = /* @__PURE__ */ new Map();
1900
- const gitStat = await (0, fs_promises.stat)(gitDir).catch(() => null);
1901
- let actualGitDir = gitDir;
1902
- if (gitStat === null || gitStat === void 0 ? void 0 : gitStat.isFile()) {
1903
- const match = (await (0, fs_promises.readFile)(gitDir, "utf-8")).match(/^gitdir:\s*(.+)$/m);
1904
- if (match) actualGitDir = (0, path.isAbsolute)(match[1]) ? match[1] : (0, path.join)(repoPath, match[1]);
1905
- }
1971
+ const actualGitDir = await getActualGitDir(repoPath);
1906
1972
  const tagSet = new Set(tagNames);
1907
1973
  const packedRefsStart = Date.now();
1908
1974
  try {
@@ -1933,16 +1999,7 @@ var resolveTagsBatchWithCommit = async (repoPath, tagNames, logger) => {
1933
1999
  const looseRefPath = (0, path.join)(actualGitDir, "refs", "tags", tagName);
1934
2000
  try {
1935
2001
  const oid = (await (0, fs_promises.readFile)(looseRefPath, "utf-8")).trim();
1936
- let commitOid = oid;
1937
- try {
1938
- const { execSync } = require("child_process");
1939
- if (execSync(`git -C "${repoPath}" cat-file -t ${oid}`, { encoding: "utf-8" }).trim() === "tag") {
1940
- const objectMatch = execSync(`git -C "${repoPath}" cat-file -p ${oid}`, { encoding: "utf-8" }).match(/^object ([0-9a-f]{40})$/m);
1941
- if (objectMatch) commitOid = objectMatch[1];
1942
- }
1943
- } catch (error) {
1944
- logger.debug(`[fast-tags] Could not determine object type for ${tagName}: ${error}`);
1945
- }
2002
+ const commitOid = await resolveTagOidToCommit(repoPath, oid);
1946
2003
  result.set(tagName, {
1947
2004
  oid,
1948
2005
  commitOid