
Security News
/Company News
Socket Is Sponsoring Composer and Packagist
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.
@ooxml-tools/validate
Advanced tools
Validate Office Open XML files in nodejs the browser
pnpm install @ooxml-tools/validate --save
Once installed run
ooxml-validate ./test.docx
All the options can be seen with
ooxml-validate --help
# ooxml-validate <filepath>
#
# validate docx files
#
# Positionals:
# filepath filepath of OOXML file [string]
#
# Options:
# --help Show help [boolean]
# --version Show version number [boolean]
# --office-version, --ov office version used for validation
# [choices: "Microsoft365", "Office2007", "Office2010", "Office2013",
# "Office2016", "Office2019", "Office2021"] [default: "Microsoft365"]
# --output-format, --of format of output
# [choices: "pretty", "json"] [default: "pretty"]
# -f, --format document format (should be auto-detected)
# [choices: "xlsx", "pptx", "docx"]
Pass an ArrayBuffer as input and get results as output
import validate from "@ooxml-tools/validate";
const version = "Microsoft365";
const results = await validate(input, version);
console.log(results);
Where version of one of ["Microsoft365", "Office2007", "Office2010", "Office2013", "Office2016", "Office2019", "Office2021"]
[!NOTE]
If you don't feel like installing all the dependencies you can run the following./docker.shThis will start a docker shell with all the dependencies installed. The following commands can then be run in that shell without installing any dependencies (other then
docker/docker-compose)
You'll need dotnet 8 installed locally, to whether it's installed run dotnet --version.
You'll also need to install the node_modules via
pnpm install
Build the library run
pnpm run build
The built npm package will be output to ./dist/npm/*
ls -l ./dist/npm/
# total 41340
# -rw-r--r-- 1 root root 818 Jul 20 09:05 _virtual_module-D7pcKkEN.js
# -rw-r--r-- 1 root root 2335 Jul 20 09:05 _virtual_process-CKiOJcMv.js
# drwxr-xr-x 3 root root 96 Jul 20 09:05 bin
# -rw-r--r-- 1 root root 35982 Jul 20 09:05 dotnet-CjdMQPqM.js
# -rw-r--r-- 1 root root 149565 Jul 20 09:05 dotnet.native.8.0.7.lb1gfjpp0m-Dp0tYBIl.js
# -rw-r--r-- 1 root root 222989 Jul 20 09:05 dotnet.runtime.8.0.7.bxd2x47e2z-B0R9BXGJ.js
# -rw-r--r-- 1 root root 41906074 Jul 20 09:05 index.js
# -rw-r--r-- 1 root root 1027 Jul 20 09:05 package.json
It comes with some known issues
MIT
FAQs
Validate Office Open XML files in nodejs the browser
We found that @ooxml-tools/validate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.

Research
/Security News
Benign-looking npm packages split malicious functionality across a dependency chain that deploys a cross-platform RAT targeting Alibaba developers.

Research
/Security News
Two Joyfill npm beta releases contain an import-time implant that uses blockchain transactions to retrieve a remote-access trojan.