-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cli: compile
command / auto-compile packages
#98
Comments
@lukehoban pointed out that it's probably nicer to just do the recompilation, rather than issuing a warning. I agree. We probably want a |
This change keeps the lumi prefix on our CLI tools. As @lukehoban pointed out in person, as soon as we do #98, most people (other than compiler authors themselves) won't actually be typing the commands. And, furthermore, the commands aren't all that bad. Eventually I assume we'll want something like `lumi-js`, or `lumi-js-compiler`, so that binaries are discovered dynamically in a way that is extensible for future languages. We can tackle this during #98.
This consolidates the multiple project files we have right now, embellishing further the Lumi.yaml/json project file as the place for all things project and package related. Although I suspect we will revist some of this during next sprint's package management work, this is a step in the right direction. As a result, we can rip out all the tsconfig.json files scattered throughout. The new structure adds two top-level sections to the Lumi.yaml/json file: language: compiler: lumixx settings: a: foo b: bar z: baz files: - index.xx - config.xx The idea here is that the manifest self-describes three things: 1) the compiler used to build the package, 2) the settings to pass to that compiler (an opaque bag to Lumi, since these are specific to the compiler), and 3) the source files that comprise the project. This helps to unify the different compilers. This accomplishes work item #49. It also enables #98, the `lumi compile` and automatic recompilation commands, which will come soon.
compile
command / auto-compile packages
We've already started down the path of "enlightening" pulumi based on the current project type (for example, not uploading dev dependencies). If we taught the tool to run "npm run-script build" iff there was a |
We have basically accomplished this thanks to the first class TypeScript support. |
This change keeps the lumi prefix on our CLI tools. As @lukehoban pointed out in person, as soon as we do pulumi/pulumi#98, most people (other than compiler authors themselves) won't actually be typing the commands. And, furthermore, the commands aren't all that bad. Eventually I assume we'll want something like `lumi-js`, or `lumi-js-compiler`, so that binaries are discovered dynamically in a way that is extensible for future languages. We can tackle this during #98.
If you do a Pulumi operation, but the package's write timestamp is older than any of the project's files, we should probably warn about this. It's all too easy to make a code change, think you're applying that change, but then realize you forgot to recompile the package. (I've done it.)
The text was updated successfully, but these errors were encountered: