Compare commits

..

No commits in common. "8c22730f3278125fc7c35e0df13be99cd4cdcdcb" and "5f4f319fe8905945207f66b0a8e62e64d90ab225" have entirely different histories.

37 changed files with 511 additions and 538 deletions

View File

@ -15,11 +15,6 @@
"matchUpdateTypes": ["major", "minor", "patch", "pin", "digest", "lockFileMaintenance", "rollback", "bump"], "matchUpdateTypes": ["major", "minor", "patch", "pin", "digest", "lockFileMaintenance", "rollback", "bump"],
"groupName": "dependencies", "groupName": "dependencies",
"semanticCommitType": "fix" "semanticCommitType": "fix"
},
{
"matchDatasources": ["npm"],
"matchPackageNames": ["eslint", "numerous", "execa"],
"rangeStrategy": "pin"
} }
] ]
} }

View File

@ -29,11 +29,9 @@ jobs:
node: node:
- 22.6.0 - 22.6.0
pnpm: pnpm:
- 9.11.0 - 9.10.0
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with:
ref: ${{ github.head_ref || github.ref_name }}
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v4 uses: actions/setup-node@v4
@ -58,17 +56,13 @@ jobs:
run: | run: |
pnpm run test.lint pnpm run test.lint
- name: Update Dist - name: Validate Dist
run: | run: |
if [ "$(git diff --ignore-space-at-eol --text dist/ | wc -l)" -gt "0" ]; then if [ "$(git diff --ignore-space-at-eol --text dist/ | wc -l)" -gt "0" ]; then
git config user.name "github-actions[bot]" echo "Detected uncommitted changes after build. See status below:"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com" git diff --ignore-space-at-eol --text dist/ ':(exclude)*.js.map'
git add dist/ exit 1
git commit -m "chore(build): update dist"
git push
fi fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Dist - name: Upload Dist
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@ -97,7 +91,7 @@ jobs:
node: node:
- 22 - 22
pnpm: pnpm:
- 9.11.0 - 9.10.0
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -164,7 +158,7 @@ jobs:
node: node:
- 22 - 22
pnpm: pnpm:
- 9.11.0 - 9.10.0
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -245,7 +239,7 @@ jobs:
node: node:
- 22 - 22
pnpm: pnpm:
- 9.11.0 - 9.10.0
container: container:
- { file: "ubuntu-llvm.dockerfile", image: "setup-cpp-ubuntu-llvm", tag: "22.04-0.43.0" } - { file: "ubuntu-llvm.dockerfile", image: "setup-cpp-ubuntu-llvm", tag: "22.04-0.43.0" }
- { file: "fedora-llvm.dockerfile", image: "setup-cpp-fedora-llvm", tag: "40-0.43.0" } - { file: "fedora-llvm.dockerfile", image: "setup-cpp-fedora-llvm", tag: "40-0.43.0" }

View File

@ -1,5 +1,2 @@
import { buildTerserOptions } from "terser-config-atomic/dist/builder.js" import { buildTerserOptions } from "terser-config-atomic/dist/builder.js"
const config = buildTerserOptions(process.env.NODE_ENV, undefined, true) export default buildTerserOptions(process.env.NODE_ENV, undefined, true)
config.compress.unsafe_math = false
export default config

View File

@ -78,7 +78,6 @@ words:
- nodistro - nodistro
- NOPASSWD - NOPASSWD
- noprogressbar - noprogressbar
- noreply
- nothrow - nothrow
- npmrc - npmrc
- Opencppcoverage - Opencppcoverage

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -30,12 +30,11 @@
"build.vite": "cross-env NODE_ENV=production vite build", "build.vite": "cross-env NODE_ENV=production vite build",
"build.vite.legacy": "cross-env NODE_ENV=production TARGET=legacy vite build", "build.vite.legacy": "cross-env NODE_ENV=production TARGET=legacy vite build",
"build.json": "shx cp ./src/*/*.json ./dist/legacy/ && shx cp ./dist/legacy/*.json ./dist/modern && minijson --file ./dist/**/*.json", "build.json": "shx cp ./src/*/*.json ./dist/legacy/ && shx cp ./dist/legacy/*.json ./dist/modern && minijson --file ./dist/**/*.json",
"bump": "ncu -u -x execa,numerous,eslint,@types/eslint && pnpm update && pnpx typesync && pnpm run clean", "bump": "ncu -u -x numerous,execa,prettier,@types/node,eslint,@types/eslint && pnpm update && pnpx typesync && pnpm run clean",
"clean": "shx rm -rf ./dist ./packages/*/dist ./exe ./.parcel-cache && shx mkdir -p ./dist/legacy ./dist/modern ./dist/modern ", "clean": "shx rm -rf ./dist ./packages/*/dist ./exe ./.parcel-cache && shx mkdir -p ./dist/legacy ./dist/modern ./dist/modern ",
"dev.vite": "cross-env NODE_ENV=development vite build --watch", "dev.vite": "cross-env NODE_ENV=development vite build --watch",
"dev.packages": "turbo dev", "dev.packages": "turbo dev",
"dev.root.tsc": "tsc --noEmit --pretty --watch", "dev": "run-p build.json dev.packages dev.vite",
"dev": "run-p build.json dev.packages dev.root.tsc dev.vite",
"docs": "shx rm -rf packages/*/README.md && pnpm -r exec readme --path ../../dev/readme/template.md -y && pnpm -r exec ts-readme", "docs": "shx rm -rf packages/*/README.md && pnpm -r exec readme --path ../../dev/readme/template.md -y && pnpm -r exec ts-readme",
"format": "run-s lint.dprint", "format": "run-s lint.dprint",
"lint": "turbo lint && run-p --aggregate-output --continue-on-error lint.**", "lint": "turbo lint && run-p --aggregate-output --continue-on-error lint.**",
@ -55,15 +54,14 @@
"build.docker-ci": "node ./dev/docker/ci/docker-ci.mjs" "build.docker-ci": "node ./dev/docker/ci/docker-ci.mjs"
}, },
"devDependencies": { "devDependencies": {
"@actions/cache": "^3.2.4",
"@actions/core": "^1.10.1", "@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/http-client": "^2.2.3", "@actions/http-client": "^2.2.3",
"@actions/io": "^1.1.3", "@actions/io": "^1.1.3",
"@actions/tool-cache": "^2.0.1", "@actions/tool-cache": "^2.0.1",
"@aminya/minijson": "1.1.0", "@aminya/minijson": "1.0.3",
"@babel/core": "^7.25.2", "@babel/core": "^7.25.2",
"@biomejs/biome": "^1.9.2", "@biomejs/biome": "^1.9.1",
"@iarna/toml": "^2.2.5", "@iarna/toml": "^2.2.5",
"@liuli-util/vite-plugin-node": "^0.9.0", "@liuli-util/vite-plugin-node": "^0.9.0",
"@octokit/core": "^6.1.2", "@octokit/core": "^6.1.2",
@ -77,21 +75,21 @@
"@types/babel__core": "~7.20.5", "@types/babel__core": "~7.20.5",
"@types/cross-spawn": "^6.0.6", "@types/cross-spawn": "^6.0.6",
"@types/escape-quotes": "~1.0.0", "@types/escape-quotes": "~1.0.0",
"@types/eslint": "^9.6.1", "@types/eslint": "^8.56.12",
"@types/iarna__toml": "~2.0.5", "@types/iarna__toml": "~2.0.5",
"@types/jest": "^29.5.13", "@types/jest": "^29.5.13",
"@types/memoizee": "^0.4.11", "@types/memoizee": "^0.4.11",
"@types/node": "^22.5.5", "@types/node": "^12.20.55",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@types/which": "^3.0.4", "@types/which": "^3.0.4",
"@upleveled/babel-plugin-remove-node-prefix": "github:aminya/babel-plugin-remove-node-prefix#02526f866c4f57d3a097590942dc0e700fb3eb15", "@upleveled/babel-plugin-remove-node-prefix": "github:aminya/babel-plugin-remove-node-prefix#95fcbd92405b99a6eece48c493548996f12e6519",
"admina": "^1.0.1", "admina": "^1.0.1",
"caxa": "^3.0.1", "caxa": "^3.0.1",
"ci-info": "^4.0.0", "ci-info": "^4.0.0",
"ci-log": "workspace:*", "ci-log": "workspace:*",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"cross-spawn": "^7.0.3", "cross-spawn": "^7.0.3",
"cspell": "^8.14.4", "cspell": "^8.14.3",
"diagnostics_channel": "^1.1.0", "diagnostics_channel": "^1.1.0",
"dprint": "^0.47.2", "dprint": "^0.47.2",
"envosman": "workspace:*", "envosman": "workspace:*",
@ -101,7 +99,7 @@
"eslint": "^8.57.1", "eslint": "^8.57.1",
"eslint-config-atomic": "^1.22.1", "eslint-config-atomic": "^1.22.1",
"exec-powershell": "workspace:*", "exec-powershell": "workspace:*",
"execa": "^7", "execa": "^7.2.0",
"is-url-online": "^1.5.0", "is-url-online": "^1.5.0",
"jest": "^29.7.0", "jest": "^29.7.0",
"lefthook": "^1.7.15", "lefthook": "^1.7.15",
@ -111,31 +109,30 @@
"mri": "^1.2.0", "mri": "^1.2.0",
"msvc-dev-cmd": "github:aminya/msvc-dev-cmd#c01f519bd995460228ed3dec4df51df92dc290fd", "msvc-dev-cmd": "github:aminya/msvc-dev-cmd#c01f519bd995460228ed3dec4df51df92dc290fd",
"node-downloader-helper": "2.1.9", "node-downloader-helper": "2.1.9",
"npm-check-updates": "^17.1.2", "npm-check-updates": "^17.1.1",
"npm-run-all2": "^6.2.3", "npm-run-all2": "^6.2.3",
"numerous": "1.0.3", "numerous": "1.0.3",
"p-timeout": "^6.1.2", "p-timeout": "^6.1.2",
"path-exists": "^5.0.0", "path-exists": "^5.0.0",
"patha": "^0.4.1", "patha": "^0.4.1",
"prettier": "3.3.3", "prettier": "3.2.2",
"prettier-config-atomic": "^4.0.0", "prettier-config-atomic": "^4.0.0",
"readme-md-generator": "^1.0.0", "readme-md-generator": "^1.0.0",
"retry-as-promised": "^7.0.4", "retry-as-promised": "^7.0.4",
"rollup": "^4.22.0", "rollup": "^4.21.3",
"safe-stable-stringify": "^2.5.0", "safe-stable-stringify": "^2.5.0",
"semver": "7.6.3", "semver": "7.6.3",
"setup-apt": "workspace:*", "setup-apt": "workspace:*",
"setup-brew": "workspace:*", "setup-brew": "workspace:*",
"setup-python": "github:aminya/setup-python#9700887", "setup-python": "github:aminya/setup-python#a783db655c6e40317e2c0c96f9d162d9c9f4a751",
"shx": "0.3.4", "shx": "0.3.4",
"simple-update-notifier": "^2.0.0", "simple-update-notifier": "^2.0.0",
"terser": "^5.33.0", "terser": "^5.33.0",
"terser-config-atomic": "^1.0.0", "terser-config-atomic": "^1.0.0",
"time-delta": "github:aminya/time-delta#69d91a4", "time-delta": "github:aminya/time-delta#69d91a41cef28e569be9a2991129f5f7d1f0d00e",
"timers-browserify": "^2.0.12",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"ts-readme": "^1.1.3", "ts-readme": "^1.1.3",
"turbo": "2.1.2", "turbo": "2.1.1",
"typescript": "^5.6.2", "typescript": "^5.6.2",
"ubuntu-version": "^2.0.0", "ubuntu-version": "^2.0.0",
"untildify-user": "workspace:*", "untildify-user": "workspace:*",
@ -180,14 +177,13 @@
"ubuntu-version", "ubuntu-version",
"untildify-user", "untildify-user",
"util.types", "util.types",
"web-streams-polyfill", "web-streams-polyfill"
"timers-browserify"
], ],
"engines": { "engines": {
"node": ">=12.x", "node": ">=12.x",
"pnpm": "^9" "pnpm": "^9"
}, },
"packageManager": "pnpm@9.11.0", "packageManager": "pnpm@9.10.0",
"workspaces": [ "workspaces": [
"packages/*" "packages/*"
], ],

View File

@ -18,7 +18,7 @@
}, },
"dependencies": { "dependencies": {
"@actions/core": "^1.10.1", "@actions/core": "^1.10.1",
"@types/node": "22.5.5", "@types/node": "^12",
"admina": "^1.0.1", "admina": "^1.0.1",
"ci-info": "^4.0.0", "ci-info": "^4.0.0",
"escape-path-with-spaces": "^1.0.2", "escape-path-with-spaces": "^1.0.2",

View File

@ -17,9 +17,9 @@
"prepublishOnly": "pnpm run build" "prepublishOnly": "pnpm run build"
}, },
"dependencies": { "dependencies": {
"execa": "7.2.0", "execa": "^7",
"which": "^4.0.0", "which": "^4.0.0",
"@types/node": "^22.0.0" "@types/node": "^14"
}, },
"devDependencies": { "devDependencies": {
"@types/which": "^3.0.0" "@types/which": "^3.0.0"

View File

@ -18,7 +18,7 @@ export function execPowershell(
command: string, command: string,
startupFlags: string[] = ["-NoProfile", "-NoLogo", "-NonInteractive"], startupFlags: string[] = ["-NoProfile", "-NoLogo", "-NonInteractive"],
execOptions: execa.Options = { stdio: "inherit" }, execOptions: execa.Options = { stdio: "inherit" },
) { ): execa.ExecaChildProcess<string> {
return execa.execa(getPowerShell(), [...startupFlags, "-c", command], execOptions) return execa.execa(getPowerShell(), [...startupFlags, "-c", command], execOptions)
} }
@ -36,7 +36,7 @@ export function execPowershellSync(
command: string, command: string,
startupFlags: string[] = ["-NoProfile", "-NoLogo", "-NonInteractive"], startupFlags: string[] = ["-NoProfile", "-NoLogo", "-NonInteractive"],
execOptions: execa.SyncOptions = { stdio: "inherit" }, execOptions: execa.SyncOptions = { stdio: "inherit" },
) { ): execa.ExecaSyncReturnValue<string> {
return execa.execaSync(getPowerShell(), [...startupFlags, "-c", command], execOptions) return execa.execaSync(getPowerShell(), [...startupFlags, "-c", command], execOptions)
} }

View File

@ -17,14 +17,14 @@
"prepublishOnly": "pnpm run build" "prepublishOnly": "pnpm run build"
}, },
"dependencies": { "dependencies": {
"@types/node": "22.5.5", "@types/node": "^12",
"admina": "^1.0.1", "admina": "^1.0.1",
"ci-info": "^4.0.0", "ci-info": "^4.0.0",
"path-exists": "^5.0.0", "path-exists": "^5.0.0",
"ci-log": "workspace:*", "ci-log": "workspace:*",
"envosman": "workspace:*", "envosman": "workspace:*",
"which": "4.0.0", "which": "4.0.0",
"execa": "7.2.0", "execa": "^7.2.0",
"escape-string-regexp": "^5.0.0", "escape-string-regexp": "^5.0.0",
"node-downloader-helper": "2.1.9", "node-downloader-helper": "2.1.9",
"memoizee": "^0.4.17" "memoizee": "^0.4.17"

View File

@ -104,7 +104,7 @@ export async function installAptPack(packages: AptPackage[], update = false): Pr
}) })
} catch (err) { } catch (err) {
if (isExecaError(err)) { if (isExecaError(err)) {
if (retryErrors.some((error) => typeof err.stderr === "string" && err.stderr.includes(error))) { if (retryErrors.some((error) => err.stderr.includes(error))) {
warning(`Failed to install packages ${needToInstall}. Retrying...`) warning(`Failed to install packages ${needToInstall}. Retrying...`)
execRootSync( execRootSync(
apt, apt,

View File

@ -18,11 +18,11 @@
"test": "jest --coverage" "test": "jest --coverage"
}, },
"dependencies": { "dependencies": {
"@types/node": "22.5.5", "@types/node": "^12",
"ci-log": "workspace:*", "ci-log": "workspace:*",
"envosman": "workspace:*", "envosman": "workspace:*",
"which": "4.0.0", "which": "4.0.0",
"execa": "7.2.0", "execa": "^7.2.0",
"setup-apt": "workspace:*", "setup-apt": "workspace:*",
"node-downloader-helper": "2.1.9" "node-downloader-helper": "2.1.9"
}, },

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ import { fileURLToPath } from "url"
import { GITHUB_ACTIONS } from "ci-info" import { GITHUB_ACTIONS } from "ci-info"
import { error, info, warning } from "ci-log" import { error, info, warning } from "ci-log"
import { addEnv, addPath } from "envosman" import { addEnv, addPath } from "envosman"
import { execa } from "execa" import { type ExecaReturnValue, execa } from "execa"
import { readdir } from "fs/promises" import { readdir } from "fs/promises"
import { pathExists } from "path-exists" import { pathExists } from "path-exists"
import { addExeExt } from "patha" import { addExeExt } from "patha"
@ -218,9 +218,20 @@ async function setupChocoMingw(version: string, arch: string): Promise<Installat
return undefined return undefined
} }
/** Setup gcc as the compiler */
async function activateGcc(givenVersion: string, binDir: string, priority: number = 40) { async function activateGcc(givenVersion: string, binDir: string, priority: number = 40) {
const promises: Promise<void>[] = [] const promises: Promise<void | ExecaReturnValue<string>>[] = []
// Setup gcc as the compiler
// TODO
// const ld = process.env.LD_LIBRARY_PATH ?? ""
// const dyld = process.env.DYLD_LIBRARY_PATH ?? ""
// promises.push(
// addEnv("LD_LIBRARY_PATH", `${installDir}/lib${path.delimiter}${ld}`, rcOptions),
// addEnv("DYLD_LIBRARY_PATH", `${installDir}/lib${path.delimiter}${dyld}`, rcOptions),
// addEnv("CPATH", `${installDir}/lib/gcc/${majorVersion}/include`, rcOptions),
// addEnv("LDFLAGS", `-L${installDir}/lib`, rcOptions),
// addEnv("CPPFLAGS", `-I${installDir}/include`, rcOptions),
// )
if (process.platform === "win32") { if (process.platform === "win32") {
promises.push( promises.push(
@ -269,17 +280,6 @@ async function activateGcc(givenVersion: string, binDir: string, priority: numbe
promises.push(setupMacOSSDK()) promises.push(setupMacOSSDK())
// TODO
// const ld = process.env.LD_LIBRARY_PATH ?? ""
// const dyld = process.env.DYLD_LIBRARY_PATH ?? ""
// promises.push(
// addEnv("LD_LIBRARY_PATH", `${installDir}/lib${path.delimiter}${ld}`, rcOptions),
// addEnv("DYLD_LIBRARY_PATH", `${installDir}/lib${path.delimiter}${dyld}`, rcOptions),
// addEnv("CPATH", `${installDir}/lib/gcc/${majorVersion}/include`, rcOptions),
// addEnv("LDFLAGS", `-L${installDir}/lib`, rcOptions),
// addEnv("CPPFLAGS", `-I${installDir}/include`, rcOptions),
// )
if (GITHUB_ACTIONS) { if (GITHUB_ACTIONS) {
await addGccLoggingMatcher() await addGccLoggingMatcher()
} }

View File

@ -4,9 +4,9 @@
import { GITHUB_ACTIONS, isCI } from "ci-info" import { GITHUB_ACTIONS, isCI } from "ci-info"
import { error, info, success, warning } from "ci-log" import { error, info, success, warning } from "ci-log"
import { finalizeRC } from "envosman" import { finalizeRC } from "envosman"
import numerous from "numerous" import * as numerous from "numerous"
import numerousLocale from "numerous/locales/en.js" import numerousLocale from "numerous/locales/en.js"
import timeDelta from "time-delta" import * as timeDelta from "time-delta"
import timeDeltaLocale from "time-delta/locales/en.js" import timeDeltaLocale from "time-delta/locales/en.js"
import { untildifyUser } from "untildify-user" import { untildifyUser } from "untildify-user"
import { checkUpdates } from "./check-updates.js" import { checkUpdates } from "./check-updates.js"

View File

@ -31,7 +31,6 @@ const viteConfig = defineConfig({
"stream/promises": "./src/utils/compat/stream/promises.ts", "stream/promises": "./src/utils/compat/stream/promises.ts",
"stream/web": "web-streams-polyfill/dist/ponyfill.mjs", "stream/web": "web-streams-polyfill/dist/ponyfill.mjs",
"util/types": "util.types/index.js", "util/types": "util.types/index.js",
"timers/promises": "timers-browserify",
diagnostics_channel: "diagnostics_channel/index.js", diagnostics_channel: "diagnostics_channel/index.js",
} }
: {}), : {}),