Giter Site home page Giter Site logo

typefox / n4js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from numberfour/n4js

0.0 3.0 0.0 105.58 MB

Type-Safety of Java & Javascript Flexibility

Home Page: http://numberfour.github.io/n4js/

HTML 1.66% TypeScript 0.48% JavaScript 1.17% Java 79.40% Xtend 6.60% GAP 10.68% Makefile 0.01% CoffeeScript 0.01% CSS 0.01% Shell 0.01%

n4js's Introduction

N4JS

The N4JS language and its IDE enables high-quality JavaScript development for large Node.js projects. N4JS enriches ECMAScript with a static type system and provides extensive support for static validation hosted within a feature-rich IDE.

N4JS is based on ECMAScript Version 5 and ECMAScript 2015 is supported to a great extent. It adds a sound static type system inspired by Java 8, extended by concepts such as structural typing or union types. The language provides built-in support for state-of-the-art programming paradigms such as dependency injection and robust test support. The Eclipse based IDE for typed JavaScript is custom-built for exactly these concepts. Code is validated as you type in addition to tools such as content-assist and quick-fixes to ensure your code is written safely and intuitively.

Releases

Contribute

Eclipse developers who want to develop N4JS itself should use the Oomph Eclipse installer. The N4JS project is listed under "Advanced/Github Projects/N4JS" This setup installs the correct Eclipse version, creates a new workspace and clones all projects into it (for details see below).

Eclipse Installer

The recommended way to install the Eclipse IDE and set up the workspace is to use the Eclipse Installer. This installer is to be downloaded from https://wiki.eclipse.org/Eclipse_Installer

Run the installer and apply the following steps:

  1. change to "Advance Mode" via the menu (upper-right corner) (no need to move the installer)
  2. select a product, e.g. "Eclipse IDE for Eclipse Committers" with product version "Latest(Neon)"
  3. double-click the entry Github/N4JS so that it is shown in the catalog view below
  4. on the next page, configure paths accordingly. You only have to configure the installation and workspace folder.
  5. start installation

The installer will then guide you through the rest of the installation. All plug-ins are downloaded and configured automatically, so is the workspace including downloading the git repository and setting up the workspace.

Manual IDE Configuration

For a manual install, clone the code and import all top-level projects from the docs, features, plugins, releng, testhelpers, and tests folders. Activate the targetplatform contained in the releng/eu.numberfour.n4js.targetplatform/ project.

The N4JS IDE is developed with Eclipse Neon 4.6 or better since the system is based on Eclipse anyway. It is almost impossible to use another IDE to develop Eclipse plugins. The list of required plugins includes:

  • Xtext/Xtend 2.10.0
  • Xcore 1.4.0
  • Xsemantics 1.10.0
  • Xpect 0.1

It is important to use the latest version of Xtext and the corresponding service release of Xcore. You will find the latest version numbers and plugins used in the target platform definition at https://github.com/NumberFour/n4js/blob/master/releng/eu.numberfour.n4js.targetplatform/eu.numberfour.n4js.targetplatform.target

Documentation

Participate

Build the N4JS IDE from command line

Ensure you have

  • Java 8
  • Maven 3.2.x and
  • Node.js 6

installed on your system.

Clone the repository

git clone https://github.com/NumberFour/n4js.git

Change to the n4js folder:

cd n4js

Run the Maven build:

mvn clean verify

You may have to increase the memory for maven via export MAVEN_OPTS="-Xmx2048m" (Unix) or set MAVEN_OPTS="-Xmx2048m" (Windows).

Publish maven-tooling eu.numberfour.n4js.releng.util

NOTE: For extending the N4JS-language in a different project, the eu.numberfour.n4js.releng.util module needs to be published as a maven-plugin. You can deploy this SNAPSHOT-artifact to a local folder by providing the local-snapshot-deploy-folder-property pointing to an absolute path in the local file system:

mvn clean deploy -Dlocal-snapshot-deploy-folder=/var/lib/my/folder/local-mvn-deploy-repository

The existence of local-snapshot-deploy-folder will trigger a profile enabling the deploy-goal for the project eu.numberfour.n4js.releng.util

License

Copyright (c) 2016 NumberFour AG.

All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html

n4js's People

Contributors

bsmith-n4 avatar dbo avatar kduske-n4 avatar merks avatar meysholdt avatar mmews-n4 avatar mor-n4 avatar sailingkieler avatar yoosiba avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.