Skip to content

Latest commit

 

History

History
583 lines (472 loc) · 34.4 KB

history.md

File metadata and controls

583 lines (472 loc) · 34.4 KB
layout title
home
Nodeclipse -- Version History

{% include navigation-links.html %}

Version History & Roadmap

Future

New major functionality is going to come from Eclipse, within standard Eclipse packages. Node.js goes mainstream.

That again shows rule that in the end tools are taken care by technology creators. As when competing with other stacks, such part as tooling does matter. (Compare with STS for Spring, and Red Hat JBoss tools for Hibernate etc.)

Eclipse Neon already has major Nodeclipse features and part:

  • JavaScript Editor with full EcmaScript 2015 (ES6) support. (Internally uses esprima, but not ternjs parser).
  • Chromium Debugger (moved to org.eclipse.wst.jsdt.chromium namespace) for Node.js debugging.
  • JSON editor for package.json, bower.json, .bowerrc, and .jshintrc. (Thanks for Angelo Zerr contribution)
  • npm, bower, Grunt & gulp support (again later 2 are of Angelo Zerr work)
  • markdown editing using WikiText Editor ( with some new bugs: e.g. got no letter appearing after pressing in WikiText Editor when editing markdown)

Not yet: Node perspective, wizards.

New: managing Node runtimes.

And of course would be awesome to see some thanks or just reference to Nodeclipse effort.

Links

Version 1.1 (not released)

  • preference to add JSDT nature
  • disable JSDT nature by default over ES5 #70, Bug 442049 #159, ES6 #194
  • hot key for wizards (press letter after Alt+Shift+N)

TODO

  • by default enable JSDoc type checking

See tern-lint/wiki/Validation-JSDoc

Version 1.0.2 fix 2015-09-25 (released)

Version 1.0 2015-09-24 (released)

  • add Tern Explorer (alt Outline) view to the Node perspective atj#289

  • enable Tern Outline, ES6 by default in new Node.js project

  • pass environment variables to launched npm similar to Node debugging #177

  • #171 simple Bower support: Editor bower.json and .bowerrc, don't validate or check for TODOs inside bower_components folder. Hint: add "postinstall" script into package.json :

    "scripts": { ... , "postinstall": "bower install" },

  • #172 add template hello-angularjs in new Node.js project wizard

  • add Tern-Toolings wizards to Node perspective atj#204

  • #3 associate ._js files with Editors

Version .17.plus 2014-10-13

Version 0.17 Express 4.x and TernIDE support 2014-09-26

  • #154 hide "Node with Monitor" launcher - While more generic approach was tried (any monitor), this functionality was not finished, neither there were reposts on success or people willing to continue. However this feature was causing a lot of questions. Recommendation is to use TCF terminals to launch preferred monitor.
  • fix #158 Nodeclipse PreferenceInitializer was throwing Exception when could not find Node executable. That happened on Ubuntu where Node.js was installed with package manager. Note that you are advised get node name instead of nodejs as answered on Stackoverflow.
  • icons in Preferences pages
  • #160 #165 By default add Tern Nature, so that Tern completions will be enabled when Tern.java is installed. You will see doc when mouse over and completions options from node module of tern.
  • Tool Discovery at Developer Liberation Front is researching why developers are using and not using tools.
  • made with love, excellent Eclipse Zip (and Jar, Aar) Editor by Uwe Voigt mp. Listed in Help -> Nodeclipse Plugins List
  • #161 Express 4.x support (as discussed by @dwwaddell and @nodeleaf, also asked on SO):
    • associate Editor for www file (See SO)
    • stop raising exception when file is without Exception, but assume .js by default. So now you can launch www in Run and Debug mode. By the way, you can do without that but copying ./bin/www file into ./start.js in the project root (then you don't need to look into bin folder):
console.log('starting Express server');
var debug = require('debug')('ProjectName');
var app = require('./app');

app.set('port', process.env.PORT || 3000);

var server = app.listen(app.get('port'), function() {
  debug('Express server listening on port ' + server.address().port);
});

Version 0.16 "ECT" 2014-06-09

Thanks to Pei-Tang Huang

All 4 are Listed in Help -> Nodeclipse Plugins List

Version 0.15.1 "Gradley" 2014-04-30

Thanks to @gurok, Chris and Teoh Han Hui

  • #39 #49 color preferences for Gradle Editor, Chromium Debugger JS Editor and Minimalist Jade Editor
  • #137 Gradle, Maven - specify what JAVA_HOME to use. Hint: For gradle you also can use org.gradle.java.home property. See Chapter 20 The Build Environment.
  • #138 Gradle Deamon --deamon option enabled by default
  • #143 project config updated to enable JSDoc, TODOs processing (excluding node_modules). Note that for JavaScript validation JSHint-Eclipse is used, that is capable of EcmaScript 5 validation (configured in every project .jshintrc file "es5" : true)
  • #145 Gradle - option to use launch with wrapper
  • discovered Emmet (ex-Zen Coding) Eclipse plugin

Version 0.12 "Android friendly color" 2014-03-31

Thanks and hello to Ryan Knell for logo, John McCarthy, @Vexatos and Piotr Metel

  • close #7 Improving Code Assist - it was generic issue opened a year ago, no more new options came in the last 10 months

    • close #16 Improving Code Assist with JSDT and NJSDoc
    • close #27 Improving Code Assist with SublimeText-Nodejs
    • close #52 Improving Code Assist with VJET ANVIL (typelibs) - Eclipse VJET has not graduated from Eclipse incubator during 10 months.
    • close #54 Improving Code Assist with Marijnh Haverbeke's Tern project, now it is tern.java project
    • close #117 Run Maven, Gradle or other batch-based script from Java (and then Eclipse) - actually done before in 0.11
  • #124 Preference option to "pass all environment variables of Eclipse to launched Node.js app" (for Node.js, Maven, Gradle). e.g. try

    task envvar << { System.getenv().each { key, value -> println "${key}/${value}" } }

or

console.log(process.env);
  • fix #125 Gradle GUI for Android - "Could not create plugin of type 'AppPlugin'; update Nodeclipse/Enide build.gradle template to 0.9.+
  • fix #127 "null" value for TMP (Thanks to @pchuong Patrick for raising issue)
  • #129 (experimental) Gradle Android - EnvVar to pass signingConfigs params
  • #130 Gradle Android - install to AVD
  • #131 Include Json Tools by Denis Mirochnik; disable JShint validation for .json files
  • add New TypeScript File wizard; add TypEcs TypeScript IDE for Eclipse by Axmor
  • #132 Include Ansi Console by Mihai Nita and Grep Console by Marian Schedenig. Try console.log("Hello \u001b[1;31mred\u001b[0m world!"); and check colors node package.
  • add updated Nodeclipse EditBox (created in 2009-2011 by Piotr Metel) - highlight code blocks using background colors themes.
  • #134 Minimalist Jade Editor idea is to define HTML tags and JavaScript keywords as words for highlight in Word.java and then use it together with EditBox
  • experimental content assist from Orion IndexFiles for amqp, express, mongodb, mysql, postgres and redis node packages.
  • make 3 type of content assist optional and enabled by default (change require restart as checking preferences each time assist is called would add delay)
  • add Nodeclipse CoffeeScript Editor 0.4.0 to Nodeclipse update site, be aware of #19 ("XtextReconcilerJob" has encountered a problem in 4.3.1 onwards)

Known issues: repository includes Eclipse plugin for LESS that can't be installed.

Version 0.11 "Do It Yourself" 2014-02-25

Thanks to @nodeleaf Patrick Perroud for being the most active user and to @ihgreenman Ian Greenhoe for research on #81.

  • DIY: Make Eclipse yourself with Nodeclispe CLI Installer nodeclipse new from luna to d:/progs/eclipse-diy-luna/. Depending of your Internet connection speed, it may be long time, e.g. Operation completed in 942398 ms.
  • DIY: Code completions for other Node.js modules: Since Nodeclipse 0.9.0 there is code completion for base Node.js modules. What about others? Just create JSON file like:

{
    "module_completions": [
        {
            "trigger": "MongoClient.connect(connectionString, function(err, db)",
            "name": "MongoClient.connect",
            "type": "method", // maybe also "event", "class" or "property"
            "desc": "MongoClient or how to connect in a new and better way http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html

The URL connection format

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
" } ] }

Select it in Nodeclipse Preferences in "Alternative completion.json" path to give a try. (Only trigger is required for an entry) Got result that 'd like to share? Raise an issue and paste. Next version will have it shipped.

  • DIY: How can you speed up Eclipse?

  • DIY: External Tools

  • ref #23 DIY: Is there an Eclipse plugin to run system shell in the Console?

    • Windows
    • Linux, MacOS
  • ref #34 DIY: JavaScript unit test tools for TDD From that list Js-test-driver is the one that has Eclipse plugin. There are also JUnit wrappers for JavaScript, not yet tried.

  • fix for #81 "Node.js app with cluster does not execute inside Nodeclipse" (and #92 "code with exec fails when running inside Eclipse on Windows" as it had the same remedy). Both were not technically bugs: node failed to execute because of missing environment variables, as @ihgreenman Ian Greenhoe has found out what "Unknown system errno 203" was. Now minimal set of env variables are passed automatically. #122 is raised about Env variables Tab in Launch configuration.

  • #120 Maven (Eclipse plugin) is updated to build Nodeclipse-1. Now you can launch project maven build without launching ugly Windows console. Instead of switching windows use Eclipse Workbench to show/hide View and build again.

Version 0.10.0 "ten" 2014-01-27

  • code completion for base Node.js modules in JSDT-based Editor (read in 0.9.0 for TextEditor-based Editor ). For any issues check #119 first.

  • update Launch icons (using great Icons Editor by Jabier Martinez)

  • fix filter for npm launch (Personally prefer Ctrl+Alt+D to launch shell.)

  • bundle with additional 5 plugins:

Moonrise Ubuntu Moonrise Ubuntu Moonrise Windows
  • #100 Enide repository will contain ALL needed plugins.
  • Enide Maven (#117) lets you launch maven build by right-clicking on pom.xml.
  • Nodeclipse CLI (#91) 0.10 now includes Maven and Gradle templates
  • Node.js run/debug function tested in Juno (ADT-BUndle), Kepler, Luna 4.4.M4 with JDK 7 on Windows 7. Raise an issue if you have or had issue on other version.

Version 0.9.0 "completions 1/2", 2014-01-03

  • #97 set NODE_JUST_NODE on Windows only; so that new users on other OSes, check preferences first.

  • in Node.js project Wizard select what template to use. (The same list as for Nodeclipse CLI npm i -g nodeclipse )

  • new hello-html, hello-coffee, hello-typescript templates

  • workspace-wide NODE_OPTIONS (set in Preferences). This lets you run node(1) with the --harmony flag that is needed to enable generators support (since node 0.11.9). And yes, you still can set Node arguments in Node.js Application Run/Debug LaunchConfiguration per every file you launch.

  • workspace-wide NODE_APPLICATION_ARGUMENTS (set in Preferences). Similarly, arguments from Preferences and from arguments from LaunchConfiguration are all applied.

  • ref #95 (when Node.js sources directory is selected in Preferences) automatically link to Node.js sources lib directory. It is actually quick & lazy implementation just by adding LinkedFolder into .project like

      <linkedResources>
          <link>
              <name>node_lib</name>
              <type>2</type>
              <location>D:/Nodejs/sources/node-v0.10.22/lib</location>
          </link>
      </linkedResources>
    

(.settings/com.eclipsesource.jshint.ui.prefs file was updated to exclude node_lib from JSHint processing). Note that linked JavaScript is not read-only, so if you references git clone of Node.js sources, you are ready to develop Node.js runtime)

  • as work in progress (for Nodeclipse Node.js Editor associated by default with *.njs files) code completion for base Node.js modules shows APIs (sources).

  • and completion proposals. Point in Preferences to local completion.json to define your own, or to empty file like snippet below to disable it:

    { "completions": [ { "trigger": "ArrayBuffer();" }, { "trigger": "Int8Array();" } ] }

  • there sprint goal was to make Node specific content assist in Node JSDT-based Editor, however I [Paul Verest] ran into problem that can't be solved quickly: Content assist with javaCompletionProposalComputer for Eclipse JSDT gives no proposal

Version 0.8 "wizards", 2013-12-02

Known issues: markdown.editor.feature is missing inside 0.8.0 update repository. Check for Markdown Editor inside Nodeclipse Plugins List or use update site

http://dl.bintray.com/enide/Markdown/1.0.0/

Version 0.7 "run it!", 2013-11-01

Version 0.6, 2013-10-06

  • Option to launch Node debug without -brk (disable interruption of Node.js app on the first line). Check Help (F1) Debug page on -debug-brk option.
  • #61 set debugging port in Preferences. Now you can debug several Node.js apps in the same time (but in different Eclipse instances).
  • Extended Help with examples and links. Ready for contribution: just edit online with GitHub.
  • Chromium JS Editor now has Outline support as Node Editor

Version 0.5, 2013-09-08

  • #17 bundle Express and CoffeeScript into jar files. This lets you install them even if you don't have admin permission on computer that you use, or if you want play quickly with Node.js and don't remember how to do npm install express -g. Note this bundle is of current Express/CoffeeScript versions, and doesn't check for your Node.js version compatibility (the latest version is assumed).
  • #66 built-in (Help -> Help Contents) and online help. It is open-sourced and written in Markdown. Welcome to contribute: just edit Markdown files online, then send pull request.
  • #40 maven build. Building Nodeclipse is now the easiest mvn package from command line. Check README

Version 0.4, 2013-05-19

Version ver 0.3, 2013-04

Version ver 0.2

by Tomoyuki Inagaki

Version ver 0.1

  • Node perspective
  • Run as Node application
  • Console integration
  • npm operations
  • ...