Skip to content
This repository was archived by the owner on Jan 20, 2019. It is now read-only.
This repository was archived by the owner on Jan 20, 2019. It is now read-only.

build target + type #26

@stefanpenner

Description

@stefanpenner

some thoughts, leaving them here for future travelers


There is a constant request to expand the number of environment one can use. Although this is perfectly reasonable and internals should (and will support this). I have noticed another similar trend, build targets

  • cordova
  • nw.js
  • electron
  • full page web
  • embedded web etc)
  • etc.
  • some custom mode

Ideally, I would like to not see dev_cordova prod_cordova test_corvoda, dev_electron,prod_electron etc.etc. As this quickly becomes entirely unmanageable and the cost of adding a new target becomes quite large. It also becomes tricky when dealing with addons, that maybe only need to do something in testing of Cordova.

One thought I had, was to split the concept into target and type.

  • target: destined platform/mode : defaults to web
  • type: more similar to todays environment – in-fact it may make sense just to call it environment. : defaults to dev
ember build --target electron --type test
ember server --target electron --type test
ember test --target electron
ember test --target electron --server

This could allow us to provide stable public CLI interface, addon hooks, and should help become a good foundation for future innovation.


stuff to explore

  • how does one define a target
  • how are commands made aware of the target goals
  • how do addons work with this.
  • how do we merge "goals" of env + target at runtime.

cc people who have been doing related work (based on emberaddons.com search): @mike-north @poteto @rwjblue @jakecraige @juanazam @theodorton @brzpegasus @rmachielse

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