This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.
- Code Assistance - based on static analysis, js type inferencing, js type libraries, and user defined types
- Code Search - provide the best support for call hierarchy, find declarations, type hierarchy, type searching
- Syntax (mandatory) and Semantic Checking (optional) - through a type meta model we validate the well known types/ methods / api usage - to help with upgrading
- Type Declarations using VJETDoc - Provide a simplified syntax for defining JS object literals, functions, and JS library class properties, methods in a comment
- Execution/Debugging - provide a way to run and debug directly in Eclipse, integration between JDT debugger and VJET debugger is also available.
VJET is primarily an Eclipse plug-in and it is our long term goal to work with the well established and well known foundation for managed open source projects for eclipse plug-ins to help grow the community.
To help VJET project benefit from the large eclipse end-user and plugin developer community. We want to enable more developers to use VJET capabilities as well as help them extend those capabilities for libraries.
The initial contribution will be from eBay software foundation.
The initial contribution will contain the following components:
- VJET core modules which do not depend on eclipse packages which act as back-end for VJET capabilities.
- Browser Dom syncing.
- JSDT forked AST parser minus Eclipse resource dependencies or JSDT inference engine.
- Vjo Generator - a generator for generating VJET vjo from a Jst model
- Java to Js generator translates Java from Eclipse JDT parser and translates the Java to JstType which is then generated into JS using Vjo Generator.
- VJET eclipse - The VJET IDE for eclipse provides the front end of VJET.
- DLTK extension points
- VJET selection engine
- VJET editor
- VJET builder to validate and sync the type-space.
- JST to DLTK light weight model translator.
- VJET debug Rhino server
- VJET debug integration with JDT debugger.
- VJET type space viewer for Eclipse
- VJET Script unit viewer for viewing the JstType and additional data in Script Unit
- VJET AST View which shows the original AST and recovered AST models.
- VJET help - Eclipse help, cheat-sheets.
- VJET WTP HTML editor integration.
- vjo.ctype - class
- vjo.otype - object literal type
- vjo.mtype - mixin type
- vjo.itype - interface type
- vjo.etype - enum type
- vjo.ftype - function type
- Dojo 1.6
- EcmaScript Ed. 5 api updates
- HTML Canvas 2D API
- jQuery 1.4
- jQuery Mobile 1.0 Alpha 4.1 (Requires JQuery Type lib)
- Node.js 0.4
- Console API type library
- Ext JS Core
- Orion JS
- W3C performance timing api - based on the draft w3c spec https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
- VJET test libraries
- Ecma Script test suite
- W3c dom test suite
- Type Semantic testing
- Code assist testing
- Js to Java proxy tests
- Java to VJET vjo JS tests
- VJET dependencies
- test framework
- utilities required to run VJET JS IDE.
- a forked version of DLTK editor toolkit (EPL)
- For the DLTK project we added back JDT toolkit features to this project that were not part of DLTK original design goals such as typing concepts which are part of JDT project which DLTK pulled out.
- For the JSDT project this fork is a cherry pick. We pulled out the parser package and removed the inferencing components.
VJET has a goal of eliminating forks of eclipse.org project code and get things to a point where you could just extend the projects. In the long term, the project we modify we would like to work together to help them to be at the right level of extensibility so we can resolve our forks and inturn help the community.
The following individuals are proposed as initial committers to the project:
- Justin Early, eBay
- Justin is a committer on the VJET ebayopensource project where he has made significant contributions over many years. He will be contribute to all VJET JS IDE functionality in this new project.
- Dr. Ashvin Radiya, Avantsoft
- Ashvin and his team has provided significant contributions to the existing code base. They will contribute extensions to VJET functionality in this new project.
We welcome additional committers and contributions.
The following Architecture Council members will mentor this project:
- David Carver
- Chris Aniszczyk
The following individuals, organizations, companies and projects have expressed interest in this project:
- Luca Candela, Sencha
- Simon Kaegi, IBM
Changes to this Document
|31-May-2012||Updated initial contribution section, mentors section|
|11-June-2012||Updated sections interested parties, background, why eclipse, initial contribution|