fluncle 0.45.0 → 0.46.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/bin/fluncle.mjs +55 -35
- package/package.json +1 -1
package/bin/fluncle.mjs
CHANGED
|
@@ -48,7 +48,7 @@ var __export = (target, all) => {
|
|
|
48
48
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
49
49
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
50
50
|
|
|
51
|
-
// ../../node_modules
|
|
51
|
+
// ../../node_modules/commander/lib/error.js
|
|
52
52
|
var require_error = __commonJS((exports) => {
|
|
53
53
|
class CommanderError extends Error {
|
|
54
54
|
constructor(exitCode, code, message) {
|
|
@@ -72,7 +72,7 @@ var require_error = __commonJS((exports) => {
|
|
|
72
72
|
exports.InvalidArgumentError = InvalidArgumentError;
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
// ../../node_modules
|
|
75
|
+
// ../../node_modules/commander/lib/argument.js
|
|
76
76
|
var require_argument = __commonJS((exports) => {
|
|
77
77
|
var { InvalidArgumentError } = require_error();
|
|
78
78
|
|
|
@@ -152,7 +152,7 @@ var require_argument = __commonJS((exports) => {
|
|
|
152
152
|
exports.humanReadableArgName = humanReadableArgName;
|
|
153
153
|
});
|
|
154
154
|
|
|
155
|
-
// ../../node_modules
|
|
155
|
+
// ../../node_modules/commander/lib/help.js
|
|
156
156
|
var require_help = __commonJS((exports) => {
|
|
157
157
|
var { humanReadableArgName } = require_argument();
|
|
158
158
|
|
|
@@ -509,7 +509,7 @@ ${itemIndentStr}`);
|
|
|
509
509
|
exports.stripColor = stripColor;
|
|
510
510
|
});
|
|
511
511
|
|
|
512
|
-
// ../../node_modules
|
|
512
|
+
// ../../node_modules/commander/lib/option.js
|
|
513
513
|
var require_option = __commonJS((exports) => {
|
|
514
514
|
var { InvalidArgumentError } = require_error();
|
|
515
515
|
|
|
@@ -693,7 +693,7 @@ var require_option = __commonJS((exports) => {
|
|
|
693
693
|
exports.DualOptions = DualOptions;
|
|
694
694
|
});
|
|
695
695
|
|
|
696
|
-
// ../../node_modules
|
|
696
|
+
// ../../node_modules/commander/lib/suggestSimilar.js
|
|
697
697
|
var require_suggestSimilar = __commonJS((exports) => {
|
|
698
698
|
var maxDistance = 3;
|
|
699
699
|
function editDistance(a, b) {
|
|
@@ -766,7 +766,7 @@ var require_suggestSimilar = __commonJS((exports) => {
|
|
|
766
766
|
exports.suggestSimilar = suggestSimilar;
|
|
767
767
|
});
|
|
768
768
|
|
|
769
|
-
// ../../node_modules
|
|
769
|
+
// ../../node_modules/commander/lib/command.js
|
|
770
770
|
var require_command = __commonJS((exports) => {
|
|
771
771
|
var EventEmitter = __require("node:events").EventEmitter;
|
|
772
772
|
var childProcess = __require("node:child_process");
|
|
@@ -2121,7 +2121,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2121
2121
|
exports.useColor = useColor;
|
|
2122
2122
|
});
|
|
2123
2123
|
|
|
2124
|
-
// ../../node_modules
|
|
2124
|
+
// ../../node_modules/commander/index.js
|
|
2125
2125
|
var require_commander = __commonJS((exports) => {
|
|
2126
2126
|
var { Argument } = require_argument();
|
|
2127
2127
|
var { Command } = require_command();
|
|
@@ -2141,7 +2141,7 @@ var require_commander = __commonJS((exports) => {
|
|
|
2141
2141
|
exports.InvalidOptionArgumentError = InvalidArgumentError;
|
|
2142
2142
|
});
|
|
2143
2143
|
|
|
2144
|
-
// ../../node_modules
|
|
2144
|
+
// ../../node_modules/dotenv/package.json
|
|
2145
2145
|
var require_package = __commonJS((exports, module) => {
|
|
2146
2146
|
module.exports = {
|
|
2147
2147
|
name: "dotenv",
|
|
@@ -2207,7 +2207,7 @@ var require_package = __commonJS((exports, module) => {
|
|
|
2207
2207
|
};
|
|
2208
2208
|
});
|
|
2209
2209
|
|
|
2210
|
-
// ../../node_modules
|
|
2210
|
+
// ../../node_modules/dotenv/lib/main.js
|
|
2211
2211
|
var require_main = __commonJS((exports, module) => {
|
|
2212
2212
|
var fs = __require("fs");
|
|
2213
2213
|
var path = __require("path");
|
|
@@ -2539,7 +2539,7 @@ function parseVersion(version) {
|
|
|
2539
2539
|
var currentVersion;
|
|
2540
2540
|
var init_version = __esm(() => {
|
|
2541
2541
|
init_output();
|
|
2542
|
-
currentVersion = "0.
|
|
2542
|
+
currentVersion = "0.46.0".trim() ? "0.46.0".trim() : "0.1.0";
|
|
2543
2543
|
});
|
|
2544
2544
|
|
|
2545
2545
|
// src/update-notifier.ts
|
|
@@ -4001,7 +4001,7 @@ function parseVersion2(version) {
|
|
|
4001
4001
|
var currentVersion2, latestReleaseUrl = "https://api.github.com/repos/mauricekleine/fluncle/releases/latest";
|
|
4002
4002
|
var init_version2 = __esm(() => {
|
|
4003
4003
|
init_output();
|
|
4004
|
-
currentVersion2 = "0.
|
|
4004
|
+
currentVersion2 = "0.46.0".trim() ? "0.46.0".trim() : "0.1.0";
|
|
4005
4005
|
});
|
|
4006
4006
|
|
|
4007
4007
|
// src/commands/track.ts
|
|
@@ -4631,8 +4631,12 @@ __export(exports_submissions, {
|
|
|
4631
4631
|
approveSubmissionCommand: () => approveSubmissionCommand
|
|
4632
4632
|
});
|
|
4633
4633
|
import { createInterface as createInterface2 } from "node:readline/promises";
|
|
4634
|
-
async function listSubmissionsCommand() {
|
|
4634
|
+
async function listSubmissionsCommand(options = {}) {
|
|
4635
4635
|
const response = await adminApiGet("/api/admin/submissions");
|
|
4636
|
+
if (options.json) {
|
|
4637
|
+
printJson2({ ok: true, submissions: response.submissions });
|
|
4638
|
+
return;
|
|
4639
|
+
}
|
|
4636
4640
|
if (response.submissions.length === 0) {
|
|
4637
4641
|
console.log("No pending submissions.");
|
|
4638
4642
|
return;
|
|
@@ -4641,30 +4645,45 @@ async function listSubmissionsCommand() {
|
|
|
4641
4645
|
|
|
4642
4646
|
`));
|
|
4643
4647
|
}
|
|
4644
|
-
async function reviewSubmissionCommand(submissionId) {
|
|
4648
|
+
async function reviewSubmissionCommand(submissionId, options = {}) {
|
|
4645
4649
|
const submission = await fetchSubmission(submissionId);
|
|
4650
|
+
if (options.json) {
|
|
4651
|
+
printJson2({ ok: true, submission });
|
|
4652
|
+
return;
|
|
4653
|
+
}
|
|
4646
4654
|
console.log(formatSubmissionDetail(submission));
|
|
4647
4655
|
}
|
|
4648
|
-
async function rejectSubmissionCommand(submissionId) {
|
|
4656
|
+
async function rejectSubmissionCommand(submissionId, options = {}) {
|
|
4649
4657
|
const response = await adminApiPost(`/api/admin/submissions/${encodeURIComponent(submissionId)}/reject`);
|
|
4658
|
+
if (options.json) {
|
|
4659
|
+
printJson2({ ok: true, submission: response.submission });
|
|
4660
|
+
return;
|
|
4661
|
+
}
|
|
4650
4662
|
console.log(`Rejected ${formatTrackLine(response.submission)}.`);
|
|
4651
4663
|
}
|
|
4652
|
-
async function approveSubmissionCommand(submissionId) {
|
|
4664
|
+
async function approveSubmissionCommand(submissionId, options = {}) {
|
|
4653
4665
|
const submission = await fetchSubmission(submissionId);
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4666
|
+
if (!options.json) {
|
|
4667
|
+
console.log(formatSubmissionDetail(submission));
|
|
4668
|
+
console.log("");
|
|
4669
|
+
await addCommand2(submission.spotifyUrl, {
|
|
4670
|
+
dryRun: true
|
|
4671
|
+
});
|
|
4672
|
+
const confirmed = await confirm("Publish this submission? (Y/n) ");
|
|
4673
|
+
if (!confirmed) {
|
|
4674
|
+
console.log("Approval cancelled.");
|
|
4675
|
+
return;
|
|
4676
|
+
}
|
|
4663
4677
|
}
|
|
4664
4678
|
await addCommand2(submission.spotifyUrl, {
|
|
4679
|
+
json: options.json,
|
|
4665
4680
|
note: submission.note
|
|
4666
4681
|
});
|
|
4667
|
-
await adminApiPost(`/api/admin/submissions/${encodeURIComponent(submission.id)}/approve`);
|
|
4682
|
+
const response = await adminApiPost(`/api/admin/submissions/${encodeURIComponent(submission.id)}/approve`);
|
|
4683
|
+
if (options.json) {
|
|
4684
|
+
printJson2({ ok: true, submission: response.submission });
|
|
4685
|
+
return;
|
|
4686
|
+
}
|
|
4668
4687
|
console.log(`Approved ${formatTrackLine(submission)}.`);
|
|
4669
4688
|
}
|
|
4670
4689
|
async function fetchSubmission(submissionId) {
|
|
@@ -4673,7 +4692,7 @@ async function fetchSubmission(submissionId) {
|
|
|
4673
4692
|
}
|
|
4674
4693
|
async function confirm(label) {
|
|
4675
4694
|
if (!process.stdin.isTTY || !process.stdout.isTTY) {
|
|
4676
|
-
|
|
4695
|
+
throw new CliError2("not_interactive", "Approving publishes a submission and needs a yes. Run this in a terminal, or pass --json to approve without the prompt.");
|
|
4677
4696
|
}
|
|
4678
4697
|
const rl = createInterface2({
|
|
4679
4698
|
input: process.stdin,
|
|
@@ -4713,6 +4732,7 @@ function formatTrackLine(submission) {
|
|
|
4713
4732
|
}
|
|
4714
4733
|
var init_submissions = __esm(() => {
|
|
4715
4734
|
init_api();
|
|
4735
|
+
init_output();
|
|
4716
4736
|
init_add2();
|
|
4717
4737
|
});
|
|
4718
4738
|
|
|
@@ -5194,7 +5214,7 @@ var COORD_FALLBACK2 = "—";
|
|
|
5194
5214
|
import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
|
|
5195
5215
|
import path from "path";
|
|
5196
5216
|
|
|
5197
|
-
// ../../node_modules
|
|
5217
|
+
// ../../node_modules/commander/esm.mjs
|
|
5198
5218
|
var import__ = __toESM(require_commander(), 1);
|
|
5199
5219
|
var {
|
|
5200
5220
|
program,
|
|
@@ -5497,30 +5517,30 @@ function addAdminCommands(program2) {
|
|
|
5497
5517
|
await runMixtapePublishYoutube(idOrLogId, options, publishYoutubeCommand3);
|
|
5498
5518
|
});
|
|
5499
5519
|
const submissions = configureCommand(admin.command("submissions").description("Review listener submissions"));
|
|
5500
|
-
submissions.action(async () => {
|
|
5520
|
+
submissions.option("--json", "Print JSON", false).action(async (options) => {
|
|
5501
5521
|
const { listSubmissionsCommand: listSubmissionsCommand2 } = await Promise.resolve().then(() => (init_submissions(), exports_submissions));
|
|
5502
|
-
await listSubmissionsCommand2();
|
|
5522
|
+
await listSubmissionsCommand2(options);
|
|
5503
5523
|
});
|
|
5504
|
-
submissions.command("review").description("Inspect one submission").argument("[submissionId]").action(async (submissionId) => {
|
|
5524
|
+
submissions.command("review").description("Inspect one submission").argument("[submissionId]").option("--json", "Print JSON", false).action(async (submissionId, options) => {
|
|
5505
5525
|
if (!submissionId) {
|
|
5506
5526
|
throw new Error("Missing submission id for: review");
|
|
5507
5527
|
}
|
|
5508
5528
|
const { reviewSubmissionCommand: reviewSubmissionCommand2 } = await Promise.resolve().then(() => (init_submissions(), exports_submissions));
|
|
5509
|
-
await reviewSubmissionCommand2(submissionId);
|
|
5529
|
+
await reviewSubmissionCommand2(submissionId, options);
|
|
5510
5530
|
});
|
|
5511
|
-
submissions.command("reject").description("Reject a submission").argument("[submissionId]").action(async (submissionId) => {
|
|
5531
|
+
submissions.command("reject").description("Reject a submission").argument("[submissionId]").option("--json", "Print JSON", false).action(async (submissionId, options) => {
|
|
5512
5532
|
if (!submissionId) {
|
|
5513
5533
|
throw new Error("Missing submission id for: reject");
|
|
5514
5534
|
}
|
|
5515
5535
|
const { rejectSubmissionCommand: rejectSubmissionCommand2 } = await Promise.resolve().then(() => (init_submissions(), exports_submissions));
|
|
5516
|
-
await rejectSubmissionCommand2(submissionId);
|
|
5536
|
+
await rejectSubmissionCommand2(submissionId, options);
|
|
5517
5537
|
});
|
|
5518
|
-
submissions.command("approve").description("Approve a submission").argument("[submissionId]").action(async (submissionId) => {
|
|
5538
|
+
submissions.command("approve").description("Approve a submission (--json approves without the confirm prompt)").argument("[submissionId]").option("--json", "Print JSON, skip the confirm prompt", false).action(async (submissionId, options) => {
|
|
5519
5539
|
if (!submissionId) {
|
|
5520
5540
|
throw new Error("Missing submission id for: approve");
|
|
5521
5541
|
}
|
|
5522
5542
|
const { approveSubmissionCommand: approveSubmissionCommand2 } = await Promise.resolve().then(() => (init_submissions(), exports_submissions));
|
|
5523
|
-
await approveSubmissionCommand2(submissionId);
|
|
5543
|
+
await approveSubmissionCommand2(submissionId, options);
|
|
5524
5544
|
});
|
|
5525
5545
|
const auth = configureCommand(admin.command("auth").description("Authentication commands"));
|
|
5526
5546
|
auth.command("spotify").description("Authorize Spotify access").action(async () => {
|
package/package.json
CHANGED