mason

Tools which allow developers to create and consume reusable templates called bricks.

Stars
915

Bot releases are hidden (Show)

mason - mason_cli-v0.1.0-dev.6

Published by felangel almost 3 years ago

  • BREAKING feat: upgrade to mason ^0.1.0-dev.4
    • version is required in MasonBundle
    • brick.yaml variable enhancement support
  • feat: mason make <brick> --help variable enhancements
    • show variable types, descriptions, and default values
  • feat: enhance bricks generated by:
    • mason init
    • mason new
  • feat: mason ls returns bricks in alphabetical order
mason - mason-v0.1.0-dev.4

Published by felangel almost 3 years ago

  • BREAKING feat: restructure brick.yaml vars to support type, description, and default:
name: example
description: An example brick.

# The following defines the version and build number for your brick.
# A version number is three numbers separated by dots, like 1.2.34
# followed by an optional build number (separated by a +).
version: 0.1.0+1

# Variables specify dynamic values that your brick depends on.
# Zero or more variables can be specified for a given brick.
# Each variable has:
#  * a type (string, number, or boolean)
#  * an optional short description
#  * an optional default value
#  * an optional prompt phrase used when asking for the variable.
vars:
  name:
    type: string
    description: Your name
    default: Dash
    prompt: What is your name?
  • BREAKING feat: add version to bundle

  • BREAKING refactor: API improvements to MasonBundle, MasonGenerator, and DirectoryGeneratorTarget

    • MasonBundle
      • Use named constructor parameters instead of positional parameters
    • MasonGenerator.generate(...)
      • Accepts optional Logger and FileConflictResolution
    • DirectoryGeneratorTarget
      • No longer accepts optional Logger and FileConflictResolution (moved to generate API above)

    Before

    final generator = MasonGenerator.fromBundle(myBundle);
    final target = DirectoryGeneratorTarget(dir, Logger(), FileConflictResolution.skip);
    await generator.generate(target, vars: {...});
    

    After

    final generator = MasonGenerator.fromBundle(myBundle);
    final target = DirectoryGeneratorTarget(dir);
    await generator.generate(
      DirectoryGeneratorTarget(tempDir),
      vars: {...},
      logger: Logger(), // optional logger
      fileConflictResolution: FileConflictResolution.skip, // optional conflict resolution strategy
    );
    
  • fix: ignore FileConflictResolution when there are no conflicts

  • docs: README updates and upgrade example bricks

  • chore: upgrade to mason_logger: v0.1.0-dev.4

mason - mason_logger-v0.1.0-dev.4

Published by felangel almost 3 years ago

  • fix: progress string truncation
  • feat: add confirm
  • feat: add defaultValue to prompt
  • feat: improve progress time style
  • docs: update example and README
mason - mason_cli-v0.1.0-dev.5

Published by felangel almost 3 years ago

  • BREAKING feat: upgrade to mason ^0.1.0-dev.3
    • version is required in brick.yaml
  • feat: add version to newly created bricks
    • mason new and mason init
mason - mason-v0.1.0-dev.3

Published by felangel almost 3 years ago

  • BREAKING feat: add version to brick.yaml
  • fix: bundle file sort order
mason - mason_cli-v0.1.0-dev.4

Published by felangel almost 3 years ago

  • chore: upgrade to mason ^0.1.0-dev.2
mason - mason-v0.1.0-dev.2

Published by felangel almost 3 years ago

  • feat: export render APIs
    • RenderTemplate extension on String
mason - mason_cli-v0.1.0-dev.3

Published by felangel almost 3 years ago

  • feat: add mason list --global (#176)
  • chore(deps): upgrade to build_verify: ^3.0.0
mason - mason_cli-v0.1.0-dev.2

Published by felangel almost 3 years ago

  • feat: upgrade to mason ^0.1.0-dev.1
mason - mason_cli-v0.1.0-dev.1

Published by felangel almost 3 years ago

Dev Release

  • chore: initial package (🚧 under construction 🚧)
mason - mason_logger-v0.1.0-dev.3

Published by felangel almost 3 years ago

  • feat: add tag to warn call
mason - mason_logger-v0.1.0-dev.2

Published by felangel almost 3 years ago

  • test: 100% test coverage
  • docs: README updates to include usage
  • docs: include example
mason - mason_logger-v0.1.0-dev.1

Published by felangel almost 3 years ago

Dev Release

  • chore: initial package (🚧 under construction 🚧)
mason - mason-v0.1.0-dev.1

Published by felangel almost 3 years ago

  • feat: decompose mason into mason, mason_cli and mason_logger
    • package:mason - core generator
    • package:mason_cli - command line interface
    • package:mason_logger - reusable logger
  • fix: file resolution with custom path generates in the correct location
mason - v0.0.1-dev.57

Published by felangel almost 3 years ago

  • feat: add generator hooks support (custom script execution) (#149)

    • support for pre_gen and post_gen hooks
  • feat: add mason bundle output
    mason bundle

mason - v0.0.1-dev.56

Published by felangel almost 3 years ago

  • fix: mason new output format improvements
    • use logger.detail instead of logger.success color for consistency
mason - v0.0.1-dev.55

Published by felangel about 3 years ago

  • fix: partials file name resolution
mason - v0.0.1-dev.54

Published by felangel about 3 years ago

  • fix: nested lambdas within loops
mason - v0.0.1-dev.53

Published by felangel about 3 years ago

  • feat: improve automatic update prompt style
mason - v0.0.1-dev.52

Published by felangel about 3 years ago

  • feat: add automatic update support

Screen Shot 2021-10-13 at 12 36 43 AM

Package Rankings
Top 2.15% on Pub.dev
Top 9.59% on Proxy.golang.org
Badges
Extracted from project README
pub package pub package pub package pub package mason (Package of the Week) Observable Flutter: Building a Mason brick Meet Mason: Intro to Templating and Custom Code Generation Mason Video Tutorial Powered by Mason