NPM Build Utilities @ 0.3.0-alpha.9
    Preparing search index...

    NPM Build Utilities Changelog

    All notable changes to this project will be documented in this file after/on each release.

    The format is based on Keep a Changelog, and this project adheres to Semantic Versioning, i.e.:

    Given a version number MAJOR.MINOR.PATCH, increment the:

    • MAJOR version when you make incompatible changes
    • MINOR version when you add backwards-compatible functionality
    • PATCH version when you make backwards-compatible bug fixes

    Some small fixes to improve default js testing.

    • Updated dependencies (including glob to new major version)
    • Added option to TestStage args to use a custom jest cli command
    • Added local prompt methods to Stage_Console for easier output styling (including log-base-level)
    • Removed prettier and typedoc-plugin-inline-sources from peerDependencies

    Quick fix to replacements in sass error handling of multi-line messages.

    Quick fix to criteria for printing debug var dump in errors.

    Slight sass error handling improvements.

    • errorStringify.dump() function
    • Added more output to sass error handling in debug mode

    Fixing erroneous __filename uses and TypeDoc external reference config.

    Very slight updates to progress output in sass compilers.

    Better sass logs & error handling!

    • Added custom sass logger functions in Stage_Compiler.sassAPI() via Stage_Compiler.sassLogger()
    • Added pathToSassLoggingRoot option to compiler Sass args to aid in correcting stack path output
    • Stage_Compiler now prompts before continuing if a sass warning is encountered during a packaging compile
    • Sass errors in build stages now only end process during packaging or release
    • Errors in Stage_Compiler.scssBulk are now caught & held until all files have compiled (then re-thrown)

    Whoopsie. Forgot dependencies.

    Better compile concurrency and way improves sass compiling!

    • Added noPropertyAccessFromIndexSignature and noUncheckedIndexedAccess to tsconfig
    • Added AbstractStage.isWatchedUpdate property
    • Added AbstractStage.sassOpts property
    • Added AbstractStage.runCustomScssDirSubStage sassOpts param
    • Added Stage_Compiler.sassBulk method to run sass compilation concurrently
      • Updated Stage_Compiler.sass for this to work
    • Added more input options to Compile.files substage
    • Added benchmarkCompileTime option to sass compiler
    • Added option to compile scss via the CLI
    • Added array input to AbstractStage.runCustomScssDirSubStage
    • Converted Compile.files substage to be more properly asynchronous
    • Updated API used to sass-embedded for better performance (esp. async)
    • Fixed a bug in AbstractStage.atry that wasn't letting the callback function be actually async
    • Improved AbstractStage.startEndNotice when triggered by a watcher
    • Changed postcss preservation defaults
    • Added overflow condition to details output in errorStringify (writes to log instead of console)
    • Improvements to structure and inline documentation for errorStringify

    Rebuild to double-check ReleaseStage.commit() fix and resolve a local git issue.

    • Updated dependencies
    • Added git fetch step to ReleaseStage.commit()
    • New static accessor FileSystem.prettierConfig for easily making prettier json config files
    • Custom Compile build stage to compile json files
    • Error catching to prettifying written config file
    • Added peer dependencies (optional) for jest, postcss, postcss-preset-env, prettier, sass, typedoc, typedoc-plugin-inline-sources, and typescript
    • FileSystem.prettier.ARGS_DEFAULT deprecated and replaced by static accessor FileSystem.prettierConfig
    • AbstractStage.runCustomScssDirSubStage() third param changed from a boolean to an args object
    • Updated dependencies

    Quick fix.

    • Added logLevelBase param to AbstractStage.runCustomDirCopySubStage() and AbstractStage.runCustomScssDirSubStage() methods

    Added PostCSS support (enabled by default) and better uncaught error handling.

    • SemVer.regex converted to static and public
    • PostCSS processing enabled by default in Stage_Compiler.scss, Stage.Args.Compile, and AbstractStage.runCustomScssDirSubStage()
    • Added verbatimModuleSyntax: true to base tsconfig
    • Uncaught error handling - with uncaughtErrorListener() methods in Project (static) and Stage (local) classes
    • PostCSS support in Stage.Compiler, AbstractStage, and CompileStage (enabled by default)
    • verbatimModuleSyntax: true to base tsconfig
    • Stage_Compiler.getTsConfig() method
    • Stage_Compiler.getTsConfigOutDir() method
    • Stage_Compiler.typescript() optional param: errorIfNotFound
    • Stage_Compiler.getTsConfigPaths() static method (this logic was previously in CompileStage.typescript())
    • Stage_Compiler.postCssConfig() static method
    • TestStage.tsConfigTidyPaths() method for default Stage.Args.Test.js.tidy
    • Bugs in AbstractStage.runCustomDirCopySubStage() and AbstractStage.runCustomScssDirSubStage():
      • Deletion was left in dry-run mode
      • Notice output level for fs.delete calls
    • Rare bug resulting in uncaught error while constructing a SemVer while running build as a sub-stage
    • Updated dependency versions

    Quick update to facilitate common custom sub-stage types and test typescript config file compatibility.

    • AbstractStage.runCustomDirCopySubStage() - experimental
    • AbstractStage.runCustomScssDirSubStage() - experimental
    • Improved exports schema in package.json for explicit types paths

    Quick fix for better ts compiling.

    • Option to Stage.Compiler args (ts.tidyGlobs) to delete unneeded ts files after compile (e.g., type-only files)
    • Added deprecated heading to template release notes file
    • Reverted jest peerDependencies version to match dependency
    • Release stage args now have a commit prop for filtering commit paths
    • Stage_Compiler.scss() now forces an instance of NodePackageImporter into the config
    • Bug in git commit in release stage if dist is in gitignore
    • Compiler methods are now bound to this in the constructor

    External testing complete, upgrading to release.

    • Release notes template updated
    • Version updating in demo package.json files improved
    • Updated versions of brace-expansion in dependencies to 4.0.0
    • Moved ProjectConfig class to 04-project folder; earlier references now use new Config.Class interface
    • Class interface to Config namespace — this types the class methods
    • Default interface to Config namespace — export shape used when writing new config files
    • isObjectEmpty() internal function
    • Fixed default config file output (wrong var, so config did not convert to json)
    • Now updating dependency versions in demos on releasing build
    • Improved additional new-config questions in CLI

    First release, everything is new!

    • AbstractStage
    • BuildStage
    • CompileStage
    • DocumentStage
    • PackageStage
    • ReleaseStage
    • SnapshotStage
    • TestStage
    • FileSystem (and namespace)
    • Project
    • ProjectConfig
    • AbstractError (and namespace)
    • ProjectError
    • SemVer (and namespace)
    • Stage_Compiler
    • Stage_Console
    • StageError
    • UnknownCaughtError
    • catchOrReturn
    • defaultConfig
    • parseParamsCLI (and namespace)
    • errorHandler
    • errorStringify
    • getConfig
    • getDefaultStageClass
    • getPackageJson
    • internalConfig
    • isConfigValid
    • logError (and namespace)
    • writeLog (and namespace)
    • Config (and namespace)
    • Stage (and namespace)
    • CLI namespace
    • FileSystemType (and namespace)
    • Logger (and namespace)