screw-up 1.1.0 → 1.3.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/analyzer.d.ts +2 -2
- package/dist/cli-internal.d.ts +2 -2
- package/dist/cli.d.ts +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/generated/packageMetadata.d.ts +4 -4
- package/dist/index.cjs +294 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +293 -26
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +7 -5
- package/dist/internal.d.ts.map +1 -1
- package/dist/main.cjs +62 -51
- package/dist/main.cjs.map +1 -1
- package/dist/main.d.ts +2 -2
- package/dist/main.js +63 -52
- package/dist/main.js.map +1 -1
- package/dist/{analyzer-DtoN0my1.cjs → packageMetadata-C9hcegXk.cjs} +107 -73
- package/dist/packageMetadata-C9hcegXk.cjs.map +1 -0
- package/dist/{analyzer-BIXh0cn6.js → packageMetadata-CFcZlT3V.js} +111 -77
- package/dist/packageMetadata-CFcZlT3V.js.map +1 -0
- package/dist/types.d.ts +7 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/vite-plugin.d.ts +2 -2
- package/dist/vite-plugin.d.ts.map +1 -1
- package/package.json +11 -9
- package/dist/analyzer-BIXh0cn6.js.map +0 -1
- package/dist/analyzer-DtoN0my1.cjs.map +0 -1
- package/dist/packageMetadata-C-jcs8Th.js +0 -20
- package/dist/packageMetadata-C-jcs8Th.js.map +0 -1
- package/dist/packageMetadata-Hteuv2eS.cjs +0 -20
- package/dist/packageMetadata-Hteuv2eS.cjs.map +0 -1
package/dist/main.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/*!
|
|
3
3
|
* name: screw-up
|
|
4
|
-
* version: 1.
|
|
4
|
+
* version: 1.3.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:
|
|
9
|
+
* git.commit.hash: eaf2f91941a8c1d085b1c493a55e0041b39f0cb3
|
|
10
10
|
*/
|
|
11
11
|
import { join, dirname, resolve } from "path";
|
|
12
12
|
import { createWriteStream, createReadStream, existsSync } from "fs";
|
|
@@ -16,15 +16,15 @@ import { tmpdir } from "os";
|
|
|
16
16
|
import { Readable } from "stream";
|
|
17
17
|
import { createGunzip, createGzip } from "zlib";
|
|
18
18
|
import { pipeline } from "stream/promises";
|
|
19
|
-
import {
|
|
19
|
+
import { b as resolveRawPackageJsonObject, f as findWorkspaceRoot, d as collectWorkspaceSiblings, e as replacePeerDependenciesWildcards, g as getFetchGitMetadata, c as createConsoleLogger, n as name } from "./packageMetadata-CFcZlT3V.js";
|
|
20
20
|
/*!
|
|
21
21
|
* name: tar-vern
|
|
22
|
-
* version: 1.
|
|
22
|
+
* version: 1.3.0
|
|
23
23
|
* description: Tape archiver library for Typescript
|
|
24
24
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
25
25
|
* license: MIT
|
|
26
26
|
* repository.url: https://github.com/kekyo/tar-vern.git
|
|
27
|
-
* git.commit.hash:
|
|
27
|
+
* git.commit.hash: 7ac8b1f258e17c93767650ef047a2db9f0ffd417
|
|
28
28
|
*/
|
|
29
29
|
const MAX_NAME = 100;
|
|
30
30
|
const MAX_PREFIX = 155;
|
|
@@ -241,15 +241,15 @@ const splitPath = (path) => {
|
|
|
241
241
|
return { prefix: "", name: path };
|
|
242
242
|
}
|
|
243
243
|
const parts = path.split("/");
|
|
244
|
-
let
|
|
244
|
+
let name2 = (_a = parts.pop()) != null ? _a : "";
|
|
245
245
|
let prefix = parts.join("/");
|
|
246
|
-
if (utf8ByteLength(
|
|
247
|
-
|
|
246
|
+
if (utf8ByteLength(name2) > MAX_NAME) {
|
|
247
|
+
name2 = truncateUtf8Safe(name2, MAX_NAME);
|
|
248
248
|
}
|
|
249
249
|
while (utf8ByteLength(prefix) > MAX_PREFIX) {
|
|
250
250
|
prefix = truncateUtf8Safe(prefix, MAX_PREFIX);
|
|
251
251
|
}
|
|
252
|
-
return { prefix, name };
|
|
252
|
+
return { prefix, name: name2 };
|
|
253
253
|
};
|
|
254
254
|
const getOctalBytes = (value, length) => {
|
|
255
255
|
const str = value.toString(8).padStart(length - 1, "0") + "\0";
|
|
@@ -266,8 +266,8 @@ const getPaddedBytes = (buffer) => {
|
|
|
266
266
|
const terminatorBytes = Buffer.alloc(1024, 0);
|
|
267
267
|
const createTarHeader = (type, path, size, mode, uname, gname, uid, gid, date) => {
|
|
268
268
|
const buffer = Buffer.alloc(512, 0);
|
|
269
|
-
const { name, prefix } = splitPath(path);
|
|
270
|
-
buffer.write(
|
|
269
|
+
const { name: name2, prefix } = splitPath(path);
|
|
270
|
+
buffer.write(name2, 0, 100, "utf8");
|
|
271
271
|
getOctalBytes(mode & 4095, 8).copy(buffer, 100);
|
|
272
272
|
getOctalBytes(uid, 8).copy(buffer, 108);
|
|
273
273
|
getOctalBytes(gid, 8).copy(buffer, 116);
|
|
@@ -450,7 +450,7 @@ const parseTarHeader = (buffer) => {
|
|
|
450
450
|
if (buffer.every((b) => b === 0)) {
|
|
451
451
|
return void 0;
|
|
452
452
|
}
|
|
453
|
-
const
|
|
453
|
+
const name2 = parseString(buffer, 0, 100);
|
|
454
454
|
const mode = parseOctalBytes(buffer, 100, 8);
|
|
455
455
|
const uid = parseOctalBytes(buffer, 108, 8);
|
|
456
456
|
const gid = parseOctalBytes(buffer, 116, 8);
|
|
@@ -476,7 +476,7 @@ const parseTarHeader = (buffer) => {
|
|
|
476
476
|
if (calculatedSum !== checksum) {
|
|
477
477
|
throw new Error(`Invalid checksum: expected ${checksum}, got ${calculatedSum}`);
|
|
478
478
|
}
|
|
479
|
-
let path = prefix ? `${prefix}/${
|
|
479
|
+
let path = prefix ? `${prefix}/${name2}` : name2;
|
|
480
480
|
if (path.endsWith("/")) {
|
|
481
481
|
path = path.slice(0, -1);
|
|
482
482
|
}
|
|
@@ -836,8 +836,8 @@ const parseInheritableFields = (inheritableFieldsOption) => {
|
|
|
836
836
|
}
|
|
837
837
|
return new Set(inheritableFieldsOption.split(",").map((field) => field.trim()).filter((field) => field.length > 0));
|
|
838
838
|
};
|
|
839
|
-
const showDumpHelp = (
|
|
840
|
-
|
|
839
|
+
const showDumpHelp = () => {
|
|
840
|
+
console.info(`Usage: screw-up dump [options] [directory]
|
|
841
841
|
|
|
842
842
|
Dump computed package.json as JSON
|
|
843
843
|
|
|
@@ -853,7 +853,7 @@ Options:
|
|
|
853
853
|
};
|
|
854
854
|
const dumpCommand = async (args, logger2) => {
|
|
855
855
|
if (args.options.help || args.options.h) {
|
|
856
|
-
showDumpHelp(
|
|
856
|
+
showDumpHelp();
|
|
857
857
|
return 1;
|
|
858
858
|
}
|
|
859
859
|
const directory = args.positional[0];
|
|
@@ -862,33 +862,42 @@ const dumpCommand = async (args, logger2) => {
|
|
|
862
862
|
const checkWorkingDirectoryStatus = args.options["no-wds"] ? false : true;
|
|
863
863
|
const inheritableFields = parseInheritableFields(inheritableFieldsOption);
|
|
864
864
|
const targetDir = resolve(directory != null ? directory : process.cwd());
|
|
865
|
+
const _logger = {
|
|
866
|
+
debug: (msg) => {
|
|
867
|
+
},
|
|
868
|
+
info: (msg) => {
|
|
869
|
+
},
|
|
870
|
+
warn: (msg) => {
|
|
871
|
+
},
|
|
872
|
+
error: logger2.error
|
|
873
|
+
};
|
|
865
874
|
try {
|
|
866
875
|
const fetchGitMetadata = getFetchGitMetadata(
|
|
867
876
|
targetDir,
|
|
868
877
|
checkWorkingDirectoryStatus,
|
|
869
|
-
|
|
878
|
+
_logger
|
|
870
879
|
);
|
|
871
880
|
const computedPackageJson = await getComputedPackageJsonObject(
|
|
872
881
|
targetDir,
|
|
873
882
|
fetchGitMetadata,
|
|
874
883
|
alwaysOverrideVersionFromGit,
|
|
875
884
|
inheritableFields,
|
|
876
|
-
|
|
885
|
+
_logger
|
|
877
886
|
);
|
|
878
887
|
if (computedPackageJson) {
|
|
879
|
-
|
|
888
|
+
console.info(JSON.stringify(computedPackageJson, null, 2));
|
|
880
889
|
} else {
|
|
881
|
-
|
|
890
|
+
_logger.error(`dump: Unable to read package.json from: ${targetDir}`);
|
|
882
891
|
return 1;
|
|
883
892
|
}
|
|
884
893
|
} catch (error) {
|
|
885
|
-
|
|
894
|
+
_logger.error(`dump: Failed to dump package.json: ${error}`);
|
|
886
895
|
return 1;
|
|
887
896
|
}
|
|
888
897
|
return 0;
|
|
889
898
|
};
|
|
890
|
-
const showPackHelp = (
|
|
891
|
-
|
|
899
|
+
const showPackHelp = () => {
|
|
900
|
+
console.info(`Usage: screw-up pack [options] [directory]
|
|
892
901
|
|
|
893
902
|
Pack the project into a tar archive
|
|
894
903
|
|
|
@@ -910,7 +919,7 @@ Options:
|
|
|
910
919
|
const packCommand = async (args, logger2) => {
|
|
911
920
|
var _a;
|
|
912
921
|
if (args.options.help || args.options.h) {
|
|
913
|
-
showPackHelp(
|
|
922
|
+
showPackHelp();
|
|
914
923
|
return 1;
|
|
915
924
|
}
|
|
916
925
|
const directory = args.positional[0];
|
|
@@ -927,7 +936,7 @@ const packCommand = async (args, logger2) => {
|
|
|
927
936
|
const readmeReplacementPath = readmeOption ? resolve(readmeOption) : void 0;
|
|
928
937
|
const inheritableFields = parseInheritableFields(inheritableFieldsOption);
|
|
929
938
|
if (verbose) {
|
|
930
|
-
logger2.info(`
|
|
939
|
+
logger2.info(`pack: Creating archive of ${targetDir}...`);
|
|
931
940
|
}
|
|
932
941
|
try {
|
|
933
942
|
const result = await packAssets(
|
|
@@ -943,22 +952,22 @@ const packCommand = async (args, logger2) => {
|
|
|
943
952
|
);
|
|
944
953
|
if (result) {
|
|
945
954
|
if (verbose) {
|
|
946
|
-
logger2.info(`
|
|
955
|
+
logger2.info(`pack: Archive created successfully: ${result.packageFileName}`);
|
|
947
956
|
} else {
|
|
948
957
|
logger2.info(result.packageFileName);
|
|
949
958
|
}
|
|
950
959
|
} else {
|
|
951
|
-
logger2.error(`
|
|
960
|
+
logger2.error(`pack: Unable to find any files to pack: ${targetDir}`);
|
|
952
961
|
return 1;
|
|
953
962
|
}
|
|
954
963
|
} catch (error) {
|
|
955
|
-
logger2.error(`
|
|
964
|
+
logger2.error(`pack: Failed to create archive: ${error}`);
|
|
956
965
|
return 1;
|
|
957
966
|
}
|
|
958
967
|
return 0;
|
|
959
968
|
};
|
|
960
|
-
const showPublishHelp = (
|
|
961
|
-
|
|
969
|
+
const showPublishHelp = () => {
|
|
970
|
+
console.info(`Usage: screw-up publish [options] [directory|package.tgz]
|
|
962
971
|
|
|
963
972
|
Publish the project
|
|
964
973
|
|
|
@@ -982,14 +991,14 @@ Examples:
|
|
|
982
991
|
};
|
|
983
992
|
const runNpmPublish = async (tarballPath, npmOptions, verbose, logger2) => {
|
|
984
993
|
if (verbose) {
|
|
985
|
-
logger2.info(`
|
|
994
|
+
logger2.info(`publish: Publishing ${tarballPath} to npm...`);
|
|
986
995
|
}
|
|
987
996
|
const publishArgs = ["publish", tarballPath, ...npmOptions];
|
|
988
997
|
if (process.env.SCREW_UP_TEST_MODE === "true") {
|
|
989
|
-
logger2.info(`
|
|
990
|
-
logger2.info(`
|
|
991
|
-
logger2.info(`
|
|
992
|
-
logger2.info(`
|
|
998
|
+
logger2.info(`TEST_MODE: Would execute: npm ${publishArgs.join(" ")}`);
|
|
999
|
+
logger2.info(`TEST_MODE: Tarball path: ${tarballPath}`);
|
|
1000
|
+
logger2.info(`TEST_MODE: Options: ${npmOptions.join(" ")}`);
|
|
1001
|
+
logger2.info(`publish: Successfully published ${tarballPath}`);
|
|
993
1002
|
return 0;
|
|
994
1003
|
}
|
|
995
1004
|
const npmProcess = spawn("npm", publishArgs, { stdio: "inherit" });
|
|
@@ -997,11 +1006,11 @@ const runNpmPublish = async (tarballPath, npmOptions, verbose, logger2) => {
|
|
|
997
1006
|
npmProcess.on("close", (code) => {
|
|
998
1007
|
if (code === 0) {
|
|
999
1008
|
if (verbose) {
|
|
1000
|
-
logger2.info(`
|
|
1009
|
+
logger2.info(`publish: Successfully published ${tarballPath}`);
|
|
1001
1010
|
}
|
|
1002
1011
|
resolve2(code);
|
|
1003
1012
|
} else {
|
|
1004
|
-
logger2.error(`
|
|
1013
|
+
logger2.error(`publish: npm publish failed: ${tarballPath}`);
|
|
1005
1014
|
resolve2(code);
|
|
1006
1015
|
}
|
|
1007
1016
|
});
|
|
@@ -1011,7 +1020,7 @@ const runNpmPublish = async (tarballPath, npmOptions, verbose, logger2) => {
|
|
|
1011
1020
|
const publishCommand = async (args, logger2) => {
|
|
1012
1021
|
var _a;
|
|
1013
1022
|
if (args.options.help || args.options.h) {
|
|
1014
|
-
showPublishHelp(
|
|
1023
|
+
showPublishHelp();
|
|
1015
1024
|
return 1;
|
|
1016
1025
|
}
|
|
1017
1026
|
const path = args.positional[0];
|
|
@@ -1040,7 +1049,7 @@ const publishCommand = async (args, logger2) => {
|
|
|
1040
1049
|
const targetDir = process.cwd();
|
|
1041
1050
|
const outputDir = await mkdtemp(join(tmpdir(), "screw-up-publish-"));
|
|
1042
1051
|
if (verbose) {
|
|
1043
|
-
logger2.info(`
|
|
1052
|
+
logger2.info(`publish: Creating archive of ${targetDir}...`);
|
|
1044
1053
|
}
|
|
1045
1054
|
try {
|
|
1046
1055
|
const result = await packAssets(
|
|
@@ -1056,12 +1065,12 @@ const publishCommand = async (args, logger2) => {
|
|
|
1056
1065
|
);
|
|
1057
1066
|
if (result == null ? void 0 : result.metadata) {
|
|
1058
1067
|
if (verbose) {
|
|
1059
|
-
logger2.info(`
|
|
1068
|
+
logger2.info(`publish: Archive created successfully: ${result.packageFileName}`);
|
|
1060
1069
|
}
|
|
1061
1070
|
const archivePath = join(outputDir, result.packageFileName);
|
|
1062
1071
|
return await runNpmPublish(archivePath, npmOptions, verbose, logger2);
|
|
1063
1072
|
} else {
|
|
1064
|
-
logger2.error(`
|
|
1073
|
+
logger2.error(`publish: Unable to find any files to pack: ${targetDir}`);
|
|
1065
1074
|
return 1;
|
|
1066
1075
|
}
|
|
1067
1076
|
} finally {
|
|
@@ -1075,7 +1084,7 @@ const publishCommand = async (args, logger2) => {
|
|
|
1075
1084
|
const targetDir = resolve(path);
|
|
1076
1085
|
const outputDir = await mkdtemp(join(tmpdir(), "screw-up-publish-"));
|
|
1077
1086
|
if (verbose) {
|
|
1078
|
-
logger2.info(`
|
|
1087
|
+
logger2.info(`publish: Creating archive of ${targetDir}...`);
|
|
1079
1088
|
}
|
|
1080
1089
|
try {
|
|
1081
1090
|
const result = await packAssets(
|
|
@@ -1091,33 +1100,34 @@ const publishCommand = async (args, logger2) => {
|
|
|
1091
1100
|
);
|
|
1092
1101
|
if (result == null ? void 0 : result.metadata) {
|
|
1093
1102
|
if (verbose) {
|
|
1094
|
-
logger2.info(`
|
|
1103
|
+
logger2.info(`publish: Archive created successfully: ${result.packageFileName}`);
|
|
1095
1104
|
}
|
|
1096
1105
|
const archivePath = join(outputDir, result.packageFileName);
|
|
1097
1106
|
return await runNpmPublish(archivePath, npmOptions, verbose, logger2);
|
|
1098
1107
|
} else {
|
|
1099
|
-
logger2.error(`
|
|
1108
|
+
logger2.error(`publish: Unable to find any files to pack: ${targetDir}`);
|
|
1100
1109
|
return 1;
|
|
1101
1110
|
}
|
|
1102
1111
|
} finally {
|
|
1103
1112
|
await rm(outputDir, { recursive: true, force: true });
|
|
1104
1113
|
}
|
|
1105
1114
|
} else {
|
|
1106
|
-
logger2.error(`
|
|
1115
|
+
logger2.error(`publish: Invalid path - must be a directory or .tgz/.tar.gz file: ${path}`);
|
|
1107
1116
|
return 1;
|
|
1108
1117
|
}
|
|
1109
1118
|
} else {
|
|
1110
|
-
logger2.error(`
|
|
1119
|
+
logger2.error(`publish: Path does not exist: ${path}`);
|
|
1111
1120
|
return 1;
|
|
1112
1121
|
}
|
|
1113
1122
|
} catch (error) {
|
|
1114
|
-
logger2.error(`
|
|
1123
|
+
logger2.error(`publish: Failed to publish: ${error}`);
|
|
1115
1124
|
return 1;
|
|
1116
1125
|
}
|
|
1117
1126
|
};
|
|
1118
|
-
const showHelp = async (
|
|
1119
|
-
const { author, license, repository_url, version } = await import("./packageMetadata-
|
|
1120
|
-
|
|
1127
|
+
const showHelp = async () => {
|
|
1128
|
+
const { author, license, repository_url, version, git_commit_hash } = await import("./packageMetadata-CFcZlT3V.js").then((n) => n.p);
|
|
1129
|
+
console.info(`screw-up [${version}-${git_commit_hash}]
|
|
1130
|
+
Easy package metadata inserter CLI
|
|
1121
1131
|
Copyright (c) ${author}
|
|
1122
1132
|
Repository: ${repository_url}
|
|
1123
1133
|
License: ${license}
|
|
@@ -1148,7 +1158,7 @@ const argOptionMap = /* @__PURE__ */ new Map([
|
|
|
1148
1158
|
const cliMain = async (args, logger2) => {
|
|
1149
1159
|
const parsedArgs = parseArgs(args, argOptionMap);
|
|
1150
1160
|
if (!parsedArgs.command && (parsedArgs.options.help || parsedArgs.options.h)) {
|
|
1151
|
-
await showHelp(
|
|
1161
|
+
await showHelp();
|
|
1152
1162
|
return 1;
|
|
1153
1163
|
}
|
|
1154
1164
|
switch (parsedArgs.command) {
|
|
@@ -1168,7 +1178,8 @@ const cliMain = async (args, logger2) => {
|
|
|
1168
1178
|
return 1;
|
|
1169
1179
|
}
|
|
1170
1180
|
};
|
|
1171
|
-
const
|
|
1181
|
+
const loggerPrefix = `${name}-cli`;
|
|
1182
|
+
const logger = createConsoleLogger(loggerPrefix);
|
|
1172
1183
|
cliMain(
|
|
1173
1184
|
process.argv.slice(2),
|
|
1174
1185
|
// Remove 'node' and script path
|