{"_id":"word","_rev":"900555","name":"word","description":"Word Processing Document library","dist-tags":{"latest":"0.4.0"},"maintainers":[{"name":"sheetjs","email":""}],"time":{"modified":"2021-09-18T10:23:14.000Z","created":"2012-01-04T14:18:16.010Z","0.4.0":"2020-07-21T18:03:27.187Z","0.3.0":"2020-06-28T06:26:00.106Z","0.2.4":"2012-01-22T16:32:31.818Z","0.2.3":"2012-01-14T14:55:23.693Z","0.2.2":"2012-01-06T09:27:27.023Z","0.2.1":"2012-01-05T06:47:03.947Z","0.1.0":"2012-01-04T19:11:15.910Z","0.0.1":"2012-01-04T14:18:16.010Z"},"users":{},"author":{"name":"sheetjs"},"repository":{"type":"git","url":"git://github.com/SheetJS/js-word.git"},"versions":{"0.4.0":{"name":"word","version":"0.4.0","author":{"name":"sheetjs"},"description":"Word Processing Document library","keywords":["word"],"main":"./word","types":"./dist/typings/index.d.ts","dependencies":{"cfb":"^1.2.0","jsdom":"^16.2.2"},"devDependencies":{"@types/jsdom":"^16.2.3","@types/mocha":"^7.0.2","@types/node":"^14.0.20","glob":"^7.1.6","mocha":"^8.0.1","ts-node":"^8.10.2","typescript":"^3.9.6"},"repository":{"type":"git","url":"git://github.com/SheetJS/js-word.git"},"scripts":{"build:cjs":"tsc -p tsconfig/tsconfig.cjs.json","build:types":"tsc -p tsconfig/tsconfig.types.json","test":"mocha -r ts-node/register test.ts"},"homepage":"https://wordjs.com/","bugs":{"url":"https://github.com/SheetJS/js-word/issues"},"license":"Apache-2.0","engines":{"node":">=0.8"},"gitHead":"4a9cbcafc6639362857ee46b1d0bc305e0c90dc9","_id":"word@0.4.0","_nodeVersion":"14.5.0","_npmVersion":"6.14.5","dist":{"shasum":"691272aaecb9da96388fc873d2ecb48a17cbee54","size":21563,"noattachment":false,"key":"/word/-/word-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.4.0.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"_npmUser":{"name":"sheetjs","email":"dev@sheetjs.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/word_0.4.0_1595354607057_0.15959281057664532"},"_hasShrinkwrap":false,"publish_time":1595354607187,"_cnpm_publish_time":1595354607187},"0.3.0":{"name":"word","version":"0.3.0","author":{"name":"sheetjs"},"description":"Word Processing Document library","keywords":["word"],"main":"./word","dependencies":{},"devDependencies":{},"repository":{"type":"git","url":"git://github.com/SheetJS/js-word.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"homepage":"https://wordjs.com/","bugs":{"url":"https://github.com/SheetJS/js-word/issues"},"license":"Apache-2.0","engines":{"node":">=0.8"},"gitHead":"08bf4fd23b8fa78c19661915e24d57459bf00bfa","_id":"word@0.3.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"sheetjs","email":"dev@sheetjs.com"},"dist":{"shasum":"8542157e4f8e849f4a363a288992d47612db9961","size":5495,"noattachment":false,"key":"/word/-/word-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.3.0.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/word_0.3.0_1593325559907_0.2789178467352931"},"_hasShrinkwrap":false,"publish_time":1593325560106,"_cnpm_publish_time":1593325560106},"0.2.4":{"name":"word","version":"0.2.4","description":"Contains functions that assist in working with strings.","keywords":["string helper","text helper","string","text"],"author":{"name":"Veselin Todorov","email":"hi@vesln.com"},"dependencies":{"lingo":"0.0.4","super":"0.0.1","slug":"0.2.2"},"devDependencies":{"mocha":"0.3.3","should":"0.3.2","coffee-script":"1.2.0"},"repository":{"type":"git","url":"git://github.com/vesln/word.git"},"homepage":"http://github.com/vesln/word","scripts":{"test":"cake test","prepublish":"cake build","postpublish":"cake clean"},"main":"./lib/word","engines":{"node":">= 0.6.0 < 0.7.0"},"_npmUser":{"name":"vesln","email":"hi@vesln.com"},"_id":"word@0.2.4","_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"6f41892598de491e42f403fa9c592c7200c3aab7","size":5504,"noattachment":false,"key":"/word/-/word-0.2.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.2.4.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"directories":{},"publish_time":1327249951818,"_cnpm_publish_time":1327249951818,"_hasShrinkwrap":false},"0.2.3":{"name":"word","version":"0.2.3","description":"Contains functions that assist in working with strings.","keywords":["string helper","text helper","string","text"],"author":{"name":"Veselin Todorov","email":"hi@vesln.com"},"dependencies":{"lingo":"0.0.4","super":"0.0.1","slug":"0.2.2"},"devDependencies":{"mocha":"0.3.3","should":"0.3.2","coffee-script":"1.2.0"},"repository":{"type":"git","url":"git://github.com/vesln/word.git"},"homepage":"http://github.com/vesln/word","scripts":{"test":"cake test","prepublish":"cake build","postpublish":"cake clean"},"main":"./lib/word","engines":{"node":">= 0.6.0 < 0.7.0"},"_npmUser":{"name":"vesln","email":"hi@vesln.com"},"_id":"word@0.2.3","_engineSupported":true,"_npmVersion":"1.1.0-beta-10","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"711e38d045912fbddc9c3934d2f14764fa2eee96","size":5493,"noattachment":false,"key":"/word/-/word-0.2.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.2.3.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"directories":{},"publish_time":1326552923693,"_cnpm_publish_time":1326552923693,"_hasShrinkwrap":false},"0.2.2":{"name":"word","version":"0.2.2","description":"Contains functions that assist in working with strings.","keywords":["string helper","text helper","string","text"],"author":{"name":"Veselin Todorov","email":"hi@vesln.com"},"dependencies":{"package":"1.0.0","lingo":"0.0.4","super":"0.0.1","slug":"0.1.1"},"devDependencies":{"mocha":"0.3.3","should":"0.3.2","coffee-script":"1.2.0"},"repository":{"type":"git","url":"git://github.com/vesln/word.git"},"homepage":"http://github.com/vesln/word","scripts":{"test":"cake test","prepublish":"cake build","postpublish":"cake clean"},"main":"./lib/word","engines":{"node":">= 0.6.0 < 0.7.0"},"_npmUser":{"name":"vesln","email":"hi@vesln.com"},"_id":"word@0.2.2","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"d4896ea9b21d796fee27ea1fd7277438577bd136","size":10240,"noattachment":false,"key":"/word/-/word-0.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.2.2.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"directories":{},"publish_time":1325842047023,"_cnpm_publish_time":1325842047023,"_hasShrinkwrap":false},"0.2.1":{"name":"word","version":"0.2.1","description":"Contains functions that assist in working with strings.","keywords":["string helper","text helper","string","text"],"author":{"name":"Veselin Todorov","email":"hi@vesln.com"},"dependencies":{"package":"1.0.0","lingo":"0.0.4","super":"0.0.1","slug":"0.1.1"},"devDependencies":{"mocha":"0.3.3","should":"0.3.2","coffee-script":"1.2.0"},"repository":{"type":"git","url":"git://github.com/vesln/word.git"},"homepage":"http://github.com/vesln/word","scripts":{"test":"cake test","pre-publish":"cake build"},"main":"./lib/word","engines":{"node":">= 0.6.0 < 0.7.0"},"_npmUser":{"name":"vesln","email":"hi@vesln.com"},"_id":"word@0.2.1","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"b6261499c715bf85acaa12e203b2fac95d46aa35","size":10240,"noattachment":false,"key":"/word/-/word-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.2.1.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"directories":{},"publish_time":1325746023947,"_cnpm_publish_time":1325746023947,"_hasShrinkwrap":false},"0.1.0":{"name":"word","version":"0.1.0","description":"Contains functions that assist in working with strings.","keywords":["string helper","text helper","string","text"],"author":{"name":"Veselin Todorov","email":"hi@vesln.com"},"dependencies":{"package":"1.0.0","coffee-script":"1.2.0","lingo":"0.0.4","super":"0.0.1","slug":"0.1.1"},"devDependencies":{"mocha":"0.3.3","should":"0.3.2"},"repository":{"type":"git","url":"git://github.com/vesln/word.git"},"homepage":"http://github.com/vesln/word","scripts":{"test":"make test"},"main":"index","engines":{"node":">= 0.6.0 < 0.7.0"},"_npmUser":{"name":"vesln","email":"hi@vesln.com"},"_id":"word@0.1.0","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"455b88b0e88cba18f926d79e7465369b5547705b","size":10240,"noattachment":false,"key":"/word/-/word-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.1.0.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"directories":{},"publish_time":1325704275910,"_cnpm_publish_time":1325704275910,"_hasShrinkwrap":false},"0.0.1":{"name":"word","version":"0.0.1","description":"Contains functions that assist in working with strings.","keywords":["string helper","text helper","string","text"],"author":{"name":"Veselin Todorov","email":"hi@vesln.com"},"dependencies":{"package":"1.0.0","coffee-script":"1.2.0","lingo":"0.0.4","super":"0.0.1"},"devDependencies":{"mocha":"0.3.3","should":"0.3.2"},"repository":{"type":"git","url":"git://github.com/vesln/word.git"},"homepage":"http://github.com/vesln/word","scripts":{"test":"make test"},"main":"index","engines":{"node":">= 0.6.0 < 0.7.0"},"_npmUser":{"name":"vesln","email":"hi@vesln.com"},"_id":"word@0.0.1","_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"a275b44df0a48e0a3389ab9eb5cd2916bbf9341b","size":10240,"noattachment":false,"key":"/word/-/word-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/word/download/word-0.0.1.tgz"},"maintainers":[{"name":"sheetjs","email":""}],"directories":{},"publish_time":1325686696010,"_cnpm_publish_time":1325686696010,"_hasShrinkwrap":false}},"readme":"# [SheetJS js-word](http://wordjs.com)\n\nParser and writer for various word processing doc formats. Pure-JS cleanroom\nimplementation from official specifications, related documents, and test files.\nEmphasis on parsing and writing robustness, cross-format feature compatibility\nwith a unified JS representation, and maximal browser compatibility.\n\n\n## Test Files\n\nTest files should be placed in the `test_files` directory, in the appropriate\nsubdirectory for the filetype.  For example, DOCX files should be placed in\n`test_files\\docx\\wordjs` and RTF files should be in `test_files\\rtf\\wordjs`.\n\nEvery test file should be accompanied by a plain text `.txt` representation\nwhose filename is the original filename appended with `.txt`.  For example, the\nDOCX file `test_files\\docx\\wordjs\\foo.docx` pairs with the plain text file `test_files\\docx\\wordjs\\foo.docx.txt`\n\n**Generating Baselines using Word for Windows**\n\n0. Ensure you have PowerShell version 7.0 or greater\n1. Run `Set-ExecutionPolicy RemoteSigned` OR `Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass` in Powershell (PS) Admin 7.0\n2. Have the PS script in the root of the repo\n3. Run `.\\generate_txt.ps1 .\\test_files\\EXT_TYPE\\FOLDER` (ex. `.\\generate_txt.ps1 .\\test_files\\docx\\apachepoi`)\n\nOn first run, if a test file does not have an accompanying `.txt` file, the\nscript will open Word and save the file as plaintext.  Word will rapidly open\nand close during this process.\n\nThe script will not attempt to open Word or try to generate `.txt` files if they\nalready exist.  After a clean run, Word should not open on future runs.\n\nThe script will halt for documents that are broken in certain ways.  Word will\ndisplay a prompt, stalling the automated process.  Those documents can be\nskipped by creating a `.skip` file as described below.\n\n\n**Skipping Files**\n\nThe script will look for files with the `.skip` extension and skip processing\nthe base file.  For example, if `test_files\\docx\\wordjs\\Hello.docx.skip` exists,\nthe script will not attempt to process `test_files\\docx\\wordjs\\Hello.docx`\n\nWhen the UI blocks (for example, on a VBA error with `ThisDocument`), the\ncorresponding `.skip` file should be created manually.  The script merely tests\nif the file exists, so the content is immaterial and a single letter suffices.\n\n**Generating `.skip` files**\n\nThe script will attempt to open password-protected documents using the password\n\"WordJS\".  The script will not halt but it will not generate a text file.  With\na few adjustments, the script can generate `.skip` files for those cases\n\n1. Uncomment [L27-29](https://github.com/SheetJS/js-word/blob/master/generate_txt.ps1#L27-L29) in the script\n2. Comment [L26](https://github.com/SheetJS/js-word/blob/master/generate_txt.ps1#L26) in the script\n3. Rerun the script\n4. Undo Step 1 and 2\n\n\n## License\n\nPlease consult the attached LICENSE file for details.  All rights not explicitly\ngranted by the Apache 2.0 License are reserved by the Original Author.\n\n\n## References\n\n<details>\n  <summary><b>OSP-covered Specifications</b> (click to show)</summary>\n\n - `MS-CFB`: Compound File Binary File Format\n - `MS-DOC`: Word (.doc) Binary File Format\n - `RTF`: Rich Text Format\n\n</details>\n\n- ISO/IEC 29500:2012(E) \"Information technology — Document description and processing languages — Office Open XML File Formats\"\n- Open Document Format for Office Applications Version 1.3 (25 December 2019)\n\n[![Analytics](https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/js-word?pixel)](https://github.com/SheetJS/js-word)\n","_attachments":{},"homepage":"https://wordjs.com/","bugs":{"url":"https://github.com/SheetJS/js-word/issues"},"license":"Apache-2.0"}