Confirmed users
429
edits
Ricky Chien (talk | contribs) |
Ricky Chien (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
= Goal = | = Goal = | ||
Build system has run on XULRunner since a long time ago, also requiring Make and shell script to shuffle, optimize or compress files around. However, all features are able to be done | Build system has run on XULRunner since a long time ago, also requiring Make and shell script to shuffle, optimize or compress files around. However, all features are able to be done by [http://nodejs.org/ Node.js] so that everyone can benefit from the good part of [http://nodejs.org/ Node.js]. Our plan is rewrite/refactoring existed XULRunner-style JavaScript into [http://nodejs.org/ Node.js]. | ||
= Profit from | = Profit from [http://nodejs.org/ Node.js] = | ||
* Web developers are familiar with JavaScript, also | * Web developers are familiar with JavaScript, also [http://nodejs.org/ Node.js] is the most popular and acceptable for those who are familiar with client side JavaScript. It could attract more contributors to involve and improve Firefox OS. | ||
* NPM is a well-known build-in package manager of node, such tool is commonly used for web developers for years. It will make your life easier that developers can install third-party libraries and prevent us to reinvent the wheel if there is no such library provided by XULRunner. | * NPM is a well-known build-in package manager of node, such tool is commonly used for web developers for years. It will make your life easier that developers can install third-party libraries and prevent us to reinvent the wheel if there is no such library provided by XULRunner. | ||
* It would be great if we build up a pure JS system. To re-implement Makefile and shell script is a hard work, NPM provides a bunch of packages that let us build our pure JS system more quickly, flexible and maintainable. | * It would be great if we build up a pure JS system. To re-implement Makefile and shell script is a hard work, NPM provides a bunch of packages that let us build our pure JS system more quickly, flexible and maintainable. | ||
| Line 11: | Line 11: | ||
= Plan = | = Plan = | ||
[http://nodejs.org/ Node.js] refactoring plan will split into 3 stages. | |||
== Stage 1 == | == Stage 1 == | ||
Focus on completing | Focus on completing [http://nodejs.org/ Node.js] core functionality (parallel build, webapp-manifests, preferences, webapp-optimize, webapp-zip... etc). All of them exist certain specific code only use for XPCShell. Unfinished [http://nodejs.org/ Node.js] build script (build/node-utils.js) is already located in Gaia for a while (See also: {{Bug|955988}}. We should keep working on it and keep both Node and XPCShell version in build system. After completing, we will switch Makefile target to invoke run-node-command to enable Node build script. | ||
== Stage 2 == | == Stage 2 == | ||
Survey appropriate NPM packages | Survey appropriate NPM packages and build up pure JS build system. | ||
== Stage 3 == | == Stage 3 == | ||