Releases: videlais/extwee
v2.2.4
There are two smaller but important changes:
- Stories can be a single and only passage named
Start
. It is strongly recommended to haveStoryData
to have story metadata, but a single passage namedStart
is technically allowed. - pkg has been removed from the project because it was archived starting on Jan 13, 2024. This version does not have a single executable application build, but support for Node's internal API for building applications is queued for a later version.
Full Changelog: v2.2.3...v2.2.4
v2.2.3
Adds TypeScript types generation as a script and as part of the "npm run all" combination to guarantee they will always be updated.
What's Changed
- Bump eslint-plugin-jsdoc from 48.2.0 to 48.2.1 by @dependabot in #481
- Bump esbuild from 0.20.1 to 0.20.2 by @dependabot in #482
- Bump @babel/preset-env from 7.24.1 to 7.24.3 by @dependabot in #487
- Bump typescript from 5.4.2 to 5.4.3 by @dependabot in #486
- Bump webpack from 5.90.3 to 5.91.0 by @dependabot in #485
- Bump @babel/core from 7.24.1 to 7.24.3 by @dependabot in #484
- Bump clean-jsdoc-theme from 4.2.17 to 4.2.18 by @dependabot in #483
- Bump eslint-plugin-jsdoc from 48.2.1 to 48.2.2 by @dependabot in #489
- Bump node-html-parser from 6.1.12 to 6.1.13 by @dependabot in #488
- Bump eslint-plugin-jsdoc from 48.2.2 to 48.2.3 by @dependabot in #490
- Bump @babel/core from 7.24.3 to 7.24.4 by @dependabot in #494
- Bump @babel/preset-env from 7.24.3 to 7.24.4 by @dependabot in #493
- Bump eslint-plugin-jest from 27.9.0 to 28.2.0 by @dependabot in #492
- Bump typescript from 5.4.3 to 5.4.4 by @dependabot in #491
- Bump typescript from 5.4.4 to 5.4.5 by @dependabot in #495
- Bump core-js from 3.36.1 to 3.37.0 by @dependabot in #497
Full Changelog: v2.2.2...v2.2.3
v2.2.2
Adds more tests and documentation overall.
Hopefully, the next minor update will be a fix for #447 with future work toward 2.4.0 and configuration files.
What's Changed
- Adding access to Story.passages by @videlais in #448
- 443 allow publishing stories without a starting passage set by @videlais in #449
- Adding "Warning" to parsing warnings by @videlais in #450
- Adding more tests for optional and required values by @videlais in #453
- Bump core-js from 3.35.0 to 3.35.1 by @dependabot in #454
- Bump webpack from 5.89.0 to 5.90.0 by @dependabot in #455
- Bump @types/uuid from 9.0.7 to 9.0.8 by @dependabot in #456
- Bump @babel/core from 7.23.7 to 7.23.9 by @dependabot in #457
- Bump eslint-plugin-jsdoc from 48.0.2 to 48.0.4 by @dependabot in #458
- Bump @babel/eslint-parser from 7.23.3 to 7.23.9 by @dependabot in #459
- Fixing #460 by @videlais in #466
- Bump esbuild from 0.19.11 to 0.20.0 by @dependabot in #461
- Bump @babel/preset-env from 7.23.8 to 7.23.9 by @dependabot in #465
- Bump commander from 11.1.0 to 12.0.0 by @dependabot in #464
- Bump @babel/cli from 7.23.4 to 7.23.9 by @dependabot in #463
- Bump webpack from 5.90.0 to 5.90.1 by @dependabot in #462
- Bump esbuild from 0.20.0 to 0.20.1 by @dependabot in #474
- Bump eslint from 8.56.0 to 8.57.0 by @dependabot in #475
- Bump webpack from 5.90.2 to 5.90.3 by @dependabot in #476
- Bump eslint-plugin-jsdoc from 48.1.0 to 48.2.0 by @dependabot in #477
- Bump @babel/core from 7.23.9 to 7.24.0 by @dependabot in #478
- Bump @babel/preset-env from 7.23.9 to 7.24.0 by @dependabot in #479
- Bump html-entities from 2.4.0 to 2.5.0 by @dependabot in #480
Full Changelog: v2.2.1...v2.2.2
v2.2.1
Updates
- Better HTML special character escaping when translating into and out of Twine 2 and Twine 1 HTML.
- Adding of TypeScript types.
What's Changed
- Bump node-html-parser from 6.1.11 to 6.1.12 by @dependabot in #433
- Bump esbuild from 0.19.10 to 0.19.11 by @dependabot in #434
- Bump @babel/preset-env from 7.23.6 to 7.23.7 by @dependabot in #436
- Bump core-js from 3.34.0 to 3.35.0 by @dependabot in #438
- Bump eslint-plugin-jsdoc from 46.9.1 to 47.0.2 by @dependabot in #437
- Bump @babel/core from 7.23.6 to 7.23.7 by @dependabot in #435
- 439 output attributes arent escaped in html or twee by @videlais in #441
- TypeScript types by @videlais in #442
Full Changelog: v2.2.0...v2.2.1
Extwee 2.2.0
Extwee 2.2.0 was a multi-month process of supporting every format ever produced by Twine. It included work to get the Twine 1 TWS and Twine 1 HTML documentation approved as well as creating the new Twine 2 JSON format.
Tree Shaking
To support tree-shaking, every method was de-coupled from a static class. Instead of, for example, TweeParser.parse()
, the new function can be found in the Twee/parse.js
file. This should allow those using the API directly to only import the exact function or object rather than need to reference a static class or import the entire Extwee object.
Documentation
As part of the move to 2.2, documentation was also added. There are now pages on each supported format, each individual object, and two examples: how to use the API to generate passages and converting from JSON to Twee.
Public Projects
To enable transparency on upcoming code changes, both the Road to Extwee 2.2.0 project and Road to Extwee 2.4.0 project were set to public.
Note The Road to Extwee 2.2.0 will be closed after this release and publish of files to NPM.
New Binaries
The build
folder contains the latest binary builds for macOS and Windows.
What's Changed
Full Changelog: v2.0.6...v2.2.0
Extwee 2.0.6
Changes:
- Adjusted testing scripts from
test()
toit()
pattern. - Updated dependencies
- Changed how passages with the name
StoryTitle
or containing the tagsscript
orstylesheet
are handled. They are no longer part ofStory.forEach()
and must be searched for seperately.
Full Changelog: v2.0.5...v2.0.6
Extwee 2.0.5
Minor update to fix an issue with semver and version checking.
Full Changelog: v2.0.3...v2.0.5
Extwee 2.0.3
Moving into 2.0, Extwee now uses static methods for all major functionality. What was previously a two-step process of creating an object and then calling its method is reduced into, for example, TweeParser.parse()
. These static methods are also now exported individually and as properties from an object from the index.js file, allowing a developer to either import the exact method they want or to use the whole object.
Internally, testing was condensed into using Jest and away from a combination of Mocha + Chai as well.
Extwee 2.0 now supports command-line usage (via Node) again. This was available in an early build, but has been added back.
Extwee supports NPX commands:
- Compile:
npx extwee -c -i <input twee> -s <input story format JS> -o <output HTML>
- Decompile:
npx extwee -d -i <input HTML> -o <output twee>
What's Changed
- Bump yargs from 13.3.0 to 15.0.2 by @dependabot-preview in #6
- Bump nyc from 14.1.1 to 15.0.0 by @dependabot-preview in #7
- Bump yargs from 15.0.2 to 15.1.0 by @dependabot-preview in #9
- Bump uglify-js from 3.7.2 to 3.7.3 by @dependabot-preview in #8
- Bump mocha from 6.2.2 to 7.0.0 by @dependabot-preview in #10
- Bump node-html-parser from 1.1.16 to 1.1.18 by @dependabot-preview in #17
- Bump uglify-js from 3.7.3 to 3.7.5 by @dependabot-preview in #15
- Bump @babel/core from 7.7.7 to 7.8.3 by @dependabot-preview in #16
- Bump @babel/preset-env from 7.7.7 to 7.8.3 by @dependabot-preview in #18
- Bump uglify-js from 3.7.5 to 3.7.6 by @dependabot-preview in #19
- Bump clean-css from 4.2.1 to 4.2.2 by @dependabot-preview in #22
- Bump node-html-parser from 1.1.18 to 1.1.19 by @dependabot-preview in #21
- Bump node-html-parser from 1.2.3 to 1.2.4 by @dependabot-preview in #31
- Bump node-html-parser from 1.2.4 to 1.2.6 by @dependabot-preview in #33
- Bump mocha from 7.0.1 to 7.1.0 by @dependabot-preview in #35
- Bump node-html-parser from 1.2.6 to 1.2.7 by @dependabot-preview in #34
- Bump eslint-plugin-jsdoc from 21.0.0 to 22.0.0 by @dependabot-preview in #36
- Bump yargs from 15.1.0 to 15.3.0 by @dependabot-preview in #39
- Bump node-html-parser from 1.2.7 to 1.2.11 by @dependabot-preview in #38
- Bump eslint-plugin-jsdoc from 22.0.0 to 22.0.1 by @dependabot-preview in #41
- Bump node-html-parser from 1.2.11 to 1.2.12 by @dependabot-preview in #40
- [Security] Bump acorn from 7.1.0 to 7.1.1 by @dependabot-preview in #42
- Bump yargs from 15.3.0 to 15.3.1 by @dependabot-preview in #43
- Bump mocha from 7.1.0 to 7.1.1 by @dependabot-preview in #45
- Bump eslint-plugin-jsdoc from 22.0.1 to 22.1.0 by @dependabot-preview in #46
- Bump eslint-config-standard from 14.1.0 to 14.1.1 by @dependabot-preview in #47
- Bump eslint-plugin-import from 2.20.1 to 2.20.2 by @dependabot-preview in #48
- Bump eslint-plugin-node from 11.0.0 to 11.1.0 by @dependabot-preview in #49
- Bump node-html-parser from 1.2.12 to 1.2.14 by @dependabot-preview in #50
- Bump node-html-parser from 1.2.14 to 1.2.16 by @dependabot-preview in #53
- Bump shelljs from 0.8.3 to 0.8.4 by @dependabot-preview in #56
- Bump mocha from 7.1.1 to 7.1.2 by @dependabot-preview in #57
- Bump chokidar from 3.3.1 to 3.4.0 by @dependabot-preview in #58
- Bump eslint-plugin-jsdoc from 22.1.0 to 24.0.2 by @dependabot-preview in #59
- Bump eslint-plugin-jsdoc from 24.0.2 to 24.0.6 by @dependabot-preview in #61
- Bump eslint-plugin-jsdoc from 24.0.6 to 28.5.1 by @dependabot-preview in #90
- Bump node-html-parser from 1.2.16 to 1.2.20 by @dependabot-preview in #89
- Bump mocha from 7.1.2 to 8.0.1 by @dependabot-preview in #82
- [Security] Bump lodash from 4.17.15 to 4.17.19 by @dependabot-preview in #101
- Bump chokidar from 3.4.0 to 3.4.2 by @dependabot-preview in #110
- Bump eslint-plugin-jsdoc from 28.5.1 to 30.2.1 by @dependabot-preview in #109
- Bump mocha from 8.0.1 to 8.1.1 by @dependabot-preview in #108
- Bump yargs from 15.3.1 to 15.4.1 by @dependabot-preview in #98
- Bump eslint-plugin-import from 2.20.2 to 2.22.0 by @dependabot-preview in #91
- Bump nyc from 15.0.1 to 15.1.0 by @dependabot-preview in #70
- Bump eslint from 6.8.0 to 7.7.0 by @dependabot-preview in #114
- Bump eslint-plugin-jsdoc from 30.2.1 to 30.2.4 by @dependabot-preview in #115
- Bump node-html-parser from 1.2.20 to 1.2.21 by @dependabot-preview in #125
- Bump yargs from 15.4.1 to 16.0.3 by @dependabot-preview in #124
- Bump eslint-plugin-jsdoc from 30.2.4 to 30.5.1 by @dependabot-preview in #123
- Bump eslint from 7.7.0 to 7.9.0 by @dependabot-preview in #122
- Bump mocha from 8.1.1 to 8.1.3 by @dependabot-preview in #118
- Bump eslint from 7.9.0 to 7.11.0 by @dependabot-preview in #134
- Bump eslint-plugin-jsdoc from 30.5.1 to 30.6.4 by @dependabot-preview in #133
- Bump node-html-parser from 1.2.21 to 1.3.1 by @dependabot-preview in #132
- Bump eslint-plugin-import from 2.22.0 to 2.22.1 by @dependabot-preview in #128
- Bump minimist from 1.2.5 to 1.2.6 by @dependabot in #332
- Bump shelljs from 0.8.4 to 0.8.5 by @dependabot in #331
Full Changelog: v1.5.0...v2.0.3
Extwee 1.5.0
Changes:
- Various bug fixes
- A robust set of Mocha + Istanbul test for over 90% code coverage.
Additions:
- DirectoryReader
Extwee now has a -r
option that will recursively read a directory for CSS, JS, and Twee files. Combined with the built-in -o
option, this will build a HTML file based on a directory instead of a single Twee file.
- DirectoryWatcher
Extwee now has a -w
option that will watch a directory for any file additions or changes. If it detects any, DirectoryReader will be used to process and auto-build the set -o
output after any change.
- Babel Processing
When watching a directory, all JS files will be processed by Babel, transpiling any ES6 into ES5.
- UglyJS Processing
When watching a directory, all JS files will be post-processed by UglyJS, minifying ES5 code.
- CleanCSS Processing
When watching a directory, all CSS files will be "cleaned" by CleanCSS, minifying and optimizing any CSS code.
Extwee 1.1.3
Moved to 1.1.3 after fixing a PID issue (and moving to 1.1.2).
Updated HTMLWriter, README, and package.json to 1.1.3.
Update:
pkg has an issue with Windows builds on MacOS X, so the extwee-win.exe
build is now made on Windows exclusively.