const fs = require("fs"); const path = require("path"); const { execSync } = require("child_process"); const exec = (cmd, opts = {}) => { console.log("$", cmd); return execSync(cmd, { ...opts, env: { CI: "true", ...process.env, ...(opts.env || {}) }, }); }; const DRY_RUN = !!process.env.DRY_RUN; var count = 0; const examplesFolderEntries = fs.readdirSync(path.join(process.cwd(), "examples"), { withFileTypes: true }); const packageNames = []; for (let folder of examplesFolderEntries) { if (!folder.isDirectory()) continue; const absolute = path.resolve(process.cwd(), "examples", folder.name); let packageJSONText; try { packageJSONText = fs.readFileSync(path.join(absolute, "package.json"), "utf8"); } catch { continue; } let packageJSON = JSON.parse(packageJSONText); if (!packageJSON.name) continue; if (!packageJSON.name.startsWith("@bun-examples")) continue; var version = "0.0.1"; try { const _versions = exec(`npm view ${packageJSON.name} versions --json`).toString().trim(); if (_versions.length > 0) { const versionsArray = JSON.parse(_versions); version = versionsArray[versionsArray.length - 1]; } } catch (exception) { console.error(exception); } var retryCount = 5; // Never commit lockfiles try { fs.rmSync(path.join(absolute, "package-lock.json")); } catch (exception) {} try { fs.rmSync(path.join(absolute, "yarn.lock")); } catch (exception) {} try { fs.rmSync(path.join(absolute, "pnpm-lock.yaml")); } catch (exception) {} try { fs.copyFileSync(path.join(absolute, ".gitignore"), path.join(absolute, "gitignore")); } catch (exception) {} restart: while (retryCount-- > 0) { packageJSON.version = require("semver").inc(packageJSON.version, "patch"); if ("private" in packageJSON) delete packageJSON.private; if ("license" in packageJSON) delete packageJSON.license; if ("main" in packageJSON && !("module" in packageJSON)) { packageJSON.module = packageJSON.main; delete packageJSON.main; } fs.writeFileSync(path.join(absolute, "package.json"), JSON.stringify(packageJSON, null, 2)); try { exec(`npm version patch --force --no-commit-hooks --no-git-tag-version`, { cwd: absolute, }); packageJSON = JSON.parse(fs.readFileSync(path.join(absolute, "package.json"), "utf8")); version = packageJSON.version; } catch (e) { if (e.code !== "E404") { throw e; } } try { exec(`npm publish ${DRY_RUN ? "--dry-run" : ""} --access public --registry https://registry.npmjs.org/`, { cwd: absolute, }); packageNames.push([ packageJSON.name, { version: packageJSON.version, description: packageJSON.description || "", }, ]); count++; break; } catch (exception) { continue restart; } } } if (packageNames.length > 0) { const packageJSON = { name: "bun-examples-all", private: false, version: `0.0.${Date.now()}`, description: "All bun-examples", examples: Object.fromEntries(packageNames), }; const dir = path.join(process.cwd(), "examples/bun-examples-all"); try { fs.rmSync(dir, { recursive: true, force: true, }); } catch (exception) {} try { fs.mkdirSync(dir, { recursive: true, }); } catch (exception) {} fs.writeFileSync(path.join(dir, "package.json"), JSON.stringify(packageJSON, null, 2)); exec(`npm publish ${DRY_RUN ? "--dry-run" : ""} --access public --registry https://registry.npmjs.org/`, { cwd: dir, }); } console.log(`Published ${count} packages`); s/framework-lit Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/.gitpod.yml (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-06-30Ci: improve times, reduce delay (#3780)Gravatar Fred K. Schott 1-14/+10
2022-06-30await error reporter (#3779)Gravatar Fred K. Schott 2-10/+25
2022-06-30[ci] formatGravatar natemoo-re 14-99/+95
2022-06-30MDX support (#3706)Gravatar Nate Moore 63-57/+1153
2022-06-30Fix integration name (`prefetch` instead of `lit`) (#3778)Gravatar hippotastic 2-1/+6
2022-06-30[ci] update lockfile (#3771)Gravatar Fred K. Bot 1-114/+112
2022-06-30Integration Docs Next Steps (#3677)Gravatar Dan Jutan 11-314/+666
2022-06-30[ci] formatGravatar tony-sull 1-2/+2
2022-06-30refactor to provide better cli error handling (#3768)Gravatar Fred K. Schott 2-43/+37
2022-06-30[ci] release (#3772)@astrojs/preact@0.3.1Gravatar Fred K. Bot 12-22/+23
2022-06-30Added Cloudflare adapter to README.md (#3773)Gravatar Isaac McFadyen 1-0/+1
2022-06-30[ci] formatGravatar hippotastic 1-5/+4
2022-06-30Fix "Invalid hook call" warning (#3769)Gravatar hippotastic 2-9/+79
2022-06-29[ci] release (#3759)astro@1.0.0-beta.59@astrojs/telemetry@0.2.2@astrojs/preact@0.3.0Gravatar Fred K. Bot 42-121/+117
2022-06-29[ci] formatGravatar FredKSchott 8-35/+36
2022-06-29manual lockfile update (#3751)Gravatar Fred K. Schott 3-2659/+2871
2022-06-29add error event to telemetry (#3750)Gravatar Fred K. Schott 16-85/+270