mason

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

Stars
915

Bot releases are visible (Hide)

mason - mason-v0.1.0-dev.11

Published by felangel over 2 years ago

  • fix: Yaml.encode handle escape characters
mason - mason_cli-v0.1.0-dev.14

Published by felangel over 2 years ago

  • feat: add mason unbundle command (@mrverdant13)
  • chore: upgrade to mason ^0.1.0-dev.10
mason - mason-v0.1.0-dev.10

Published by felangel over 2 years ago

  • BREAKING: feat: run fromUniversalBundle in Isolate (async)
  • feat: expose Yaml encoding utility
  • feat: add fromDartBundle to MasonBundle
mason - mason-v0.1.0-dev.9

Published by felangel over 2 years ago

  • feat: expose MasonBundledFile
mason - mason_cli-v0.1.0-dev.13

Published by felangel over 2 years ago

  • feat: improve stdout for mason bundle
  • fix: mason list git path parsing
mason - mason_cli-v0.1.0-dev.12

Published by felangel over 2 years ago

  • feat: support for environment in brick.yaml
    • mason init includes environment
    • mason new includes environment
  • feat: verify brick compatibility
    • mason get ensures bricks are compatible
    • mason add ensures bricks are compatible
    • mason make ensures bricks are compatible
mason - mason-v0.1.0-dev.8

Published by felangel over 2 years ago

  • feat: add environment to brick.yaml

    name: example
    description: An example brick
    version: 0.1.0+1
    
    environment:
      mason: ">=0.1.0-dev.1 <0.1.0"
    
  • feat: add isBrickCompatibleWithMason

mason - mason_cli-v0.1.0-dev.11

Published by felangel over 2 years ago

  • BREAKING: feat: mason add support for hosted bricks

    # add from registry
    mason add my_brick
    
  • feat: mason login command

  • feat: mason logout command

  • feat: mason publish command

  • feat: mason list includes brick source

  • fix: clear bricks.json prior to fetching via mason get

  • fix: verify/validate brick name matches name in mason.yaml during mason get

  • fix: simplify update prompt styling

  • refactor: populate bricks from bricks.json directly

  • refactor: remove dependency on package:archive

  • docs: update README to include new commands

  • chore: upgrade to mason ^0.1.0-dev.7

  • chore: upgrade to Dart 2.16

mason - mason-v0.1.0-dev.7

Published by felangel over 2 years ago

  • BREAKING: feat: add MasonGenerator.fromBrick
    • refactor: remove MasonGenerator.fromGitPath (use fromBrick instead)
    • refactor: remove MasonGenerator.fromBrickYaml (use fromBrick instead)
  • BREAKING: refactor: Brick named constructors
    • Brick.path, Brick.git, Brick.version
  • BREAKING: refactor: remove WriteBrickException
  • BREAKING: refactor: simplify bricks.json format
  • refactor: git cache directory location
  • feat: add fromUniversalBundle and toUniversalBundle on MasonBundle
  • feat: add BrickLocation
  • feat: add unpackBundle to convert universal bundle bytes to a MasonBundle
  • fix: yaml string encoding for semver
  • fix: BrickNotFoundException message when git path is empty
  • chore: upgrade to mason_logger ^0.1.0-dev.5
  • chore: upgrade to Dart 2.16
mason - mason_logger-v0.1.0-dev.5

Published by felangel over 2 years ago

  • feat: add hidden flag to prompt
  • chore: upgrade to Dart 2.16
mason - mason_api-v0.1.0-dev.3

Published by felangel over 2 years ago

  • chore: upgrade to Dart 2.16
mason - mason_api-v0.1.0-dev.2

Published by felangel over 2 years ago

  • feat: support for custom hostedUri
mason - mason_api-v0.1.0-dev.1

Published by felangel over 2 years ago

  • feat: export MasonApi
    • login, logout, currentUser, and publish support.
mason - mason_auth-v0.1.0-dev.1

Published by felangel over 2 years ago

  • feat: export MasonAuth
    • login, logout, and currentUser support.
mason - mason_cli-v0.1.0-dev.10

Published by felangel over 2 years ago

mason-set-exit-if-changed

  • BREAKING feat: upgrade to mason ^0.1.0-dev.6

    • add --set-exit-if-changed to make command
mason - mason-v0.1.0-dev.6

Published by felangel over 2 years ago

  • BREAKING feat: return list of GeneratedFile from generate
import 'dart:io';

import 'package:mason/mason.dart';

Future<void> main() async {
  final generator = await MasonGenerator.fromGitPath(
    const GitPath(
      'https://github.com/felangel/mason.git',
      path: 'bricks/greeting',
    ),
  );
  final files = await generator.generate(
    DirectoryGeneratorTarget(Directory.current),
    vars: <String, dynamic>{'name': 'Dash'},
  );
}
  • feat: expose packageVersion
mason - mason_cli-v0.1.0-dev.9

Published by felangel over 2 years ago

  • feat: apply bzip compression to universal bundle
  • chore: fix typo in CHANGELOG
mason - mason_cli-v0.1.0-dev.8

Published by felangel over 2 years ago

  • feat: add mason update command

Screen Shot 2022-01-27 at 9 39 52 PM

  • feat: remove auto-update prompt when newer version exists

Screen Shot 2022-01-27 at 9 19 35 PM

  • docs: minor updates to CLI description and README
mason - mason_cli-v0.1.0-dev.7

Published by felangel over 2 years ago

https://user-images.githubusercontent.com/8855632/150920336-35bf54a2-ba1f-46fc-a938-69472f6b5bd5.mp4

  • BREAKING feat: upgrade to mason ^0.1.0-dev.5

    • computed vars support via HookContext

      // pre_gen.dart
      import 'package:mason/mason.dart';
      
      // Every hook must contain a run method which accepts a `HookContext`
      // from package:mason/mason.dart.
      void run(HookContext context) {
        // Read / Write vars
        context.vars = {
          ...context.vars,
          'custom_var': 'foo',
        };
      
        // Use the logger
        context.logger.info('hello from pre_gen.dart');
      }
      
mason - mason-v0.1.0-dev.5

Published by felangel over 2 years ago

https://user-images.githubusercontent.com/8855632/150920336-35bf54a2-ba1f-46fc-a938-69472f6b5bd5.mp4

  • BREAKING feat: add computed vars support via HookContext
// pre_gen.dart

import 'package:mason/mason.dart';

// Every hook must contain a run method which accepts a `HookContext`
// from package:mason/mason.dart.
void run(HookContext context) {
  // Read/Write vars
  context.vars = {...context.vars, 'custom_var': 'foo'};
  
  // Use the logger
  context.logger.info('hello from pre_gen.dart');
}
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