Compare commits

...

20 Commits

Author SHA1 Message Date
github-actions[bot] f5ff24c1fd chore(build): update dist 2024-09-21 04:38:20 +00:00
renovate[bot] a0b1655bf4
chore(deps): pin dependencies 2024-09-21 04:37:10 +00:00
Amin Yahyaabadi 88f2cb4b22
Merge pull request #301 from aminya/renovate/pnpm-9.x [skip ci] 2024-09-20 19:58:03 -07:00
renovate[bot] 52acadc64a
chore(deps): update pnpm to v9.11.0 2024-09-20 19:38:53 -07:00
Amin Yahyaabadi ff4c8289ac
Merge pull request #300 from aminya/renovate/devdependencies [skip ci] 2024-09-20 19:35:22 -07:00
Amin Yahyaabadi d511d1fb52
chore(renovate): pin the ignored packages [skip ci] 2024-09-20 19:31:25 -07:00
github-actions[bot] ea49034e9a chore(build): update dist 2024-09-21 02:22:59 +00:00
Amin Yahyaabadi b2a7ceb1aa
ci: check out the branch in the build job 2024-09-20 19:21:33 -07:00
Amin Yahyaabadi efdf36d38c
ci: commit the dist after the build 2024-09-20 19:18:02 -07:00
renovate[bot] 48bca6ce1e
chore(deps): update devdependencies 2024-09-21 01:05:27 +00:00
Amin Yahyaabadi 898e68dbc3
chore: add ignored deps for renovate [skip ci] 2024-09-20 18:04:45 -07:00
Amin Yahyaabadi 45b558c2a6
chore: use matchPackageNames for renovate [skip ci] 2024-09-20 18:01:48 -07:00
Amin Yahyaabadi 1034f25a9b
Merge pull request #286 from aminya/renovate/devdependencies [skip ci]
fix(deps): update dependencies
2024-09-20 17:58:08 -07:00
Amin Yahyaabadi 9d702fc974
fix: downgrade execa to 7 2024-09-20 16:44:43 -07:00
Amin Yahyaabadi 77859ef9f3
fix: disable unsafe-math optimizations 2024-09-20 16:24:50 -07:00
Amin Yahyaabadi 32a534716d
fix: downgrade numerous + update @types/node 2024-09-20 16:17:38 -07:00
Amin Yahyaabadi 72f96bf6fe
fix: polyfil timers/promise 2024-09-20 16:00:03 -07:00
Amin Yahyaabadi 654b790525
fix: update execa to 9.4.0 2024-09-20 15:48:10 -07:00
Amin Yahyaabadi be3c5a5688
fix: use setup-python patch for smaller binaries 2024-09-20 15:43:39 -07:00
Amin Yahyaabadi f6458ee4e1
fix: fix the build + downgrade eslint to 8 2024-09-20 15:29:42 -07:00
36 changed files with 416 additions and 521 deletions

View File

@ -15,6 +15,11 @@
"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,9 +29,11 @@ jobs:
node: node:
- 22.6.0 - 22.6.0
pnpm: pnpm:
- 9.10.0 - 9.11.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
@ -56,13 +58,17 @@ jobs:
run: | run: |
pnpm run test.lint pnpm run test.lint
- name: Validate Dist - name: Update 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
echo "Detected uncommitted changes after build. See status below:" git config user.name "github-actions[bot]"
git diff --ignore-space-at-eol --text dist/ ':(exclude)*.js.map' git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
exit 1 git add dist/
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
@ -91,7 +97,7 @@ jobs:
node: node:
- 22 - 22
pnpm: pnpm:
- 9.10.0 - 9.11.0
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -158,7 +164,7 @@ jobs:
node: node:
- 22 - 22
pnpm: pnpm:
- 9.10.0 - 9.11.0
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -239,7 +245,7 @@ jobs:
node: node:
- 22 - 22
pnpm: pnpm:
- 9.10.0 - 9.11.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,2 +1,5 @@
import { buildTerserOptions } from "terser-config-atomic/dist/builder.js" import { buildTerserOptions } from "terser-config-atomic/dist/builder.js"
export default buildTerserOptions(process.env.NODE_ENV, undefined, true) const config = buildTerserOptions(process.env.NODE_ENV, undefined, true)
config.compress.unsafe_math = false
export default config

View File

@ -78,6 +78,7 @@ 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,11 +30,12 @@
"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 numerous,execa,prettier,@types/node,eslint,@types/eslint && pnpm update && pnpx typesync && pnpm run clean", "bump": "ncu -u -x execa,numerous,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": "run-p build.json dev.packages dev.vite", "dev.root.tsc": "tsc --noEmit --pretty --watch",
"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.**",
@ -54,6 +55,7 @@
"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",
@ -61,7 +63,7 @@
"@actions/tool-cache": "^2.0.1", "@actions/tool-cache": "^2.0.1",
"@aminya/minijson": "1.1.0", "@aminya/minijson": "1.1.0",
"@babel/core": "^7.25.2", "@babel/core": "^7.25.2",
"@biomejs/biome": "^1.9.1", "@biomejs/biome": "^1.9.2",
"@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",
@ -75,11 +77,11 @@
"@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.0.0", "@types/eslint": "^9.6.1",
"@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.0.0", "@types/node": "^22.5.5",
"@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#02526f866c4f57d3a097590942dc0e700fb3eb15",
@ -89,17 +91,17 @@
"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.3", "cspell": "^8.14.4",
"diagnostics_channel": "^1.1.0", "diagnostics_channel": "^1.1.0",
"dprint": "^0.47.2", "dprint": "^0.47.2",
"envosman": "workspace:*", "envosman": "workspace:*",
"escape-path-with-spaces": "^1.0.2", "escape-path-with-spaces": "^1.0.2",
"escape-quotes": "^1.0.2", "escape-quotes": "^1.0.2",
"escape-string-regexp": "^5.0.0", "escape-string-regexp": "^5.0.0",
"eslint": "^9.0.0", "eslint": "8.57.1",
"eslint-config-atomic": "^1.22.1", "eslint-config-atomic": "^1.22.1",
"exec-powershell": "workspace:*", "exec-powershell": "workspace:*",
"execa": "^9.0.0", "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",
@ -109,7 +111,7 @@
"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.1", "npm-check-updates": "^17.1.2",
"npm-run-all2": "^6.2.3", "npm-run-all2": "^6.2.3",
"numerous": "2.0.0", "numerous": "2.0.0",
"p-timeout": "^6.1.2", "p-timeout": "^6.1.2",
@ -119,17 +121,18 @@
"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.21.3", "rollup": "^4.22.0",
"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#65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236", "setup-python": "github:aminya/setup-python#9700887",
"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#d732dbc4fe991ab323cfa9075df8a7988537926e", "time-delta": "github:aminya/time-delta#69d91a4",
"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.2",
@ -177,13 +180,14 @@
"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.10.0", "packageManager": "pnpm@9.11.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": "^12", "@types/node": "22.5.5",
"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

@ -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": "^12", "@types/node": "22.5.5",
"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",
"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) => err.stderr.includes(error))) { if (retryErrors.some((error) => typeof err.stderr === "string" && 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": "^12", "@types/node": "22.5.5",
"ci-log": "workspace:*", "ci-log": "workspace:*",
"envosman": "workspace:*", "envosman": "workspace:*",
"which": "4.0.0", "which": "4.0.0",
"execa": "^7.2.0", "execa": "^7",
"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 { type ExecaReturnValue, execa } from "execa" import { 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,20 +218,9 @@ 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 | ExecaReturnValue<string>>[] = [] const promises: Promise<void>[] = []
// 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(
@ -280,6 +269,17 @@ 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 * as numerous from "numerous" import numerous from "numerous"
import numerousLocale from "numerous/locales/en.js" import numerousLocale from "numerous/locales/en.js"
import * as timeDelta from "time-delta" import 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,6 +31,7 @@ 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",
} }
: {}), : {}),