-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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
Test Salsa #2218
Labels
Milestone
Comments
This was referenced Jan 27, 2016
This was referenced Jan 27, 2016
@alexandrudima sorry, but I already started at the top as well and I do not intend to continue testing much longer. |
@alexandrudima same here |
Closing, people are tired :) |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
General information about salsa can be found in microsoft/TypeScript#4789.
Information about what will be new in TS 1.8.
Differences between Salsa and the current JS language service
These are the differences as we currently understand them.
target
attribute insidejsconfig.json
file defines the target for down level compilation.javascript.validate.lint.*
(In TS 1.8 TS will support detecting unreachable code and implicit returns). Thejavascript.validate.lint.*
options are no longer supported. The recommendation is to install the eslint extension if you want to get linting.excludes
property in the jsconfig.json file (waiting for confirmation from the Salsa team).Enabling Salsa
CODE_TSJS
. On OS X it is recommended to change this in the.bash_profile
usingexport CODE_TSJS=1
, then the environment variable isn't "lost".typescript.tsdk
to point to the path of the lib folder of thetypescript
module installed withnpm install typescript@next
. Alternatively, you can also install a typescript@next version inside your test work space directly.Testing the Salsa enablement
CODE_TSJS
is set but the used Typescript version is nottypescript@next
the salsa status indicator shows an error state.Testing Code's JavaScript support powered by Salsa
See also microsoft/TypeScript#4793 for information related to the expected developer experience.
Test the Code features below in an exploratory style for the features described below.
editor.formatOnType:true
)Project setup support
Salsa supports a
jsconfig.json
configuration file. It also supportstsconfig.json
, to enable JavaScript for the project using atsconfig.json
you have to setallowJs: true
. This enables to open up existing TS projects for JS.jsconfig.json
(the module property is not defined in this case)jsconfig.json
(themodule
property defaults tocommonjs
).Intellisense support:
Salsa shows first the list of inferred proposals first and then all global identifiers found in the project.
Modules, cross file dependencies
Salsa support commonjs modules and dependencies expressed using /// references
/// <reference path="ref.js" />
Typings/.d.ts files
Salsa understands .d.ts files that installed inside the project and that are part of the project context.
tsd
worksClasses
Salsa supports ES3 and ES6 style classes
JSDoc support
Salsa supports JSDoc.
Settings
Salsa doesn't support the existing
javascript.validate.lint.*
settings.React/JSX
Salsa supports JSX. To get Intellisense for React install the typings for
react-global
usingtsd install react-global
.tsc
supports to translate.jsx
files to .js files by defining thejsx
property inside the jsconfig.json (:warning: currently tsc only honourstsconfig.json
files).ReactNative
1.8.0-dev.20160125
Salsa supports ReactNative, where the JSX constructs are used inside normal .js files.
Down level compilation
Salsa supports to down compile ES6 to ES5, ES3, etc. You can define the⚠️ currently only supported inside a
target
andoutDir
attribute inside the jsconfig.json.tsconfig.json
that includesallowJs:true
. As a workaround you can usetsc -p jsconfig.json
.The text was updated successfully, but these errors were encountered: