check out my latest app: Doodle Draw
and my latest blog post
Helps developers maintain consistent coding styles between different editors
Home Page: https://atom.io/packages/editorconfig
License: MIT License
check out my latest app: Doodle Draw
and my latest blog post
After the upgrade to 0.2.1 i have a very weird problem with atom (0.144.0, windows): On startup, it starts hogging CPU and RAM. I have to kill it manually.
I had to remove the editorconfig dir to disable this plugin for now. Did anyone else have this problem?
What happens?
If there are multiple documents open, the contents of the current buffer (*i.e. the selected document) is replaced by the contents of some other open buffer. This has rendered Atom difficult to use in some cases.
When does this happen?
.editorconfig
)How can I reproduce?
ctrl-option-cmd-l
on OS X)Can you be sure this is an EditorConfig issue?
With certainty. The issue only disappears when I disable the editorconfig package, and the issue only started happening today when editorconfig v1.2.3 was released.
Thanks so much for all of your work on this project, @sindresorhus. I really enjoy the convenience provides by editorconfig, and I would really hate to disable it because of this pesky bug.
Thanks,
Caleb
Would be useful with a command that would create a new .editorconfig based on the users current settings.
I'm having problems with text files opening on network drives. I can open folders and see all files in the treeview, but as soon try to open a file in the editor, nothing happens (no error, no message, no contents). This does not happen to images (.png
& .gif
). I originally reported it here: atom/atom#2313 (comment), but after inspection (running --safe
-mode and enabling/disabling all packages) this seems only related to atom-editorconfig.
Windows 8.1
Atom 0.174.0
Editorconfig 0.3.0
Looking at editorconfig.org, the text reads:
tab_width: a whole number defining the number of columns used to represent a tab character. This defaults to the value of indent_size and doesn't usually need to be specified.
So, shouldn't the code use the indent_size
value when set, but no tab_width
value is set?
} else if (config.indent_style === 'tab') {
editor.setSoftTabs(false);
if (config.tab_width) {
editor.setTabLength(config.tab_width);
} else if (config.indent_size) {
editor.setTabLength(config.indent_size);
}
}
I have read the discussion in issue #9 that this would then enforce the indent_size
on everyone.
When I click in a link within the displayed info for a package in Preferences..., Xcode launches instead of my web browser!
v0.165.0
See also:https://discuss.atom.io/t/links-in-preferences-packages-go-to-xcode/14050
My .editorconfig file has:
#2 space indentation
[*.{yaml,yml,cson,md,ini,conf,xml}]
indent_style = space
indent_size = 2
Atom picks up the .conf preference to use Spaces: 2, but it doesn't pick up the .xml.
Hello
After installing editorconfig I noticed that when opening a CSS file with over 3500 lines it takes about 3-4 secs before the I can start edit the file and before language highlight highlights the file. During the 3-4 secs Atom completely freezes.
When there is no editorconfig in my project this issue do not occur even with editorconfig enabled.
Occurs in Atom 1.2.4 and Atom 1.3.0-beta6 with only editorconfig enabled.
Here is my editorconfig:
# top-most EditorConfig file
root = true
# All files configuration
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
trim_trailing_whitespace = true
# PHP Configuration
[*.php]
indent_style = space
indent_size = 4
# JS configuration
[*.js]
indent_style = space
indent_size = 2
# CSS configuration
[*.css]
indent_style = space
indent_size = 2
# SCSS configuration
[*.scss]
indent_style = space
indent_size = 2
I could swear I had this .editorconfig
files working fine with Atom a couple of versions ago:
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = tab
indent_size = 3
#2 space indentation
[*.{yaml, yml, cson}]
indent_style = space
indent_size = 2
But now PHP files open with Spaces:3 and YAML files with Tabs:2.
Is my configuration still right?
This leads to indentation-indicator incorrectly displaying the actual indentation until I switch to another tab and back.
The indentation-indicator author suggests atom-editorconfig is not using the Atom API properly:
All of my projects have the same indenting scheme per file. Including a .editorconfig in each with the same information seems a bit redundant. I'd prefer to put one config at ~/.atom/.editorconfig which defines the global settings for all projects. These settings could be overridden on a per-directory basis.
Does this sound possible?
Would be cool to do some interactive things when the .editorconfig file is open. Like letting the user click the various property values and be able to choose between the possible values in a dropdown/popover.
end_of_line: set to lf, cr, or crlf to control how line breaks are represented.
I couldn't figure out a way to change this. Suggestion/PR welcome.
The max_line_length
property would be nice.
Files need to be closed and reopened for changes to the .editorconfig
to be noticed.
The file should be watched and then refresh any currently open files to show the changes.
The new version (0.12) returns now a Promise instead of an object. We should maybe update this plugin to use the promise object?
https://github.com/editorconfig/editorconfig-core-js/blob/v0.12.2/editorconfig.js#L157-L164
My .editorconfig
file looks like this:
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# All files
[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = tab
indent_size = 3
#2 space indentation
[*.yaml, *.yml, *.cson]
indent_style = space
indent_size = 2
When a .yaml file opens, it opens as Tabs:3 (or at least the indentation-indicator package says so). if I switch to another tab and then switch back, it's Spaces:2, as it should be.
Is this atom-editorconfig doing that?
charset: set to latin1, utf-8, utf-8-bom, utf-16be or utf-16le to control the character set. Use of utf-8-bom is discouraged.
I couldn't figure out a way to change this. Suggestion/PR welcome.
There is not a mechanism to automatically set any settings at all a project file, it is necessary to open a file, save it and close it.
insert_final_newline: set to true ensure file ends with a newline when saving and false to ensure it doesn't.
See #3
Win7_64, installing v0.208.0 via zip, v0.209.0 via AtomSetup.exe, got same error both times.
Failed to load the editorconfig package
Cannot find module 'emissary'
Hide Stack Trace
Error: Cannot find module 'emissary'
at Module._resolveFilename (module.js:328:15)
at Function.Module._resolveFilename (C:\Users\t\AppData\Local\atom\app-0.209.0\resources\app.asar\src\module-cache.js:383:52)
at Function.Module._load (module.js:270:25)
at Module.require (module.js:357:17)
at require (module.js:376:17)
at Object. (C:\Users\t.atom\packages\editorconfig\index.js:2:18)
at Module._compile (module.js:452:26)
at Object.loadFile as .js
at Module.load (module.js:347:32)
at Function.Module._load (module.js:302:12)
Figured since this is the only package in the new installs I have issues with, I'd post here. Let me know if I should punt to atom/atom.
This plugin now has a command to generate an .editorconfig
file based on the current settings.
Here's some things that could be improved with:
[package.json]
indent_style = space
indent_size = 2
With indent_style
only being needed if the existing style is tab indented.
indent_style
, indent_size
from .jshintrc
, .eslintrc
, .jscsrc
, etc.Anything else?
[Enter steps to reproduce below:]
cmd+shift+p
to open the command palette;EditorConfig: Generate Config
command.Atom Version: 1.0.7
System: Mac OS X 10.9.5
Thrown From: editorconfig package, v1.1.1
Uncaught Error: Notification must be created with string message: Error: ENOENT: no such file or directory, open 'atom:/.atom/keymap/.editorconfig'
At /Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification.js:25
Error: Notification must be created with string message: Error: ENOENT: no such file or directory, open 'atom:/.atom/keymap/.editorconfig'
at Notification.module.exports.Notification.validate (/Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification.js:25:15)
at new Notification (/Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification.js:20:12)
at NotificationManager.module.exports.NotificationManager.addError (/Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification-manager.js:41:35)
at /Users/z418047/.atom/packages/editorconfig/commands/generate.js:37:25
at fs.js:1133:21
at FSReqWrap.oncomplete (fs.js:77:15)
-8:43.9.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
-8:43.9.0 core:cancel (atom-text-editor.editor.mini.is-focused)
-8:43.6.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
-8:43.6.0 core:cancel (atom-text-editor.editor.mini.is-focused)
-8:26 core:close (atom-text-editor.editor.mini.is-focused)
-8:24.3.0 settings-view:open (atom-text-editor.editor.is-focused)
-8:13.1.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-8:11.5.0 editor:move-to-first-character-of-line (atom-text-editor.editor.mini.is-focused)
-8:10.9.0 core:move-left (atom-text-editor.editor.mini.is-focused)
-8:09.4.0 editor:move-to-first-character-of-line (atom-text-editor.editor.mini.is-focused)
-8:08.9.0 editor:move-to-beginning-of-word (atom-text-editor.editor.mini.is-focused)
-8:08.4.0 core:select-left (atom-text-editor.editor.mini.is-focused)
-2:22.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
2x -0:29.1.0 command-palette:toggle (atom-text-editor.editor.mini.is-focused)
-0:00.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-0:00.7.0 EditorConfig:generate-config (atom-text-editor.editor.mini)
{
"core": {
"themes": [
"atom-dark-ui",
"base16-tomorrow-dark-theme"
]
}
}
# User
editorconfig, v1.1.1
# Dev
No dev packages
From https://github.com/atom/emissary:
Achtung! This library is currently used in Atom and various Atom dependencies, but our long-term plan is to transition away from it in favor of the simpler event-kit library. Don't depend on supporting this library forever.
Please correct me if I'm misunderstanding how this is supposed to work ... But when I set indent_style
to tab
, then use spaces to indent, then save, the indention is not changing to a tab.
Here's my .editorconfig
file:
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.scss]
indent_style = tab
tab_width = 2
I'm doing this is .scss
files.
I am on Windows, using Atom version 0.136.0.
Am I missing something, or is this a bug?
Thanks Sindre!
Sorry to have been a bother.
When I go to install via settings section of Atom:
npm http GET https://registry.npmjs.org/editorconfig
npm http GET https://registry.npmjs.org/emissary
npm http 304 https://registry.npmjs.org/emissary
npm http 304 https://registry.npmjs.org/editorconfig
npm http GET https://registry.npmjs.org/mixto
npm http GET https://registry.npmjs.org/sigmund
npm http GET https://registry.npmjs.org/property-accessors
npm http GET https://registry.npmjs.org/underscore-plus
npm http GET https://registry.npmjs.org/lru-cache
npm http GET https://registry.npmjs.org/commander
npm http 304 https://registry.npmjs.org/sigmund
npm http 304 https://registry.npmjs.org/underscore-plus
npm http 304 https://registry.npmjs.org/mixto
npm http 304 https://registry.npmjs.org/commander
npm http 304 https://registry.npmjs.org/lru-cache
npm http 304 https://registry.npmjs.org/property-accessors
npm ERR! git clone https://github.com/Benvie/harmony-collections.git Cloning into bare repository '/Volumes/storage/Users/mhulse/.atom/.node-gyp/.atom/.apm/_git-remotes/https-github-com-Benvie-harmony-collections-git-df214100'...
npm ERR! git clone https://github.com/Benvie/harmony-collections.git fatal: unable to access 'https://github.com/Benvie/harmony-collections.git/': SSL certificate problem: Invalid certificate chain
npm ERR! Error: Command failed: Cloning into bare repository '/Volumes/storage/Users/mhulse/.atom/.node-gyp/.atom/.apm/_git-remotes/https-github-com-Benvie-harmony-collections-git-df214100'...
npm ERR! fatal: unable to access 'https://github.com/Benvie/harmony-collections.git/': SSL certificate problem: Invalid certificate chain
npm ERR!
npm ERR! at ChildProcess.exithandler (child_process.js:637:15)
npm ERR! at ChildProcess.EventEmitter.emit (events.js:98:17)
npm ERR! at maybeClose (child_process.js:743:16)
npm ERR! at Socket.<anonymous> (child_process.js:956:11)
npm ERR! at Socket.EventEmitter.emit (events.js:95:17)
npm ERR! at Pipe.close (net.js:465:12)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/npm/npm/issues>
npm ERR! System Darwin 13.3.0
npm ERR! command "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/atom-package-manager/bin/node" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/atom-package-manager/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/atom-package-manager/.apmrc" "--userconfig" "/Volumes/storage/Users/mhulse/.atom/.apmrc" "install" "/Volumes/storage/Users/mhulse/.atom/.node-gyp/.atom/.apm/editorconfig/0.2.0/package.tgz" "--target=0.11.13" "--arch=x64"
npm ERR! cwd /private/var/folders/wk/20bl4l_x4zzd_sg5j71r6t_40000gn/T/apm-install-dir-114716-1660-rhm26l
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! code 128
npm http GET https://registry.npmjs.org/keypress
npm http 304 https://registry.npmjs.org/keypress
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /private/var/folders/wk/20bl4l_x4zzd_sg5j71r6t_40000gn/T/apm-install-dir-114716-1660-rhm26l/npm-debug.log
npm ERR! not ok code 0
I just dealt with invalid cert a few weeks back. What a mess that was.
Is this the same problem? I checked my keychain and did not see any invalid/outdated certs.
If this is not the place to note the problem, then where should I go to try and get help to fix?
It seems rules are all applied to [*]
I'll try to work on that since I'm not sure you maintain (use?) this repo @sindresorhus ?
When I set the indent_style
to tab
and set the tab_width
to 4
, the tab size is correctly set (4 chars width), but the same number of tabs is also added. I don't know if this is an editorconfig issue or something is interfering with atom-beautify. I'm hoping someone can confirm this before taking further action.
Steps to reproduce:
Create file test.less
with content (see no indention):
element {
color: red;
}
Add following .editorconfig
:
[**.less]
indent_style = tab
tab_width = 4
Now right-click editor and choose "Beautify editor contents".
Result (see 4 tabs indention):
element {
color: red;
}
p.s. tab_size
isn't mentioned in the readme, but well used in index.js
.
When i open a project on a windows machine and then click on a file with editorconfig enabled the file is marked as edited in need of saving (aka blue dot) even though i have not edited the file.
Here's my .editorconfig.
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4
[*.js]
indent_style = space
indent_size = 4
[*.hbs]
insert_final_newline = false
indent_style = space
indent_size = 4
[*.css]
indent_style = space
indent_size = 4
[*.html]
indent_style = space
indent_size = 4
[*.{diff,md}]
trim_trailing_whitespace = false
and my atom config.
"*":
"exception-reporting":
userId: ""
welcome:
showOnStartup: false
core:
disabledPackages: [
"editorconfig"
]
editor:
invisibles: {}
scrollPastEnd: true
showIndentGuide: true
fontSize: 17
"linter-jshint": {}
"linter-less": {}
docblockr: {}
"spell-check": {}
jsformat: {}
"atom-beautify":
_analyticsUserId: ""
pigments: {}
linter: {}
".ini.source":
editor:
scrollPastEnd: true
showIndentGuide: true
After release of Atom editor v0.199.0 when I try to install atom-editorconfig via UI I get error:
Installing “editorconfig@undefined” failed. Package version: undefined not found
My .editorconfig
file is:
# top-most EditorConfig file
root = true
# Default
[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = tab
indent_size = 3
#2 space indentation
[*.{xml,yaml,yml,cson,md,ini,conf}]
indent_style = space
indent_size = 2
But PHP files are using Spaces:3 instead of Tabs:3:
Do I have something configured wrong?
Can you please have a look at atom/atom#2180, and see whether you think there's anything wrong with atom or if it's just this package that's causing the problem?
When using ViM mode in Atom and a file's trim_trailing_whitespace
setting is true
, a Cmd+S
will trim the trailing whitespace but :w
will not.
Being able to open the command palette and tell editorconfig to format the file would be nice, so users can see what it would look like, and just for a user to be able to format a file that isn't in a project or is in a project that doesn't have an editorconfig.
When trying to install, an error occurs from both the Atom package settings and from the command line (attached are screenshots). Please fix as I and my co-workers would love to use this package.
Also, is there a way to specify where the .editorconfig file is located other than the root? I would like to store it in another file and reference it in all of my projects so that I don't have to edit individual .editorconfig files any more in each project.
Hi,
if my editor.softTabs is set to false and i want to edit a yaml file (which uses spaces for indentation) and also have my editorconfig configured for yaml files it starts throwing tabs into it. I don't know it this is intended behaviour, but i don't think so.
Line 23 in 821dbc0
commenting out the last part of the line fixed the problem.
thanks :)
Would be interesting to see what's changed with each update of this package. I think if you add a CHANGELOG.md to the directory it'll be viewable from the Settings of this package from within Atom.
Currently the README.md says only latin1
, utf-8
, utf-16be
and utf-16le
are supported.
It seems that Atom does support other encodings: atom/atom#1806
(and looking at encoding-selector
package there's quite many from diffent ISO-8859-
variants to Windows 1252
https://github.com/atom/encoding-selector/blob/master/lib/main.coffee)
Just wondering why? Just not implemented or is the README just outdated?
Well, okay utf-8
is pretty much default these days, but sometimes you just have to work with legacy stuff that is something else.
I want to make use of a global editorconfig file that is shared between devs which is kept in a standard location (e.g. my home directory).
I tried replacing the .editorconfig file in atom-editorconfig with a symlink to the file in my home directory but it had no effect.
Is this possible at all?
Problem OS: Windows, Mac, and Linux
Description: Opening a file that is subject to editorconfig
files results in the editorconfig
rules being properly applied. Switching to another editor view (another file in the project, opening the Settings page) and returning to that file results in Atom's default settings being applied over editorconfig
's.
Example: Atom defaults to 4-wide auto tabs. Use editorconfig
to set certain files as 2-wide hard tabs. Open one of these files: tabs are displayed 2 spaces wide. Open another file, even one subject to the same rules. Switch back to the first editor window. Tabs are now displayed as 4 spaces wide.
Furthermore, if Atom defaults to either 'hard' or 'soft' tabs, this setting overrules indent_style
in the .editorconfig
file, even on freshly-opened files that have had indent_size
properly applied to hard tabs.
Summary: Needs more assertiveness.
Trying to open Atom 1.4.0-beta0 with this package results in a white screen with the dev-tools opened:
Reproduction Steps:
Additional information:
After upgrade to atom 1.1, I got all my files in editor somehow scrambled and realigned.
When analyzing the issue, I have figured out that this happens only when I enable the editorconfig
package (if the package is disabled, it doesn't happen).
Here is a screenshot of my file with editorconfig
disabled:
And again with editorconfig
package enabled:
My .editorconfig
file is:
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
indent_style = tab
indent_size = 4
charset = utf-8
#4 space indentation
[*.{py}]
indent_style = space
indent_size = 4
#2 space indentation
[*.{js,jsx}]
indent_size = 2
indent_style= space
# Indentation override for all JS under lib directory
#[lib/**.js]
#indent_style = space
#indent_size = 2
# Matches the exact files either package.json or .travis.yml
#[{package.json,.travis.yml}]
#indent_style = space
#indent_size = 2
Version 0.1.1
For whatever reason I cannot get this plugin working.
I've disabled the prepackaged Whitespace
, but there is no difference.
In the process of fiddling I found that setting tab size to '0' in Atom Settings crashes it. Will refer them here.
trim_trailing_whitespace: set to true to remove any whitespace characters preceding newline characters and false to ensure it doesn't.
The bundled whitespace plugin has an option for this called removeTrailingWhitespace
I can change it with: atom.config.set('whitespace.removeTrailingWhitespace', true);
, but that changes it globally and we definitely don't want that. From what I can figure out from the docs it isn't possible to override config on a per buffer basis like you can with Sublime.
I've configured two spaces indentation for CoffeeScript in my .editorconfig, but it's not being applied. Instead the CoffeeScript plugin's setting of 4 spaces is used. See my gist for an example. I'm using Editorconfig plugin 0.3.0 and Atom 0.181.0.
[Enter steps to reproduce below:]
cmd+shift+p
to open the command palette;EditorConfig: Generate Config
command.Atom Version: 1.0.7
System: Mac OS X 10.9.5
Thrown From: editorconfig package, v1.1.1
Uncaught Error: Notification must be created with string message: Error: ENOENT: no such file or directory, open 'atom:/.atom/keymap/.editorconfig'
At /Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification.js:25
Error: Notification must be created with string message: Error: ENOENT: no such file or directory, open 'atom:/.atom/keymap/.editorconfig'
at Notification.module.exports.Notification.validate (/Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification.js:25:15)
at new Notification (/Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification.js:20:12)
at NotificationManager.module.exports.NotificationManager.addError (/Users/z418047/Downloads/Atom.app/Contents/Resources/app.asar/src/notification-manager.js:41:35)
at /Users/z418047/.atom/packages/editorconfig/commands/generate.js:37:25
at fs.js:1133:21
at FSReqWrap.oncomplete (fs.js:77:15)
-8:43.9.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
-8:43.9.0 core:cancel (atom-text-editor.editor.mini.is-focused)
-8:43.6.0 editor:consolidate-selections (atom-text-editor.editor.mini.is-focused)
-8:43.6.0 core:cancel (atom-text-editor.editor.mini.is-focused)
-8:26 core:close (atom-text-editor.editor.mini.is-focused)
-8:24.3.0 settings-view:open (atom-text-editor.editor.is-focused)
-8:13.1.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-8:11.5.0 editor:move-to-first-character-of-line (atom-text-editor.editor.mini.is-focused)
-8:10.9.0 core:move-left (atom-text-editor.editor.mini.is-focused)
-8:09.4.0 editor:move-to-first-character-of-line (atom-text-editor.editor.mini.is-focused)
-8:08.9.0 editor:move-to-beginning-of-word (atom-text-editor.editor.mini.is-focused)
-8:08.4.0 core:select-left (atom-text-editor.editor.mini.is-focused)
-2:22.9.0 core:confirm (atom-text-editor.editor.mini.is-focused)
2x -0:29.1.0 command-palette:toggle (atom-text-editor.editor.mini.is-focused)
-0:00.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-0:00.7.0 EditorConfig:generate-config (atom-text-editor.editor.mini)
{
"core": {
"themes": [
"atom-dark-ui",
"base16-tomorrow-dark-theme"
]
}
}
# User
editorconfig, v1.1.1
# Dev
No dev packages
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.