UNPKG

malta

Version:

Lightning builder allows to compose on the fly and update packed and full coded huge files, edit its parts as files, splitted and glued as You need.

197 lines (196 loc) 11.9 kB
Changelog --------- - **v4.2.7** - **Security**: removed all eval calls from the core. jsonFromStr now uses a safe manual parser; microTpl runs inside an isolated vm context; replace_calc returns content without executing it. - **Robustness**: removed all internal process.exit calls. Build, plugin, and child-process errors are now propagated or logged without killing the Node process. - **Performance**: replaced the file watcher from polling (setInterval + fs.statSync) to event-driven fs.watch, with a lightweight periodic refresh for new files. - **Maintainability**: updated engines.node to >=18.0.0, aligned with actual devDependency requirements. Added hasOwnProperty checks to all for...in loops. - **Coverage**: raised code coverage - **4.1.49** - fix url-asylum track px - malta-upload added to the list - **4.1.45** just urlo track px - **4.1.44** - mocha => jest - coveralls => codecov - **4.1.42** update plugin list - **4.1.41** remove from npm package unuseful stuff - **4.1.39** remove a lot of unused files from npm package - **4.1.38** added the npmignore, better late than never - **4.1.37** just readme typo - **4.1.36** update dependencies - **4.1.34** coverage enhanced - **4.1.33** fix bug introduced in 1.4.32 refactor and show errors to user by default - **4.1.31** executor refactor; some enhancements - **4.1.30** pluginManager refactor; better coverage - **4.1.29** dependencies vulnerability updates - **4.1.28** should again log errors - **4.1.27** fixed observing mode in json sub-grouped files - **4.1.25** bit more coverage - **4.1.23** small fix in the tests and log functions - **4.1.22** errors in plugins are notified - **4.1.21** now is again clear when json config is not valid - **4.1.20** stop messages are back - **4.1.19** out_version recovered - **4.1.17** recover log messages - **4.1.12** small refactor - **4.1.11** better coverage - **4.1.9** better coverage - **4.1.7** better coverage - **4.1.6** dependencies update, lints - **4.1.3** audit driven dependencies update - **4.1.1** gh ignores empty folders, thus - **4.1.0** removed Mpromise - **4.0.8** major test refactoring started - **4.0.7** small refactoring - **4.0.6** `plugins/<pluginName>/index.js` added as possible path for plugin local search - **4.0.4** solved subdependency vulerability - **4.0.3** fixed some bugs in the nre placeholders - **4.0.0** new placeholders available - **3.9.17** allow plugins to pass an error message - **3.9.16** fix small issue message if a plugin is not found - **3.9.15** audit vulnerability fix - **3.9.14** in programmatic mode avoid exit messages on stop - **3.9.13** in programmatic mode starter is not needed - **3.9.11** `justCopy` option addded - **3.9.10** no messages at at if verbose is 0 in options, better err msg - **3.9.8** fix Ting build sound, remove unuseful exit message, small improvements - **3.9.5** test coverage improved, couple of debugging fixes - **3.9.3** test coverage improved - **3.9.1** dependency vulnerability patch - **3.9.0** added `PACKAGE` vars special placeholder, see the placeholder section of readme - **3.8.20** handle @ prepended paths in file imports - **3.8.19** npm audit vuln fix - **3.8.18** all console.log properly obey to verbose option value - **3.8.17** fixed EXE now working also with one command - **3.8.14** updated 3rd party vulnerability version - **3.8.13** some fixes for deprecated calls - **3.8.12** fixed plugins local path - **3.8.11** fixed `malta -clean` command - **3.8.9** - process has a proper name now - possible to write comments on the vars file - some known vulnerabilities fixed - R.I.P. bitHound, thx - **3.8.7** - now vars file is simply ignored whenever contains non valid json; a message will notify it - some vulnerabilities solved (thx npm audit) - **3.8.4** Dependencies update - **3.8.3** Small fix on EXE section console messages - **3.8.1** "commands" added, for the moment only 'clean' is available, will remove all .buildNum.json files (affects only the usage of the ___BUILDNUM___ placeholder). To use it run `malta -clean` - **3.8.0** # can be used in nested json to avoid watching what the nested file commit to build - **3.7.9** Malta header is always shown at start - **3.7.7** I had to remove a test (until I understand) to free travis - **3.7.6** some tests added for latest features added from 3.7 - **3.7.5** a lot of lints - **3.7.4** small fix when dealing with parameters passed - **3.7.3** mocha tests updated - **3.7.2** important fix for nested json EXE sections - **3.7.1** - nested json files now can wisely use more than one single level - EXE section can be used in any of the nested json - multi destinations available - **3.6.18** better messages on the console, and some cleanup - **3.6.16** removed some repeated code used both by bin and required versions - **3.6.15** simple Promise available statically as Malta.Promise (used by malta-translate plugin) - **3.6.14** bithound added - **3.6.12** fixed a bug in vars replacing - **3.6.11** augmenting test coverage - **3.6.10** coveralls added, just the beginning :) - **3.6.9** more tests - **3.6.8** - bwatch file added... needed by malta-browser-refresh plugin, was missing :( - basic test for observe folder, more test will come soon. - **3.6.5** Better handling for file comments on file placeholder, also added .jsx :) - **3.6.4** File placeholders accepts variables within the file (e.g. triangles sample). - **3.6.2** Fixed a bug when EXE contains wildcards. - **3.6.0** Added wired __LINE__ variable. - **3.5.8** small fix to allow single and multi line comments in build json file. - **3.5.7** - Sticky build notifications enabled also on linux thx to `notify-send` - Now is possible to use js comments in the build json, the content will be cleaned before usage. - **3.5.6** On MacOS sticky notifications added by default at each build; can be disabled with the `notifyBuild` option. - **3.5.5** A step forward in microtemplating, better exception handling. - **3.5.3** Fixed partially microtemplating, btw, at that early has to be used just for really simple templates and involving really simple files - **3.5.2** Sorry about that, microtemplating functionality has to wait - **3.5.1** Added microtemplating functionality - **3.4.2** Removed npm `promise` dependency! - **3.4.0** Set MIT license, ...finally! - **3.3.8** Fixed a bug about the ending callback (when used) - **3.3.5** Added the wired __FILE__ variable containing the template filename - **3.3.4** Yes I forgot to save the readme... so whaat? #missingThe-fOption - **3.3.3** Added a `then` function which accetps a function that will be executed after the last plugin will terminate his job; this applies only in `programmatic mode`. - **3.3.2** EXE precedence added. - **3.3.1** EXE option in multi-mode added for executing multiple commands. - **3.3.0** bugfix on no-Demon mode. - **3.2.9** the watching on foldersworks again, to disable the demon mode just prefix with # the template. - **3.2.8** the watching on folders has a problem with `demon:false` option, here is disabled till I find the time for a solution - **3.2.7** now is possible to disable the demon and run malta once - **3.2.6** fixed a small bug on buildNum files - **3.2.5** now is possible to use one level nested files in the build json - **3.2.1** now Malta will run only one single node process instead of spawning one for each build - **3.1.1** fixed local plugin loading path problem; removed number of process indication - **3.0.52** some fix on readme - **3.0.51** finally split in two files for script and console execution - **3.0.45** fixed a bug when requiring malta - **3.0.42** better console messaging - **3.0.37** whenever a file wildcard is used in multimode, te folder is watched to automatically start/kill malta on new/removed files - **3.0.33** fixed a bug on buildnum file writing - **3.0.27** better exception handling for plugins; now just one buildNum file - **3.0.21** some bug related to plugins execution fixed - **3.0.19** added wildcards only on `multi-mode` - **3.0.15** now relies on `promise` npm package - **3.0.13** Some bugfix about plugins execution - **3.0.4** Malta main file completely rewritten: - new plugin based architecture, now doing something more with some files is really easy - every previously additional file now is produced only if the user needs it - write Your own plugin is extremely easy - **2.4.1** removed some unuseful messages from console - **2.4.0** .svg files will automatically output even a .png - **2.3.8** added _comp_ placeholder for evaluate simple arithmentic expressions - **2.3.7** better handling for `less` compiler exceptions - **2.3.5** fixed some typos in the README file - **2.2.8** var placeholder replace with JSON.stringify output in case of object - **2.2.7** new options available for files that can be minified/packed - **2.2.6** fixed a small bug in the console ouput messages for the packed versions of js files - **2.2.5** in case of js files will be written even a packed version using the amazing Dean Edwards npm port - **2.2.4** added detection for placeholders loops into the variable json - **2.2.3** variables json can contain inner placeholders at any level - **2.2.2** fixed a bug related to vars substitution - **2.2.1** in file placeholders is possible to use absolute paths, will be based on to the execution path; vars.json file can contain deeper literals that can be references with . or / separator in the placeholder (see examples above) - **2.2.0** some refactors - **2.1.3** in vars.json nested vars can be used - **2.0.6** markdown to pdf support added, just use .pdf.md for the templates file - **2.0.5** markdown support added, every .md tpl will produce the glued .md and resulting .html file - **2.0.4** lack of --force drives to a new version just to remove a console.log !!! - **2.0.3** is possible to specify the complete path (relative to the execution folder) of the variable json. - **2.0.2** if using a json file for multi build, a ! as first key character will tell Malta to ignore this line - **2.0.1** fixed README links - **2.0.0** no more stop if the same file is included more times, still check for loops over 5000 files - **1.1.1** removed some ugly and unuseful messages from console - **1.1.0** updated console usage message - **1.0.21** fixed a bug naming minified css - **1.0.20** added support for .scss files, fixed a bug using less package - **1.0.19** fixed a bug that hanged the process when, being not caught, a parsing exception was thrown by uglify-js and/or uglifycss - **1.0.18** some refactors and corrections to console output - **1.0.17** automatically write even minified version for css files (even less originated) - **1.0.16** accepts a json to execute multiple builds with one call - **1.0.15** removed beginning os specific slash in inclusion comments - **1.0.14** some fixes and refactor - **1.0.13** \_\_BUILDNUMBER\_\_ predefined build number var (file based) - **1.0.12** fixed path sep for win#### - **1.0.11** fixed deadly circular inclusion check; update only modified files - **1.0.10** xml files indentation for inner files removed - **1.0.9** some minor fixes on messages - **1.0.8** hint paths changed - **1.0.7** added support for .less files - **1.0.5** real path is included only for .xml .js .css files - **1.0.3** real path included just before every inclusion - **1.0.1** not found $vname$ placeholders are untouched - **1.0** added \_\_FILESNUM\_\_, \_\_VERSION\_\_ to the placeholders builtin set - **0.0.11** fixed inclusion indentation - **0.0.10** involved files count fixed - **0.0.9** fixed build on vars.json change - **0.0.8** parse error thrown by uglify is catched and stops no more Malta