Skip to content

Releases: samualtnorman/hackmud-script-manager

Hackmud Script Manager 0.21.1

30 Dec 17:36
Compare
Choose a tag to compare

To update to the latest release:

  • If you have HSM installed globally, run npm install -g hackmud-script-manager@latest
  • Run pnpm add hackmud-script-manager@latest in your Hackmud Scripting Environment

Fixed

  • Exit code not being set when warnings are printed to stderr
  • _id type not being set in mongo queries
  • ObjectId not being a valid mongo id (thank you @danswann!) #223
  • false incorrectly being allowed as mongo ids (thank you @danswann!) #223
  • Type error coming from hackmud-script-manager/env
  • --root-folder-path not applying in specific case
  • Trying to treat folders with invalid user names (e.g. .git) as if they were for pushing scripts from (thank you @danswann) #225

Setup: https://github.com/samualtnorman/hackmud-script-manager#install
Full Changelog: v0.21.0...v0.21.1

Hackmud Script Manager 0.21

26 Nov 00:04
583d190
Compare
Choose a tag to compare

To update to the latest release:

  • If you have HSM installed globally, run npm install -g hackmud-script-manager@latest
  • Run pnpm add hackmud-script-manager@latest in your Hackmud Scripting Environment

Added

  • Missing lowsec scripts
  • Global Scriptor type
  • DEEP_FREEZE(), _RUN_ID, and $db.ObjectId() to typings
  • --hackmud-path option and HSM_HACKMUD_PATH environment variable to override where HSM assumes the hackmud directory to be
  • Polyfill Object.hasOwn()
  • Root aliasing in import statements controlled by --root-folder-path
    • e.g. import {} from "/lib/isScriptor" in any file will point at src/lib/isScriptor.ts with --root-folder-path=./src/

Improved

  • $db now has better types
  • Context now has slightly more ergonomic typing
  • $G is no longer typed as any
  • Detect and print help for when using options wrong
  • #G and $G no longer have a foot-gun caused by hackmud weirdness

Fixed

  • Breaks when when script contains identifier with same name as script
  • Subscripts now use the seclevel they were declared with
  • Generated player.d.ts using wrong slashes on microsoft operating system
  • Watching a non-existent folder causing weird behaviour
  • Not being able to import .json files
  • Function.prototype when transformed evaluating to undefined

Changed

These features will still work in this release but are likely to be deprecated in the next release:

  • hsm gen-dts is now known as hsm emit-dts
  • hsm golf is now known as hsm minify
  • --type-declaration-path is now known as --dts-path
  • hsm dev (and hsm watch) is now known as hsm push --watch
  • --force-quine-cheats=false is now known as --no-quine-cheats

Deprecated

These features will still work in this version but you will see warnings when you use them. The features will stop working in the next minor release, HSM 0.22.

  • Support for Node.js 21, update your version of Node.js
  • --skip-minify, switch to using its alias --no-minify
  • --type-declaration, --dts, and --gen-types. Switch to using their alias --dts-path
  • hsm generate-type-declaration, hsm gen-type-declaration, and hsm gen-types. Switch to using their alias hsm emit-dts
  • Global _SCRIPT_NAME, use _SCRIPT_SUBNAME instead
  • Subscripts in the form of $s.foo.bar() and #s.foo.bar(), use explicit seclevels instead

Removed

  • HSM's env.d.ts now uses an explicit declare global { … } block which means a lot of globals are no longer
    • Globals that were intended to be used in player scripts are still global but if there is a global you were using before that is no longer available, please make an issue or let me know on Discord
  • exports other than default turning into return and _EXPORTS global

Setup: https://github.com/samualtnorman/hackmud-script-manager#install
Full Changelog: v0.20.3...v0.21.0

New Contributors

Hackmud Script Manager 0.20.4

13 May 11:48
97101bc
Compare
Choose a tag to compare

To update to the latest release:

  • If you have HSM installed globally, run npm install -g hackmud-script-manager@latest
  • Run pnpm add hackmud-script-manager@latest in your Hackmud Scripting Environment

Fixed

  • hsm push --help and hsm dev --help Examples: descriptions looking janky
  • hsm sync-macros deleting all macros (Thank you @anihilprj!)
  • $fs.market.browse() expecting all properties in args (Thank you @Longboyy!)
  • Quine cheat string breaking when quine cheating subscript syntax in string
  • Throwing error when script has this in it
  • Incorrectly quine cheating main function's parameters
  • Give better error message when not ran user <user> in hackmud yet
  • Fix missing type parameter on $fs.scripts.lib().uniq()

Setup: https://github.com/samualtnorman/hackmud-script-manager#install
Full Changelog: v0.20.3...v0.20.4

Hackmud Script Manager 0.20.3

02 May 13:49
d6444f0
Compare
Choose a tag to compare

Hackmud Script Manager 0.20.2

29 Apr 11:06
d3fbb44
Compare
Choose a tag to compare

I only created this release so I could update the README.

See the previous release for something more interesting.

v0.20.1

27 Apr 09:53
b7b7724
Compare
Choose a tag to compare

Fix hsm dev not detecting changes to script files directly in source folder.

This is only a patch release, see the previous release for something more interesting to read.


Setup: https://github.com/samualtnorman/hackmud-script-manager?tab=readme-ov-file#install
Full Changelog: v0.20.0...v0.20.1

Hackmud Script Manager 0.20

27 Apr 09:26
9202bca
Compare
Choose a tag to compare

To update to the latest release, run pnpm add hackmud-script-manager@latest in the environment folder.

Added/Updated

  • --hackmud-path option and HSM_HACKMUD_PATH environment variable #150
  • Object in Object.call.bind is now minified to less chars when available #130
  • Rename --skip-minify to --no-minify
  • hsm --help
  • Convert console.log() and friends to #D() #135
  • Default hackmud path
  • Can now directly import hackmud-script-manager without /index.js
  • hackmud-script-manager/env.d.ts
  • _SCRIPT_NAME and _SCRIPT_USER no longer turn into "UNKNOWN" #151

Fix

  • JSON.stringify() and JSON.parse() in node_modules are now converted to JSON.ostringify() and JSON.oparse() #137
  • Empty object/array literal cause parent object/array literal not to be quine cheateable #146
  • hsm push (all-scripts invocation) does not follow symbolic links #155
  • Nested string arrays disappear when minified #153
  • No longer generate unnecessary around function expressions #147
  • not calling preprocessor function semantics
  • fix _FULL_SCRIPT_NAME turning into "undefined.foo"
  • Do not push javascript version of script if typescript version exists #152

Changed

  • samualtnorman/hackmud-environment#27
  • got rid of ~/.config/hsm.json
    • replaced with --hackmud-path option and HSM_HACKMUD_PATH environment variable
  • drop hsm config
  • default exports from modules
  • mandate scriptName option to processScript() and transform()
  • renamed Info["file"] and Info["minLength"] to path and characterCount
  • rename uniqueID to uniqueId

Setup: https://github.com/samualtnorman/hackmud-script-manager?tab=readme-ov-file#install
Associated Issue: #154
Full Changelog: v0.19.0...v0.20.0


Thank you @danswann for your contribution to env.d.ts!

Hackmud Script Manager 0.19

14 Jan 17:23
Compare
Choose a tag to compare

Improved

  • Command response time

Fixed

  • Bug that caused hsm dev to ignore scripts in folder #144

Changed

  • licence to MIT
  • Minimum required Node.js version to 20

Hackmud Script Manager 0.18

20 Jul 15:45
Compare
Choose a tag to compare

Improved

  • Overhauled command help and logging
  • Better command response time

Changed

  • Drop support for Node 12 (now 14 and above is needed)

Fix

  • No longer quine cheat true and false since it uses more characters than just !0 and !1

Hackmud Script Manager 0.17

13 Mar 21:05
Compare
Choose a tag to compare

Added

  • --force-quine-cheats command option

Changed

  • minify()'s autocomplete parameter is no longer a parameter and is instead an option