@pipelab/plugin-netlify 1.0.0-beta.28 → 1.0.0-beta.32
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.cjs +46 -8
- package/dist/index.mjs +46 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -3
package/dist/index.cjs
CHANGED
|
@@ -151215,6 +151215,17 @@ async function isOnline() {
|
|
|
151215
151215
|
lastCheckTime = now;
|
|
151216
151216
|
return isOnlineCached;
|
|
151217
151217
|
}
|
|
151218
|
+
function allowPrereleaseInRange(rangeStr) {
|
|
151219
|
+
try {
|
|
151220
|
+
return new import_semver.default.Range(rangeStr).set.map((conj) => conj.map((c) => {
|
|
151221
|
+
const v = c.semver;
|
|
151222
|
+
if (v.prerelease && v.prerelease.length) return c.operator + v.format();
|
|
151223
|
+
return c.operator + v.major + "." + v.minor + "." + v.patch + "-0";
|
|
151224
|
+
}).join(" ")).join(" || ");
|
|
151225
|
+
} catch {
|
|
151226
|
+
return rangeStr;
|
|
151227
|
+
}
|
|
151228
|
+
}
|
|
151218
151229
|
/**
|
|
151219
151230
|
* Robust utility to fetch, cache, and resolve an NPM package.
|
|
151220
151231
|
* Centralized in core-node to avoid circular dependencies.
|
|
@@ -151237,6 +151248,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151237
151248
|
const ctx = options.context;
|
|
151238
151249
|
const baseDir = ctx.getPackagesPath(packageName);
|
|
151239
151250
|
let resolvedVersion;
|
|
151251
|
+
const includePrerelease = !!(ctx.releaseTag && ctx.releaseTag !== "latest");
|
|
151240
151252
|
let resolvedVersionOrRange = versionOrRange;
|
|
151241
151253
|
if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
|
|
151242
151254
|
console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
|
|
@@ -151244,7 +151256,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151244
151256
|
if (!await isOnline()) {
|
|
151245
151257
|
console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
151246
151258
|
const fallbackStart = Date.now();
|
|
151247
|
-
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
|
|
151259
|
+
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName, includePrerelease);
|
|
151248
151260
|
if (fallbackVersion) {
|
|
151249
151261
|
resolvedVersion = fallbackVersion;
|
|
151250
151262
|
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
@@ -151259,7 +151271,27 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151259
151271
|
const packument = await packumentPromise;
|
|
151260
151272
|
const versions = Object.keys(packument.versions);
|
|
151261
151273
|
const range = resolvedVersionOrRange || "latest";
|
|
151262
|
-
let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
|
|
151274
|
+
let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range, { includePrerelease });
|
|
151275
|
+
if (!foundVersion && ctx.releaseTag && ctx.releaseTag !== "latest") {
|
|
151276
|
+
const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
|
|
151277
|
+
if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
|
|
151278
|
+
const rewrittenRangeForCheck = allowPrereleaseInRange(range);
|
|
151279
|
+
if (import_semver.default.satisfies(releaseTagVersion, rewrittenRangeForCheck, { includePrerelease: true })) {
|
|
151280
|
+
console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) for ${packageName}@${range} because it satisfies the range`);
|
|
151281
|
+
foundVersion = releaseTagVersion;
|
|
151282
|
+
}
|
|
151283
|
+
}
|
|
151284
|
+
}
|
|
151285
|
+
if (!foundVersion && includePrerelease) {
|
|
151286
|
+
const rewrittenRange = allowPrereleaseInRange(range);
|
|
151287
|
+
if (rewrittenRange !== range) {
|
|
151288
|
+
const matched = import_semver.default.maxSatisfying(versions, rewrittenRange, { includePrerelease });
|
|
151289
|
+
if (matched) {
|
|
151290
|
+
console.log(`[Fetcher] Resolved ${packageName}@${range} to ${matched} via rewritten range ${rewrittenRange}`);
|
|
151291
|
+
foundVersion = matched;
|
|
151292
|
+
}
|
|
151293
|
+
}
|
|
151294
|
+
}
|
|
151263
151295
|
if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
|
|
151264
151296
|
const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
|
|
151265
151297
|
if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
|
|
@@ -151275,7 +151307,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151275
151307
|
} catch (error) {
|
|
151276
151308
|
console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
151277
151309
|
const fallbackStart = Date.now();
|
|
151278
|
-
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName);
|
|
151310
|
+
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName, includePrerelease);
|
|
151279
151311
|
if (fallbackVersion) {
|
|
151280
151312
|
resolvedVersion = fallbackVersion;
|
|
151281
151313
|
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
@@ -151538,7 +151570,7 @@ async function crawlMonorepoPackages() {
|
|
|
151538
151570
|
}
|
|
151539
151571
|
return cache;
|
|
151540
151572
|
}
|
|
151541
|
-
async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
|
|
151573
|
+
async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix, includePrerelease = false) {
|
|
151542
151574
|
if (!(0, node_fs.existsSync)(baseDir)) return null;
|
|
151543
151575
|
try {
|
|
151544
151576
|
const localVersions = (await (0, node_fs_promises.readdir)(baseDir, { withFileTypes: true })).filter((e) => e.isDirectory() || e.isSymbolicLink()).map((e) => e.name).filter((name) => !!import_semver.default.valid(name));
|
|
@@ -151551,7 +151583,7 @@ async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
|
|
|
151551
151583
|
return latestLocal;
|
|
151552
151584
|
}
|
|
151553
151585
|
} else {
|
|
151554
|
-
const matched = import_semver.default.maxSatisfying(localVersions, range);
|
|
151586
|
+
const matched = import_semver.default.maxSatisfying(localVersions, range, { includePrerelease });
|
|
151555
151587
|
if (matched) {
|
|
151556
151588
|
console.info(`[Fetcher] ${logPrefix}: Using locally cached matching version: ${matched} for range ${range}`);
|
|
151557
151589
|
return matched;
|
|
@@ -151715,11 +151747,15 @@ var src_default = createNodeDefinition({
|
|
|
151715
151747
|
token: createStringParam("", {
|
|
151716
151748
|
required: true,
|
|
151717
151749
|
label: "Personal Access Token"
|
|
151750
|
+
}),
|
|
151751
|
+
site: createNetlifySiteParam("", "token", {
|
|
151752
|
+
required: true,
|
|
151753
|
+
label: "Netlify Site"
|
|
151718
151754
|
})
|
|
151719
151755
|
},
|
|
151720
151756
|
outputs: {}
|
|
151721
151757
|
}),
|
|
151722
|
-
runner: createActionRunner(async ({ log, inputs, cwd, abortSignal, paths }) => {
|
|
151758
|
+
runner: createActionRunner(async ({ log, inputs, cwd, abortSignal, paths, context }) => {
|
|
151723
151759
|
log("Building netlify site");
|
|
151724
151760
|
const { node } = paths;
|
|
151725
151761
|
const buildDir = (0, node_path.join)(cwd, "build");
|
|
@@ -151739,7 +151775,8 @@ var src_default = createNodeDefinition({
|
|
|
151739
151775
|
"build"
|
|
151740
151776
|
],
|
|
151741
151777
|
extraEnv: { NETLIFY_AUTH_TOKEN: inputs.token },
|
|
151742
|
-
signal: abortSignal
|
|
151778
|
+
signal: abortSignal,
|
|
151779
|
+
context
|
|
151743
151780
|
});
|
|
151744
151781
|
if (buildOut) log(buildOut);
|
|
151745
151782
|
const { all: deployOut } = await runPnpm(buildDir, {
|
|
@@ -151752,7 +151789,8 @@ var src_default = createNodeDefinition({
|
|
|
151752
151789
|
"--prod"
|
|
151753
151790
|
],
|
|
151754
151791
|
extraEnv: { NETLIFY_AUTH_TOKEN: inputs.token },
|
|
151755
|
-
signal: abortSignal
|
|
151792
|
+
signal: abortSignal,
|
|
151793
|
+
context
|
|
151756
151794
|
});
|
|
151757
151795
|
if (deployOut) log(deployOut);
|
|
151758
151796
|
log("Uploaded to netlify");
|
package/dist/index.mjs
CHANGED
|
@@ -151209,6 +151209,17 @@ async function isOnline() {
|
|
|
151209
151209
|
lastCheckTime = now;
|
|
151210
151210
|
return isOnlineCached;
|
|
151211
151211
|
}
|
|
151212
|
+
function allowPrereleaseInRange(rangeStr) {
|
|
151213
|
+
try {
|
|
151214
|
+
return new import_semver.default.Range(rangeStr).set.map((conj) => conj.map((c) => {
|
|
151215
|
+
const v = c.semver;
|
|
151216
|
+
if (v.prerelease && v.prerelease.length) return c.operator + v.format();
|
|
151217
|
+
return c.operator + v.major + "." + v.minor + "." + v.patch + "-0";
|
|
151218
|
+
}).join(" ")).join(" || ");
|
|
151219
|
+
} catch {
|
|
151220
|
+
return rangeStr;
|
|
151221
|
+
}
|
|
151222
|
+
}
|
|
151212
151223
|
/**
|
|
151213
151224
|
* Robust utility to fetch, cache, and resolve an NPM package.
|
|
151214
151225
|
* Centralized in core-node to avoid circular dependencies.
|
|
@@ -151231,6 +151242,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151231
151242
|
const ctx = options.context;
|
|
151232
151243
|
const baseDir = ctx.getPackagesPath(packageName);
|
|
151233
151244
|
let resolvedVersion;
|
|
151245
|
+
const includePrerelease = !!(ctx.releaseTag && ctx.releaseTag !== "latest");
|
|
151234
151246
|
let resolvedVersionOrRange = versionOrRange;
|
|
151235
151247
|
if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
|
|
151236
151248
|
console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
|
|
@@ -151238,7 +151250,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151238
151250
|
if (!await isOnline()) {
|
|
151239
151251
|
console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
151240
151252
|
const fallbackStart = Date.now();
|
|
151241
|
-
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
|
|
151253
|
+
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName, includePrerelease);
|
|
151242
151254
|
if (fallbackVersion) {
|
|
151243
151255
|
resolvedVersion = fallbackVersion;
|
|
151244
151256
|
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
@@ -151253,7 +151265,27 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151253
151265
|
const packument = await packumentPromise;
|
|
151254
151266
|
const versions = Object.keys(packument.versions);
|
|
151255
151267
|
const range = resolvedVersionOrRange || "latest";
|
|
151256
|
-
let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
|
|
151268
|
+
let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range, { includePrerelease });
|
|
151269
|
+
if (!foundVersion && ctx.releaseTag && ctx.releaseTag !== "latest") {
|
|
151270
|
+
const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
|
|
151271
|
+
if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
|
|
151272
|
+
const rewrittenRangeForCheck = allowPrereleaseInRange(range);
|
|
151273
|
+
if (import_semver.default.satisfies(releaseTagVersion, rewrittenRangeForCheck, { includePrerelease: true })) {
|
|
151274
|
+
console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) for ${packageName}@${range} because it satisfies the range`);
|
|
151275
|
+
foundVersion = releaseTagVersion;
|
|
151276
|
+
}
|
|
151277
|
+
}
|
|
151278
|
+
}
|
|
151279
|
+
if (!foundVersion && includePrerelease) {
|
|
151280
|
+
const rewrittenRange = allowPrereleaseInRange(range);
|
|
151281
|
+
if (rewrittenRange !== range) {
|
|
151282
|
+
const matched = import_semver.default.maxSatisfying(versions, rewrittenRange, { includePrerelease });
|
|
151283
|
+
if (matched) {
|
|
151284
|
+
console.log(`[Fetcher] Resolved ${packageName}@${range} to ${matched} via rewritten range ${rewrittenRange}`);
|
|
151285
|
+
foundVersion = matched;
|
|
151286
|
+
}
|
|
151287
|
+
}
|
|
151288
|
+
}
|
|
151257
151289
|
if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
|
|
151258
151290
|
const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
|
|
151259
151291
|
if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
|
|
@@ -151269,7 +151301,7 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151269
151301
|
} catch (error) {
|
|
151270
151302
|
console.warn(`[Fetcher] ${packageName}: remote resolution failed (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
151271
151303
|
const fallbackStart = Date.now();
|
|
151272
|
-
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName);
|
|
151304
|
+
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, error, baseDir, packageName, includePrerelease);
|
|
151273
151305
|
if (fallbackVersion) {
|
|
151274
151306
|
resolvedVersion = fallbackVersion;
|
|
151275
151307
|
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
@@ -151532,7 +151564,7 @@ async function crawlMonorepoPackages() {
|
|
|
151532
151564
|
}
|
|
151533
151565
|
return cache;
|
|
151534
151566
|
}
|
|
151535
|
-
async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
|
|
151567
|
+
async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix, includePrerelease = false) {
|
|
151536
151568
|
if (!existsSync(baseDir)) return null;
|
|
151537
151569
|
try {
|
|
151538
151570
|
const localVersions = (await readdir(baseDir, { withFileTypes: true })).filter((e) => e.isDirectory() || e.isSymbolicLink()).map((e) => e.name).filter((name) => !!import_semver.default.valid(name));
|
|
@@ -151545,7 +151577,7 @@ async function tryLocalFallback(versionOrRange, _error, baseDir, logPrefix) {
|
|
|
151545
151577
|
return latestLocal;
|
|
151546
151578
|
}
|
|
151547
151579
|
} else {
|
|
151548
|
-
const matched = import_semver.default.maxSatisfying(localVersions, range);
|
|
151580
|
+
const matched = import_semver.default.maxSatisfying(localVersions, range, { includePrerelease });
|
|
151549
151581
|
if (matched) {
|
|
151550
151582
|
console.info(`[Fetcher] ${logPrefix}: Using locally cached matching version: ${matched} for range ${range}`);
|
|
151551
151583
|
return matched;
|
|
@@ -151709,11 +151741,15 @@ var src_default = createNodeDefinition({
|
|
|
151709
151741
|
token: createStringParam("", {
|
|
151710
151742
|
required: true,
|
|
151711
151743
|
label: "Personal Access Token"
|
|
151744
|
+
}),
|
|
151745
|
+
site: createNetlifySiteParam("", "token", {
|
|
151746
|
+
required: true,
|
|
151747
|
+
label: "Netlify Site"
|
|
151712
151748
|
})
|
|
151713
151749
|
},
|
|
151714
151750
|
outputs: {}
|
|
151715
151751
|
}),
|
|
151716
|
-
runner: createActionRunner(async ({ log, inputs, cwd, abortSignal, paths }) => {
|
|
151752
|
+
runner: createActionRunner(async ({ log, inputs, cwd, abortSignal, paths, context }) => {
|
|
151717
151753
|
log("Building netlify site");
|
|
151718
151754
|
const { node } = paths;
|
|
151719
151755
|
const buildDir = join(cwd, "build");
|
|
@@ -151733,7 +151769,8 @@ var src_default = createNodeDefinition({
|
|
|
151733
151769
|
"build"
|
|
151734
151770
|
],
|
|
151735
151771
|
extraEnv: { NETLIFY_AUTH_TOKEN: inputs.token },
|
|
151736
|
-
signal: abortSignal
|
|
151772
|
+
signal: abortSignal,
|
|
151773
|
+
context
|
|
151737
151774
|
});
|
|
151738
151775
|
if (buildOut) log(buildOut);
|
|
151739
151776
|
const { all: deployOut } = await runPnpm(buildDir, {
|
|
@@ -151746,7 +151783,8 @@ var src_default = createNodeDefinition({
|
|
|
151746
151783
|
"--prod"
|
|
151747
151784
|
],
|
|
151748
151785
|
extraEnv: { NETLIFY_AUTH_TOKEN: inputs.token },
|
|
151749
|
-
signal: abortSignal
|
|
151786
|
+
signal: abortSignal,
|
|
151787
|
+
context
|
|
151750
151788
|
});
|
|
151751
151789
|
if (deployOut) log(deployOut);
|
|
151752
151790
|
log("Uploaded to netlify");
|