diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d70be0ebf..2ba3827d8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -33,8 +33,8 @@ jobs: - name: Build MathJax run: | ./components/bin/version - pnpm -s link:src - pnpm -s build-all + pnpm --silent link:src + pnpm --silent build-all - name: Publish to npmjs run: pnpm publish --provenance --no-git-checks diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4c0c29698..b5ad53e87 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,10 +16,10 @@ jobs: - name: Checkout uses: actions/checkout@v5 - - uses: pnpm/action-setup@v5 + - uses: pnpm/action-setup@v6 name: Install pnpm with: - version: 10 + version: 11 run_install: false - name: Install Node.js @@ -31,24 +31,24 @@ jobs: - name: Install packages run: | pnpm -r i - pnpm -s link:src + pnpm --silent link:src - name: Compile MathJax run: | - pnpm -s mjs:compile - pnpm -s copy:assets mjs + pnpm --silent mjs:compile + pnpm --silent copy:assets mjs components/bin/makeAll --mjs --terse --build --copy components/mjs - pnpm -s cjs:compile - pnpm -s cjs:components:src:build - pnpm -s copy:assets cjs + pnpm --silent cjs:compile + pnpm --silent cjs:components:src:build + pnpm --silent copy:assets cjs components/bin/makeAll --cjs --terse --build --copy components/cjs - pnpm -s copy:pkg cjs + pnpm --silent copy:pkg cjs - name: Build tests run: pnpm tsc -p testsuite/tsconfig.json - name: Run tests - run: pnpm -s test:gh + run: pnpm --silent test:gh - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v6 diff --git a/package.json b/package.json index 3ac92c2a2..2549464cb 100644 --- a/package.json +++ b/package.json @@ -76,76 +76,76 @@ "format": "check() { prettier --check ${1:-\"ts/**/*.{ts,tsx}\"}; }; check", "format:fix": "fix() { prettier --write ${1:-\"ts/**/*.{ts,tsx}\"}; }; fix", "=============================================================================== clean": "", - "clean:dir": "clean() { pnpm -s log:single \"Cleaning $1 directory\"; pnpm rimraf $1; }; clean", - "clean:lib": "clean() { pnpm -s log:single \"Cleaning $1 component libs\"; pnpm rimraf -g components/$1'/**/lib'; }; clean", - "clean:mod": "clean() { pnpm -s log:comp \"Cleaning $1 module\"; pnpm -s clean:dir $1 && pnpm -s clean:lib $1; }; clean", + "clean:dir": "clean() { pnpm --silent log:single \"Cleaning $1 directory\"; pnpm rimraf $1; }; clean", + "clean:lib": "clean() { pnpm --silent log:single \"Cleaning $1 component libs\"; pnpm rimraf -g components/$1'/**/lib'; }; clean", + "clean:mod": "clean() { pnpm --silent log:comp \"Cleaning $1 module\"; pnpm --silent clean:dir $1 && pnpm --silent clean:lib $1; }; clean", "=============================================================================== copy": "", - "copy:assets": "pnpm -s log:comp 'Copying assets'; copy() { for name in locales mj2 mml3 html; do pnpm -s copy:$name ${1:-mjs}; done; }; copy", + "copy:assets": "pnpm --silent log:comp 'Copying assets'; copy() { for name in locales mj2 mml3 html; do pnpm --silent copy:$name ${1:-mjs}; done; }; copy", "copy:bundle": "copy() { components/bin/makeAll --copy --terse components/mjs/${1:-}; }; copy", - "copy:html": "copy() { pnpm -s log:single 'Copying sre auxiliary files'; pnpm copyfiles -u 1 'ts/a11y/sre/*.html' 'ts/a11y/sre/require.*' $1; }; copy", - "copy:locales": "copy() { for name in core tex mml menu util a11y adaptors; do pnpm -s copy:locales:$name ${1:-mjs}; done; }; copy ", - "copy:locales:a11y": "pnpm -s log:single 'Copying a11y locales'; copy() { pnpm copyfiles -u 1 'ts/a11y/*/__locales__/*.json' $1; }; copy", - "copy:locales:adaptors": "pnpm -s log:single 'Copying DOMAdaptor locales'; copy() { pnpm copyfiles -u 1 'ts/adaptors/*/__locales__/*.json' $1; }; copy", - "copy:locales:core": "pnpm -s log:single 'Copying core locales'; copy() { pnpm copyfiles -u 1 'ts/core/__locales__/*.json' $1; }; copy", - "copy:locales:menu": "pnpm -s log:single 'Copying menu locales'; copy() { pnpm copyfiles -u 1 'ts/ui/menu/__locales__/*.json' $1; }; copy", - "copy:locales:mml": "pnpm -s log:single 'Copying MathML locales'; copy() { pnpm copyfiles -u 1 'ts/input/mathml/__locales__/*.json' $1; }; copy", - "copy:locales:util": "pnpm -s log:single 'Copying utility locales'; copy() { pnpm copyfiles -u 1 'ts/util/*/__locales__/*.json' $1; }; copy", - "copy:locales:tex": "pnpm -s log:single 'Copying TeX locales'; copy() { pnpm copyfiles -u 1 'ts/input/tex/__locales__/*.json' $1 && pnpm copyfiles -u 3 'ts/input/tex/*/__locales__/*.json' $1/input/tex; }; copy", - "copy:mj2": "copy() { pnpm -s log:single 'Copying legacy code AsciiMath'; pnpm copyfiles -u 1 'ts/input/asciimath/legacy/**/*' $1; }; copy", - "copy:mml3": "copy() { pnpm -s log:single 'Copying MathML3 extension json'; pnpm copyfiles -u 1 ts/input/mathml/mml3/mml3.sef.json $1; }; copy", - "copy:pkg": "copy() { pnpm -s log:single \"Copying package.json to $1\"; pnpm copyfiles -u 2 components/bin/package.json $1; }; copy", + "copy:html": "copy() { pnpm --silent log:single 'Copying sre auxiliary files'; pnpm copyfiles -u 1 'ts/a11y/sre/*.html' 'ts/a11y/sre/require.*' $1; }; copy", + "copy:locales": "copy() { for name in core tex mml menu util a11y adaptors; do pnpm --silent copy:locales:$name ${1:-mjs}; done; }; copy ", + "copy:locales:a11y": "pnpm --silent log:single 'Copying a11y locales'; copy() { pnpm copyfiles -u 1 'ts/a11y/*/__locales__/*.json' $1; }; copy", + "copy:locales:adaptors": "pnpm --silent log:single 'Copying DOMAdaptor locales'; copy() { pnpm copyfiles -u 1 'ts/adaptors/*/__locales__/*.json' $1; }; copy", + "copy:locales:core": "pnpm --silent log:single 'Copying core locales'; copy() { pnpm copyfiles -u 1 'ts/core/__locales__/*.json' $1; }; copy", + "copy:locales:menu": "pnpm --silent log:single 'Copying menu locales'; copy() { pnpm copyfiles -u 1 'ts/ui/menu/__locales__/*.json' $1; }; copy", + "copy:locales:mml": "pnpm --silent log:single 'Copying MathML locales'; copy() { pnpm copyfiles -u 1 'ts/input/mathml/__locales__/*.json' $1; }; copy", + "copy:locales:util": "pnpm --silent log:single 'Copying utility locales'; copy() { pnpm copyfiles -u 1 'ts/util/*/__locales__/*.json' $1; }; copy", + "copy:locales:tex": "pnpm --silent log:single 'Copying TeX locales'; copy() { pnpm copyfiles -u 1 'ts/input/tex/__locales__/*.json' $1 && pnpm copyfiles -u 3 'ts/input/tex/*/__locales__/*.json' $1/input/tex; }; copy", + "copy:mj2": "copy() { pnpm --silent log:single 'Copying legacy code AsciiMath'; pnpm copyfiles -u 1 'ts/input/asciimath/legacy/**/*' $1; }; copy", + "copy:mml3": "copy() { pnpm --silent log:single 'Copying MathML3 extension json'; pnpm copyfiles -u 1 ts/input/mathml/mml3/mml3.sef.json $1; }; copy", + "copy:pkg": "copy() { pnpm --silent log:single \"Copying package.json to $1\"; pnpm copyfiles -u 2 components/bin/package.json $1; }; copy", "=============================================================================== log": "", "log:comp": "log() { echo \u001b[32m$1\u001b[0m; }; log", "log:header": "log() { echo '\u001b[1m============='; echo $1; echo '=============\u001b[0m'; }; log", "log:single": "log() { echo \u001b[94m--$1\u001b[0m; }; log", "=============================================================================== cjs": "", - "cjs:build": "pnpm -s log:header 'Building cjs'; pnpm -s cjs:src:build && pnpm -s cjs:components:build", - "cjs:bundle:clean": "pnpm -s clean:dir bundle-cjs", - "cjs:bundle:finalize": "pnpm -s log:single 'Finalize cjs bundle'; echo '{\n \"type\": \"commonjs\"\n}' > bundle-cjs/package.json;", - "cjs:compile": "pnpm -s cjs:copy:components && pnpm -s cjs:copy:ts && pnpm -s cjs:compile:tsc", - "cjs:compile:tsc": "pnpm -s log:single 'Compiling cjs typescript files' && pnpm tsc --project tsconfig/worker-cjs.json && pnpm tsc --project tsconfig/cjs.json", - "cjs:components:build": "pnpm -s log:comp 'Building cjs components'; pnpm -s cjs:components:src:build && pnpm -s clean:dir bundle-cjs && pnpm -s cjs:components:make --build", - "cjs:components:clean": "pnpm -s log:single \"Cleaning cjs components\"; pnpm rimraf components/cjs", - "cjs:components:compile": "pnpm -s log:single 'Compiling component files'; pnpm tsc --project tsconfig/components.json", + "cjs:build": "pnpm --silent log:header 'Building cjs'; pnpm --silent cjs:src:build && pnpm --silent cjs:components:build", + "cjs:bundle:clean": "pnpm --silent clean:dir bundle-cjs", + "cjs:bundle:finalize": "pnpm --silent log:single 'Finalize cjs bundle'; echo '{\n \"type\": \"commonjs\"\n}' > bundle-cjs/package.json;", + "cjs:compile": "pnpm --silent cjs:copy:components && pnpm --silent cjs:copy:ts && pnpm --silent cjs:compile:tsc", + "cjs:compile:tsc": "pnpm --silent log:single 'Compiling cjs typescript files' && pnpm tsc --project tsconfig/worker-cjs.json && pnpm tsc --project tsconfig/cjs.json", + "cjs:components:build": "pnpm --silent log:comp 'Building cjs components'; pnpm --silent cjs:components:src:build && pnpm --silent clean:dir bundle-cjs && pnpm --silent cjs:components:make --build", + "cjs:components:clean": "pnpm --silent log:single \"Cleaning cjs components\"; pnpm rimraf components/cjs", + "cjs:components:compile": "pnpm --silent log:single 'Compiling component files'; pnpm tsc --project tsconfig/components.json", "cjs:components:copy": "pnpm copyfiles -u 2 -e 'components/mjs/**/*.js' 'components/mjs/**/*' components/cjs", - "cjs:components:finalize": "pnpm -s log:comp 'Finalize cjs components'; pnpm -s cjs:components:copy && pnpm -s copy:pkg components/cjs && pnpm -s clean:lib cjs", - "cjs:components:make": "make() { pnpm -s log:single 'Making cjs components'; node components/bin/makeAll --cjs --terse --bundle-cjs $1 $2 $3 components/cjs; }; make", - "cjs:components:src:build": "pnpm -s log:comp 'Building cjs components sources'; pnpm -s cjs:components:clean && pnpm -s cjs:components:compile && pnpm -s cjs:components:finalize", - "cjs:src:build": "pnpm -s log:comp 'Building cjs sources'; pnpm -s link:src && pnpm -s clean:dir cjs && pnpm -s cjs:compile && pnpm -s copy:assets cjs && pnpm -s copy:pkg cjs", - "cjs:copy:components": "pnpm -s log:single 'Moving cjs files from components' && pnpm copyfiles -u 2 'components/mjs/**/*.cjs' 'components/mjs/**/*.d.cts' components/cjs", - "cjs:copy:ts": "pnpm -s log:single 'Moving cjs files from ts' && pnpm copyfiles -u 1 'ts/**/*.cjs' cjs", + "cjs:components:finalize": "pnpm --silent log:comp 'Finalize cjs components'; pnpm --silent cjs:components:copy && pnpm --silent copy:pkg components/cjs && pnpm --silent clean:lib cjs", + "cjs:components:make": "make() { pnpm --silent log:single 'Making cjs components'; node components/bin/makeAll --cjs --terse --bundle-cjs $1 $2 $3 components/cjs; }; make", + "cjs:components:src:build": "pnpm --silent log:comp 'Building cjs components sources'; pnpm --silent cjs:components:clean && pnpm --silent cjs:components:compile && pnpm --silent cjs:components:finalize", + "cjs:src:build": "pnpm --silent log:comp 'Building cjs sources'; pnpm --silent link:src && pnpm --silent clean:dir cjs && pnpm --silent cjs:compile && pnpm --silent copy:assets cjs && pnpm --silent copy:pkg cjs", + "cjs:copy:components": "pnpm --silent log:single 'Moving cjs files from components' && pnpm copyfiles -u 2 'components/mjs/**/*.cjs' 'components/mjs/**/*.d.cts' components/cjs", + "cjs:copy:ts": "pnpm --silent log:single 'Moving cjs files from ts' && pnpm copyfiles -u 1 'ts/**/*.cjs' cjs", "=============================================================================== mjs": "", - "mjs:build": "pnpm -s log:header 'Building mjs'; pnpm -s mjs:src:build && pnpm -s mjs:components:build", - "mjs:bundle:finalize": "pnpm -s log:single 'Finalize mjs bundle'; echo '{\n \"type\": \"commonjs\"\n}' > bundle/package.json;", - "mjs:compile": "pnpm -s log:single 'Compiling mjs typescript files'; pnpm tsc --project tsconfig/mjs.json && pnpm tsc --project tsconfig/worker.json", - "mjs:components:build": "build() { pnpm -s log:comp 'Compiling mjs component files'; pnpm -s clean:lib mjs && pnpm -s clean:dir bundle && pnpm -s mjs:components:make $1 && pnpm -s mjs:bundle:finalize; }; build", - "mjs:components:make": "make() { pnpm -s log:single 'Making mjs components'; node components/bin/makeAll --mjs --terse --locale ${1:-en} components/mjs; }; make", - "mjs:src:build": "pnpm -s log:comp 'Building mjs sources'; pnpm -s link:src && pnpm -s clean:dir mjs && pnpm -s mjs:compile && pnpm -s copy:assets mjs", + "mjs:build": "pnpm --silent log:header 'Building mjs'; pnpm --silent mjs:src:build && pnpm --silent mjs:components:build", + "mjs:bundle:finalize": "pnpm --silent log:single 'Finalize mjs bundle'; echo '{\n \"type\": \"commonjs\"\n}' > bundle/package.json;", + "mjs:compile": "pnpm --silent log:single 'Compiling mjs typescript files'; pnpm tsc --project tsconfig/mjs.json && pnpm tsc --project tsconfig/worker.json", + "mjs:components:build": "build() { pnpm --silent log:comp 'Compiling mjs component files'; pnpm --silent clean:lib mjs && pnpm --silent clean:dir bundle && pnpm --silent mjs:components:make $1 && pnpm --silent mjs:bundle:finalize; }; build", + "mjs:components:make": "make() { pnpm --silent log:single 'Making mjs components'; node components/bin/makeAll --mjs --terse --locale ${1:-en} components/mjs; }; make", + "mjs:src:build": "pnpm --silent log:comp 'Building mjs sources'; pnpm --silent link:src && pnpm --silent clean:dir mjs && pnpm --silent mjs:compile && pnpm --silent copy:assets mjs", "=============================================================================== mml3": "", "mml3:make:xslt": "pnpm xslt3 -t -xsl:/tmp/mml3.xsl -export:ts/input/mathml/mml3/mml3.sef.json -nogo", "mml3:post:xslt": "pnpm rimraf /tmp/mml3.xsl", "mml3:pre:xslt": "grep '^\\s*\\(<\\|or\\|xmlns\\|excl\\|\">\\)' ts/input/mathml/mml3/mml3.ts > /tmp/mml3.xsl", - "mml3-xslt": "pnpm -s mml3:pre:xslt && pnpm -s mml3:make:xslt && pnpm -s mml3:post:xslt", + "mml3-xslt": "pnpm --silent mml3:pre:xslt && pnpm --silent mml3:make:xslt && pnpm --silent mml3:post:xslt", "=============================================================================== misc": "", - "lab:sre": "pnpm -s log:single 'Making lab/sre'; node components/bin/makeAll --terse lab/build", - "link:src": "pnpm -s log:single 'Setting symbolic link'; node components/bin/link-full", + "lab:sre": "pnpm --silent log:single 'Making lab/sre'; node components/bin/makeAll --terse lab/build", + "link:src": "pnpm --silent log:single 'Setting symbolic link'; node components/bin/link-full", "use-cjs": "echo '{\n \"extends\": \"./tsconfig/cjs.json\"\n}' > tsconfig.json", "use-mjs": "echo '{\n \"extends\": \"./tsconfig/mjs.json\"\n}' > tsconfig.json", "=============================================================================== aliases": "", - "test": "cd testsuite && pnpm -s test --verbose", - "test:gh": "cd testsuite && pnpm -s test --silent", - "clean": "pnpm -s clean:mod cjs && pnpm -s cjs:bundle:clean && pnpm -s clean:mod mjs && pnpm -s clean:dir bundle", - "compile-cjs": "pnpm -s cjs:compile", - "compile-mjs": "pnpm -s mjs:compile", - "build-cjs": "pnpm -s cjs:build", - "build-mjs": "pnpm -s mjs:build", - "make-cjs-components": "make() { pnpm -s cjs:components:make $1 $2 && pnpm -s cjs:bundle:finalize; }; make", - "make-mjs-components": "pnpm -s mjs:components:make", + "test": "cd testsuite && pnpm --silent test --verbose", + "test:gh": "cd testsuite && pnpm --silent test --silent", + "clean": "pnpm --silent clean:mod cjs && pnpm --silent cjs:bundle:clean && pnpm --silent clean:mod mjs && pnpm --silent clean:dir bundle", + "compile-cjs": "pnpm --silent cjs:compile", + "compile-mjs": "pnpm --silent mjs:compile", + "build-cjs": "pnpm --silent cjs:build", + "build-mjs": "pnpm --silent mjs:build", + "make-cjs-components": "make() { pnpm --silent cjs:components:make $1 $2 && pnpm --silent cjs:bundle:finalize; }; make", + "make-mjs-components": "pnpm --silent mjs:components:make", "make-one": "make() { node components/bin/makeAll --no-subdirs $3 $4 $5 --${2:-mjs} components/${2:-mjs}/$1; }; make", - "make-components": "pnpm -s make-mjs-components", - "compile": "pnpm -s compile-mjs", - "build": "pnpm -s build-mjs", - "build-all": "build() { pnpm -s build-mjs $1; echo ; pnpm -s build-cjs $1; }; build" + "make-components": "pnpm --silent make-mjs-components", + "compile": "pnpm --silent compile-mjs", + "build": "pnpm --silent build-mjs", + "build-all": "build() { pnpm --silent build-mjs $1; echo ; pnpm --silent build-cjs $1; }; build" }, "devDependencies": { "@eslint/js": "^10.0.1",