Skip to content

Extensibility #43

@chadhietala

Description

@chadhietala

If we are trying to have a SSOT for how to build packages, this is going to need to have extension points. We recently refactored Ember's build pipeline to move away from emberjs-build due to the abstractness and lack of extensibility. This project should provide a base class that provides something like the following:

class GlimmerBuild {
  constructor(options) {
     this.targets = options.targets;
     this.babel = options.babel.options;
  }

  typeScriptTree(tree: TypeScriptTree) {
     // perform any preprocess on typescript tree
  }

  esNextTree(tree: ESNextTree) {
   // post typescript tree / perform any pre-babel processing
  }

  esTree(tree: ESTree) {
   // post babel tree, perform any post-processing
  }

  package(tree: FinalLooseTree) {
   // do any packaging here
  }
}

class GlimmerApplicationBuild extends GlimmerBuild {}

return new GlimmerApplicationBuild().package()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions