Giter Site home page Giter Site logo

knisterpeter / vscode-commitizen Goto Github PK

View Code? Open in Web Editor NEW
240.0 3.0 35.0 2.31 MB

Visual Studio Code Commitizen Support

Home Page: https://marketplace.visualstudio.com/items?itemName=KnisterPeter.vscode-commitizen

License: MIT License

JavaScript 6.20% TypeScript 93.80%
vscode commitizen typescript

vscode-commitizen's Introduction

vscode-commitizen README

build Marketplace Version Installs renovate badge

This vscode extension adds commitizen support.

Usage

  • Open the command panel (ctrl+shift+p or command+shift+p) and type 'conventional commit'.
  • Select the command and answer the questions afterwards (type, scope, subject, body, breaking changes, closed issues).
  • After the closed issues the commit is done automatically.
  • Note: During answering the questions just hit ESCto cancel the commit.

Configuration

To configure this extension follow cz-customizable and create the required config file. This also read by this extension if configured.

To determine what config to use, the extention will look for a config file in the following places:

  1. a .cz-config.js in the root directory
  2. in package.json to determine the path to the config file:
  "config": {
    "cz-customizable": {
      "config": "test.js"
    }
  }
  1. use the default config

Attributions

Commitizen logo is a remixed version of the logo created by authors of commitizen cz-cli repository, under MIT license.

vscode-commitizen's People

Contributors

aspirantzhang avatar bcanseco avatar euberdeveloper avatar fahrradflucht avatar greenkeeper[bot] avatar jiayisheji avatar knisterpeter avatar maqix avatar promastersss avatar renovate-bot avatar renovate[bot] avatar rozpuszczalny avatar sjakos avatar solaris765 avatar spenserj avatar tibebejs avatar yassinecc avatar yi-xu-0100 avatar zayd62 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vscode-commitizen's Issues

Support commit from a workspace

I usually work in a vscode workspace and there's always multiple repository folders that I am navigating. If you try to commit from a workspace, it will give you an error:

screenshot 2018-03-17 20 14 44

Logs the devtools:

Command failed: git commit -m build(fail): This will fail fatal: Not a git repository (or any of the parent directories): .git

If you use the standard commit package from vscode, the first thing it does is to ask for the repository. This might be a good additional feature to add to this project to support working in workspaces.

cz-customizable config for scopes not handled correctly

Hi, thanks for this awesome plugin!

I am trying to make a config which allows me to choose from a couple of scopes, or allows an empty selection. I don't want to allow custom scopes to be typed in, either one of the predefined values, or no scope.

This is my relevant config property:

module.exports = {
  scopes: [
    "one",
    "two",
    "three",
    "four",
    { value: "", name: "<no specific scope>" }
  ]
}

Note that I made an object for the 5th member of the scopes array, in order to allow a user-friendly label for selecting an empty string as a value.
This config works fine when using git-cz, however when using this VSCode extension, I do get the '' selecting in the scopes question, but when it tries to make the commit, the <no specific scope> string will be in the commit message in the scope field.

Cannot use scopeOverrides and scopes at the same time

Hi, for me this is a very useful plugin, but in use I found some problems:

  1. cannot use allowCustomScopes option and scopes option at the same time, otherwise it will cause an error: Cannot read property 'czConfig' of undefined.
  2. scopeOverrides option does not work.
    Thanks!

vscode-commitizen's version: 0.9.3

Error command 'vscode-commitizen.commit' not found

Have commitzen installed locally as an yarn/npm package.

I get this "error : command 'vscode-commitizen.commit' not found" when ever trigger the command.
Running VS code - Version 1.19.2 (1.19.2).

not sure what is wrong or causing this issue.

Getting strange error: subject may not be empty [subject-empty]

This started a few days ago all of a sudden.

Here's the full output:

Command failed with exit code 1: git commit -m "refactor: to use a constant name for the handler fn name"
husky > pre-commit (node v12.16.0)
[STARTED] Preparing...
[SUCCESS] Preparing...
[STARTED] Running tasks...
[STARTED] Running tasks for *.(js|ts)
[STARTED] Running tasks for package.json
[SKIPPED] No staged files match package.json
[STARTED] eslint --fix
[SUCCESS] eslint --fix
[SUCCESS] Running tasks for *.(js|ts)
[SUCCESS] Running tasks...
[STARTED] Applying modifications...
[SUCCESS] Applying modifications...
[STARTED] Cleaning up...
[SUCCESS] Cleaning up...
husky > commit-msg (node v12.16.0)
⧗   input: "refactor: to use a constant name for the handler fn name"
✖   subject may not be empty [subject-empty]
✖   type may not be empty [type-empty]

✖   found 2 problems, 0 warnings
ⓘ   Get help: https://github.com/conventional-changelog/commitlint/#what-is-commitlint

husky > commit-msg hook failed (add --no-verify to bypass)

If I run exactly the same command from CLI it works just fine:

git commit -m "refactor: to use a constant name for the handler fn name"

Any ideas?

Thanks.

Using it as SCM provider

I'm not sure that it's possible, but it could be great if we could use commitizen inside source control tab in VS Code instead of using additional command from palette. Have you thought about it, are there any caveats that prevents such feature?

Multi-repo workspaces get only the first commitizen custom config

At the moment, when I open three git repos in a workspace, the extension reads the .cz-config.js file from the first repo and offers its custom scopes for commits to all repos in the workspace.

If I reorder the repos in the workspace root and reload the window, then the new first repo's customisation is read.

What I would like is that the customisation that corresponds to the currently selected Source Control Provider is used when committing in that repo.

Can you get the "currently selected repository" as a context?

Dependency deprecation warning: conventional-changelog-lint (npm)

On registry https://registry.npmjs.org, the "latest" version (v2.1.1) of dependency conventional-changelog-lint has the following deprecation notice:

renamed to commitlint: https://git.io/vQ1rU

Marking the latest version of an npm package as deprecated results in the entire package being considered deprecated, so contact the package author you think this is a mistake.

Affected package file(s): package.json

If you don't care about this, you can close this issue and not be warned about conventional-changelog-lint's deprecation again. If you would like to completely disable all future deprecation warnings then add the following to your config:

"suppressNotifications": ["deprecationWarningIssues"]

Feature request: accept custom footerPrefix in cz-config

cz-customizable allows for the customization of the footer prefix, changing it from the default 'Closes' to any user-defined string in cz-config.js

It would be great if the same configuration could be supported through this extension.

Open editor before commit

Hello there is a suggestion to add to the settings so that you can open the editor with a commit for the last check before sending the commit

How to use?

Hi there,

This looks interesting. I've got it installed. How do I use it?

Thanks,

Jim

Support Multi folders

There is a problem if several project folders with their own repositories are added to the workspace. You need to correct line 82 of the extension.ts file, where the first folder is always selected. I haven't found how to do it elegantly yet. Maybe there will be suggestions? I haven't found a way to automatically detect the current repository or active folder

Breaking changes missing.

After merging #406 breaking changes no longer available. And there's no documentation about how to configure it. Also this option is not available in extension config.

Git Project root for config

Is it possible to have the extension look at the git project root for configuration files?
Something like calling git rev-parse --show-toplevel during the extension startup?

Fails if [includeIf] in .gitconfig uses capitalized drive letters since cwd uses lowercase drive letters

Summary

The following code

await commit(vscode.workspace.workspaceFolders[0].uri.fsPath, ccm.message.trim());

Passes a path like this as cwd.

d:/foo/bar

Because the drive letter is lowercase, git would ignore lines in .gitconfig like the one below that should otherwise match.

[includeIf "gitdir:D:/foo/bar/"]
    path = ~/.gitconfig-1

As a result, it'll complain that no username or email was set.

A quick solution is to add the option to capitalize the drive letter prior to passing it to exac().

Multiple pipes in long description

When you have multiple pipes in the long description only the first is treated to break new line. Subsequent pipes are not delimited.

Unclear error when using wrong format for scope

I accidentally tried to type the description instead of the scope and got the following error message after completing all steps:

Cannot read property 'length' of null

Maybe there's a better error message or it could be validated before progressing to the next step.

Great tool by the way :)

Code injection in commit messages

Commands inside backticks will be executed and the output of the command will end up inside the commit message.

For example,

today is `date`

will turn into today is Tue Sep 15 16:29:47 CEST 2020 and

my name is `whoami` and my mum is a pentester

will turn into my name is bobby-tables and my mum is a pentester.

Very similar to carloscuesta/gitmoji-cli#52

Use commitizen/conventional-commit-types

Hello,

It would be great if this extension could use the same default types than the ones used by commitizen/cz-conventional-changelog for commitizen/cz-cli.

Reference : commitizen/conventional-commit-types

const DEFAULT_TYPES = [
{
value: 'feat',
name: 'A new feature'
},
{
value: 'fix',
name: 'A bug fix'
},
{
value: 'docs',
name: 'Documentation only changes'
},
{
value: 'style',
name: 'Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)'
},
{
value: 'refactor',
name: 'A code change that neither fixes a bug nor adds a feature'
},
{
value: 'perf',
name: 'A code change that improves performance'
},
{
value: 'test',
name: 'Adding missing tests or correcting existing tests'
},
{
value: 'build',
name: 'Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)'
},
{
value: 'ci',
name: 'Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)'
},
{
value: 'chore',
name: 'Other changes that don\'t modify src or test files'
}
];

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

fails when you open a parent folder and attempt to commit subfolder commits

Howdy,

Problem

I often use vscode on a "workspace" - i.e. the parent folder of all of my repos. With the workspace open, if I try to use vscode-commitizen to commit it fails with the error below after filling in the commitizen fields:

Command failed with exit code 129 (Unknown system error -129): git diff --name-only --cached
Error: Command failed with exit code 129 (Unknown system error -129): git diff --name-only --cached
	at makeError (/home/ilan/.vscode/extensions/knisterpeter.vscode-commitizen-0.8.4/node_modules/execa/lib/error.js:58:11)
	at handlePromise (/home/ilan/.vscode/extensions/knisterpeter.vscode-commitizen-0.8.4/node_modules/execa/index.js:335:18)
About to commit 'docs: test'
Command failed with exit code 129 (Unknown system error -129): git diff --name-only --cached
Error: Command failed with exit code 129 (Unknown system error -129): git diff --name-only --cached
	at makeError (/home/ilan/.vscode/extensions/knisterpeter.vscode-commitizen-0.8.4/node_modules/execa/lib/error.js:58:11)
	at handlePromise (/home/ilan/.vscode/extensions/knisterpeter.vscode-commitizen-0.8.4/node_modules/execa/index.js:335:18)

If I open the subfolder containing the repo it succeeds.

Cause

I'm pretty sure it's just a directory path issue - i.e. git diff --name-only --cached is being run in the parent folder not the subfolder when I open the "workspace".

Prompt does not skip questions defined in .cz-config.js

First off thanks for the extension, it has become an essential for me!

I have a .cz-config.js file with the following fields:

module.exports = {
  types: [
    { value: "feat", name: "feat:       A new feature" },
    { value: "fix", name: "fix:        A bug fix" },
    // Some other types
  ],
  messages: {
    type: "Select the type of change that you're committing:",
    scope: "\nDenote the SCOPE of this change (optional):",
    subject: "Write a SHORT, IMPERATIVE tense description of the change:\n",
    body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
    confirmCommit: "Are you sure you want to proceed with the commit above?"
  },
  skipQuestions: ["footer", "breaking"] // HERE
};

I am using cz-customizable as such in package.json:

"scripts": {
   "commit": "git-cz",
// some other scripts
},
"config": {
    "commitizen": {
      "path": "node_modules/cz-customizable"
    }
  }

With this configuration, git cz effectively skips the footer and breaking changes prompts, but running conventional commit from the command panel still asks me those questions.

Is skipping questions supposed to work on this extension or is my config wrong?
Thanks!

Feature request: Auto-stage [enableSmartCommit]

image

If this setting is on and you have no files staged, the extension should assume you want all files staged and stage them for you. I'm assuming it would be git add -A -- .

New to TypeScript, but I'd be happy to submit a PR if you think this is a good idea. I'm thinking we'd need to read from the config and execute the additional command if nothing is staged before line 184.

async function commit(cwd: string, message: string): Promise<void> {
channel.appendLine(`About to commit '${message}'`);
try {
const result = await execa('git', ['commit', '-m', message], {cwd});

Feature request: Support additional prompts defined by commitizen adapters

Some custom commitizen configs define additional prompts (eg. https://github.com/atlassian/cz-lerna-changelog needs to know which packages in a monorepo to count a change as affecting).

Would be nice if vscode-commitizen could support these too. Maybe instead of hardcoding the series prompts, it could defer to the installed commitizen adaptor (perhaps by passing in a custom io interface in place of commitizen's inquirer.js instance?).

Neither body nor footer do appear in the commit message

Description

Neither the message body (containing the longer description paragraph) nor the footer (containing bug identifiers) do appear in the commit message once the commit is done and the commit message is displayed on the console using the git log command or using a GUI-based tool.

Steps to reproduce

  1. Install Commitizen as an extension of Visual Studio Code.
  2. Invoke Commitizen by pressing ctrl+shift+p and prepare your commit message (fill the "longer description" paragraph).
  3. Once finished, your changes will be automatically committed.
  4. On the Git output console type git log. You can also use a GUI-based tool such as Tortoise (see screenshots below).

Current behavior

Neither body nor footer appear as part of the commit message.

<type>[optional scope]: <description>

[optional body] <!-- The body does not appear -->

[optional footer(s)]  <!-- The footer does not appear -->

Screenshots

image

Desired behavior

Both body and footer should appear as part of the commit message.

Environment

  • commitizen version: 0.14.1
  • python version: 2.7
  • operating system: Windows 10
  • vscode version: 1.56.1 (user setup)

Command failed with exit code 128 ( Unkown system error)

Hi,
When I try to commit the changes, I'm getting the error as follows:
image

And I found that everthing is okay when I open the project from the root directory.

Error occurs whenever I open the project from the parent folder.

Maybe, this error is related to the directory depth (not the directoy where the .git file exists )?

Feature request: support additional cz-customizable configurations

Currently it's mentioned right now it the readme that there is an integration with the readme, but it only seems to be a limited integration, heres a few configurations I'd like to see:

  allowTicketNumber: boolean;
  isTicketNumberRequired: boolean;
  ticketNumberPrefix: string;
  skipQuestions: string[],

eg. feat(Scope): ITM-291 subject about feature

Ticket Number is the Footer but instead of being at the end, it's at the beginning of the subject.

Cannot read property 'czConfig' of undefined

I select type, next vscode error

Cannot read property 'czConfig' of undefined

vs code

version: 1.39.1 (system setup)
commit: 88f15d17dca836346e787762685a40bb5cce75a8
date: 2019-10-10T23:31:28.683Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362
vscode-commitizen: v0.8.4

I roll back to v0.8.3 working properly

[Feature request] don't autosync when there are unstaged files

I love autoSync feature provided by #40.
But I realized that it doesn't fully matches my flow:

  1. Make a lot of changes (e.g. 10-20 files)
  2. Stage some of them (e.g. 2-3)
  3. Commit stages
  4. Repeat steps 2 and 3 while there are dirty files
  5. Push all commit once

As profit, trigger CI only once for all changes instead of subset.
Probably, it should be opt-in.

ignores .cz-config.js unless there is a package.json

When you create a .cz-config.js, the plugin seems to ignore the config file unless there is a package.json file pointing to the .cz-config.js.

My package.json:

{
  "config": {
    "cz-customizable": {
      "config": "./.cz-config.js"
    }
  }
}

My .cz-config.js:

module.exports = {
  types: [
    {
      value: 'feat',
      name: 'A new feature'
    },
    {
      value: 'fix',
      name: 'A bug fix'
    },
    {
      value: 'docs',
      name: 'Documentation only changes'
    },
    {
      value: 'style',
      name: 'Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)',
    },
    {
      value: 'refactor',
      name: 'A code change that neither fixes a bug nor adds a feature',
    },
    {
      value: 'perf',
      name: 'A code change that improves performance',
    },
    {
      value: 'test',
      name: 'Adding missing tests'
    },
    {
      value: 'chore',
      name: 'Changes to the build process or auxiliary tools and libraries such as documentation generation',
    },
    {
      value: 'revert',
      name: 'Revert to a commit'
    },
    {
      value: 'WIP',
      name: 'Work in progress'
    },
  ],

  scopes: [
    { name: 'square' },
    { name: 'triangle' },
    { name: 'circle' }

  ],

  allowTicketNumber: false,
  isTicketNumberRequired: false,
  ticketNumberPrefix: 'TICKET-',
  ticketNumberRegExp: '\\d{1,5}',

  // it needs to match the value for field type. Eg.: 'fix'
  /*
  scopeOverrides: {
    fix: [
      {name: 'merge'},
      {name: 'style'},
      {name: 'e2eTest'},
      {name: 'unitTest'}
    ]
  },
  */
  // override the messages, defaults are as follows
  messages: {
    type: "Select the type of change that you're committing:",
    scope: '\nDenote the SCOPE of this change (optional):',
    // used if allowCustomScopes is true
    customScope: 'Denote the SCOPE of this change:',
    subject: 'Write a SHORT, IMPERATIVE tense description of the change:\n',
    body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
    breaking: 'List any BREAKING CHANGES (optional):\n',
    footer: 'List any ISSUES CLOSED by this change (optional). E.g.: #31, #34:\n',
    confirmCommit: 'Are you sure you want to proceed with the commit above?',
  },

  allowCustomScopes: true,
  allowBreakingChanges: ['feat', 'fix'],
  // skip any questions you want
  skipQuestions: ['body'],

  // limit subject length
  subjectLimit: 100,
  // breaklineChar: '|', // It is supported for fields body and footer.
  // footerPrefix : 'ISSUES CLOSED:'
  // askForBreakingChangeFirst : true, // default is false
};

the .cz-config.js is in the root directory.

Going to Help --> About:

Version: 1.35.1
Commit: c7d83e57cd18f18026a8162d042843bda1bcf21f
Date: 2019-06-12T14:27:31.086Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Linux x64 4.15.0-54-generic

High CPU usage, unable to type

ubuntu: 16.04
vscode: 1.16.1
vscode-commitizen: 0.4

I would sometime get a high CPU usage immediately after starting vscode. I don't think it is project dependent, but the project that I get this on has working changes.
The process chewing up CPU and keeps me warm is
image

I haven't found a workaround yet. Disable vscode-commitizen extension and terminate the CPU hogging process will get me back on. I noticed when the lockup happens the source control icon is
image and it never recovers.

Command failed with exit code 128

image

When trying to commit with Commitizen I get the above error. There is a fixed issue in the Issues here that says to put quotes around the commit message and it works but no luck for myself.

Any ideas?

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Location: package.json
Error type: The renovate configuration file contains some invalid settings
Message: Invalid configuration option: activationEvents, Invalid configuration option: author, Invalid configuration option: bugs, Invalid configuration option: categories, Invalid configuration option: commitlint, Invalid configuration option: contributes, Invalid configuration option: displayName, Invalid configuration option: homepage, Invalid configuration option: husky, Invalid configuration option: icon, Invalid configuration option: keywords, Invalid configuration option: license, Invalid configuration option: main, Invalid configuration option: name, Invalid configuration option: packageRules[0].vscode, Invalid configuration option: packageRules[1].@commitlint/cli, Invalid configuration option: packageRules[1].@commitlint/config-conventional, Invalid configuration option: packageRules[1].@knisterpeter/standard-tslint, Invalid configuration option: packageRules[1].@types/mocha, Invalid configuration option: packageRules[1].@types/node, Invalid configuration option: packageRules[1].@types/vscode, Invalid configuration option: packageRules[1].@types/wrap-ansi, Invalid configuration option: packageRules[1].glob, Invalid configuration option: packageRules[1].husky, Invalid configuration option: packageRules[1].mocha, Invalid configuration option: packageRules[1].prettier, Invalid configuration option: packageRules[1].shipjs, Invalid configuration option: packageRules[1].tslint, Invalid configuration option: packageRules[1].typescript, Invalid configuration option: packageRules[1].vsce, Invalid configuration option: packageRules[1].vscode-test, Invalid configuration option: packageRules[2].execa, Invalid configuration option: packageRules[2].sander, Invalid configuration option: packageRules[2].wrap-ansi, Invalid configuration option: prettier, Invalid configuration option: publisher, Invalid configuration option: renovate, Invalid configuration option: scripts, Invalid configuration option: version

Git root Windows

It seems that there is a pathing issue on windows that prevents git from finding the nearest repository.

I'll try to get a fix put together once I have access to a windows machine.

Only the first line makes it to the final commit message

My commits are only saving the first line of the final message; the body is missing.

I don't have any extension configuration set in this repo/environment.


Fails in 0.9.3:

093-log

093-message


Works in 0.8.4:

084-log

084-message


VSCode Version:

Version: 1.47.3 (user setup)
Commit: 91899dcef7b8110878ea59626991a18c8a6a1b3e
Date: 2020-07-23T13:12:49.994Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.17134

Better error reporting

If husky is added into the pipeline to lint on precommit, you may encounter linting errors. Current the only way to see them is if you hover over the error message. Is there a better way in VS code to display these messages to the developer?

image

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.