-
Notifications
You must be signed in to change notification settings - Fork 0
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
Deployment workflows #1
Comments
a) I would prefer the source in the package - so you have an consistence state. We should put the courrent source tree of the framework into the compiler before packing him. |
I don't agree, IMHO the framework source code should be a npm package because the framework is not really tied to the compiler in that way. As the compiler is installed by npm, there shouldn't be any version issues and it keeps things clean and explicable. The compiler version numbers do not match with the framework version numbers either, so if we ship the source code of the framework with the compiler, we'll have to "know" that if you're using compiler v1.2.3 that this relates to framework version 6.2.1 Having the framework as an independent version allows users to easily choose a specific framework version (eg for team development), and be clear about exactly what version of the framework they are all using. It makes sense for this to be independent of compiler version, because a minor bugfix or feature improvement in the tooling should not force everyone in the team to upgrade their framework - not least because they might be concerned that there is a lot more room for problems to be introduced if the whole framework is upgraded. There are two variants of entire-framework-as-a-single-js-file that we would want to produce - one for browser development and one for nodejs development. The browser version should only be made available via a CDN - it's only used for browser apps which have no compiler and therefore no loader, and while there are some webpack-type tools which pull in JS from npm, there are plenty of those tools which do not use npm. All tools, including projects which do not use tools like jsfiddle, will support CDN versions so it's an easy fix. (Also, the browser version of entire-framework-as-a-single-js-file is not the same as the framework shipped as npm that I mentioned in the first paragraph) The nodejs version of entire-framework-as-a-single-js-file would obviously only have an npm version. |
I agree with John that it makes sense to keep compiler and framework separate as NPM packages, at least for the time being. We should revisit this question when we start v7. We've always talked about re-integrating the If we can agree to this, at least temporarily, would this be the list of deliverables?
|
I agree too.
|
👍 #4 not including the compiler |
Ok, we seem to have a consensus. I'll post it on the dev chat to give the others the opportunity to weigh in. |
|
The old https://www.npmjs.com/package/qooxdoo package should probably be a copy of |
in the past there where several changes to the framework which also required changes to the compiler ... effectively tying the two together ... when doing the theming work I was looking at adding additional features to the theme definition method and found that this is not easily possible without changing the compiler as the compiler knows which properties are legal in a theme definition ... how do we deal with this ? |
@oetiker I think this needs to be dealt with on the level of the application, which can enforce a minimal version of both compiler and framework. As I've said above, we should think about the pros and cons of one single codebase for compiler and framework, but I think the right time for this is after the release of v6. |
I think that this is a bit of a special case - the compiler tends to care little about many of the keys, but does try to expect certain keys just so that it can provide warnings or errors at compile time instead of leaving it until runtime; AFAICR the generator did a similar thing, although the generator was better at policing it than the compiler is. |
In |
NodeJS only, because Rhino does not have a delivery mechanism or even |
Which CDN server we should use? |
I don't know. What do the cool kids use these days? cdnpkg looks ok to me... |
Here's how I understood our recent discussions:
In the deployment repo, we do the testing with the setup that John has already prepared (testing compiler with framework and framework with compiler, testing compiler and framework on a set of applications).
When building and testing are successful, we then release:
a) the compiler package, containing the compiled compiler, with a dependency on the framework package. However, the dependency is only on the framework source code. Because compiling takes place outside of the repo itself, we no longer have a circular dependency on the "qx_server" package. The source code could theoretically be downloaded on-the-fly from GitHub, or shipped with the compiler package (which would blow up its size). The dependency on the framework package mainly serves to keep the package size smaller.
b) the framework package, containing the uncompiled framework source code with a compiled version of qx_server. This package has no dependencies.
open questions:
Is this the way to go?
The text was updated successfully, but these errors were encountered: