Giter Site home page Giter Site logo

microsoft / types-publisher Goto Github PK

View Code? Open in Web Editor NEW
390.0 19.0 151.0 4.81 MB

This repo has moved:

Home Page: https://github.com/microsoft/DefinitelyTyped-tools/tree/master/packages/publisher

License: MIT License

TypeScript 99.88% JavaScript 0.12%

types-publisher's Introduction

This repo has moved.

This service is now part of microsoft/DefinitelyTyped-tools.

If you need to update allowedPackageJsonDependencies.txt (formerly named dependenciesWhitelist.txt), please do so at its new location.

types-publisher's People

Contributors

43081j avatar a-tarasyuk avatar alan-agius4 avatar alloy avatar andrewbranch avatar danielrosenwasser avatar dbartholomae avatar dependabot[bot] avatar dolezel avatar doug-a-brunner avatar dsifford avatar eps1lon avatar ffflorian avatar gabritto avatar ifiokjr avatar ivangoncharov avatar janaagaard75 avatar methuselah96 avatar mgroenhoff avatar mhegazy avatar michaeldeboey avatar obusk avatar pauldraper avatar peterblazejewicz avatar pselden avatar rbuckton avatar ryancavanaugh avatar sandersn avatar simenb avatar uniqueiniquity 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

types-publisher's Issues

Support "not needed" entries

We should have the ability to say that a library bundles its own .d.ts file. This would generate a package that just depends on the underlying NPM package, and also generates an entry in the search index so we can surface at TypeSearch.

Handle dependency pointers

Currently, it seems dependencies rely on some path trickery. This is a pain, because if a definition is ever moved inline you can not deprecate it. Typings resolves this by allowing type definition resolution over multiple sources, but DefinitelyTyped does not prescribe dependencies.

You might want to standardise on using package.json internally with DefinitelyTyped to specify dependencies.

Reconsider major.minor pinning

I brought this up before offline, but I want to post it here to discuss it thoroughly. The current implementation pins to major.minor which blocks people from typing anything with a smaller version. This is a bit of an issue for anyone wanting to type/use pre-release software, or if something needs to be added for an actual patch release (though that breaks semantic versioning, not everyone follows it correctly - including TypeScript - and it could occur more likely on 0.x versions where semver doesn't actually apply).

The way this is solved in Typings is by using the build metadata part of semver. Specifically, 2.0.0+timestamp.

@types/ng-table describe an old version of the library - what to do?

I'm the primary contributor to the ng-table project.

I'm rewriting the source code to typescript using es2015 modules. As a consequence the new version of the library will include it's type declarations inside of the main ng-table npm package.

Once this new version of ng-table is published, this will make @types/ng-table only relevant for the old version of ng-table.

Can you advice how to ensure that consumers of the ng-table library will use the correct version of the type declarations?

For example should ng-table be included in https://github.com/DefinitelyTyped/DefinitelyTyped/blob/types-2.0/notNeededPackages.json

Thanks
Christian

npmjs Pages Not Updating Correctly

@RyanCavanaugh thanks for merging the two D3 related PRs yesterday on DT/types-2.0 !!!

When updating my Angular 2 service for D3, I noticed the following oddity related to the propagation to @types:

  • When using npm install with all d3-*** module definitions, the correct latest definitions are pulled down from npm with correct version numbers. So the new version parsing works. Thanks @andy-ms ๐Ÿ‘
  • npm search page shows the correct version number for all of them as well in the snippet.

However, for the only following three definitions which were updated yesterday:

neither the README displayed on npmjs, nor the listed release number are reflective of the npm "latest" package. Again, the npm packages themselves are fine.

Update npm packages on DT update?

I pushed a change with a PR to the Definitely Typed repo yesterday, which was merged, yet the corresponding @types/node-schedule package on npm hasn't updated to reflect that.

Is that an expected behaviour, or am I supposed to do something else?

Save NPM login token

We should cache the result of the logIn function in npm-client.ts.
We could do this in a local file, but this could be a security issue.
Maybe we should delay this until we are using KeyVault.

Angular @types package references itself

I was trying to get an Angular 1.x project working with TypeScript 2.0 using the @types/angular typings. I kept on getting duplicate identifier errors in the .d.ts files, even when using the new skipLibCheck option. What I finally discovered as I dug into it is that when you install the Angular types, you get a nested structure looking like this: node_modules/@types/angular/node_modules/@types/angular
Deleting the node_modules folder under node_modules/@types/angular resolved the errors.
Upon further inspection, I realized that the package.json file created for the Angular typings had a package id of @types/[email protected] and a dependency on "@types/angular": "1.5.4-alpha".
You can also see the dependency on the NPM page for the Angular typings: https://www.npmjs.com/package/@types/angular
Is there any way to prevent this from happening?

Publish Log, 4/5/2016

Typing Publish Report Summary

Started at Tue, 05 Apr 2016 21:00:52 GMT
Found 1704 typings folders in ../DefinitelyTyped

Overall Results

  • Pass / fail
    • Failed (TooManyFiles): 12
    • Succeeded (DeclareModule): 589
    • Succeeded (Global): 581
    • Succeeded (Mixed): 223
    • Succeeded (MultipleModules): 53
    • Succeeded (OldUMD): 237
    • Succeeded (ProperModule): 2
    • Succeeded (Unknown): 7

Warnings

  • DataStream.js
    • Package name DataStream.js should be strictly lowercase
  • FileSaver
    • Package name FileSaver should be strictly lowercase
  • Finch
    • Package name Finch should be strictly lowercase
  • Headroom
    • Package name Headroom should be strictly lowercase
  • HubSpot-pace
    • Package name HubSpot-pace should be strictly lowercase
  • JSONStream
    • Package name JSONStream should be strictly lowercase
  • OpenJsCad
    • Package name OpenJsCad should be strictly lowercase
  • PayPal-Cordova-Plugin
    • Package name PayPal-Cordova-Plugin should be strictly lowercase
  • adal-angular
    • Declared module adal is in folder with incorrect name adal-angular
  • amplifyjs
    • Declared module amplify is in folder with incorrect name amplifyjs
  • angular-localForage
    • Package name angular-localForage should be strictly lowercase
  • angular-protractor
    • Declared module protractor is in folder with incorrect name angular-protractor
  • angularLocalStorage
    • Package name angularLocalStorage should be strictly lowercase
  • angularjs
    • Exiting, found either zero or more than one .d.ts file and none of angularjs.d.ts or index.d.ts
  • angularjs-toaster
    • Declared module ngtoaster is in folder with incorrect name angularjs-toaster
  • assert
    • Declared module power-assert is in folder with incorrect name assert
  • auth0.lock
    • Declared module auth0-lock is in folder with incorrect name auth0.lock
  • auth0.widget
    • Declared module Auth0Widget is in folder with incorrect name auth0.widget
  • azure-mobile-services-client
    • Declared module WindowsAzure is in folder with incorrect name azure-mobile-services-client
  • bingmaps
    • Exiting, found either zero or more than one .d.ts file and none of bingmaps.d.ts or index.d.ts
  • bounce
    • Declared module bounce.js is in folder with incorrect name bounce
  • business-rules-engine
    • Declared module business-rule-engine is in folder with incorrect name business-rules-engine
  • chrome
    • Declared module chrome.debugger is in folder with incorrect name chrome
  • cldr.js
    • Declared module cldr is in folder with incorrect name cldr.js
  • dcjs
    • Exiting, found either zero or more than one .d.ts file and none of dcjs.d.ts or index.d.ts
  • deployJava
    • Package name deployJava should be strictly lowercase
  • docCookies
    • Package name docCookies should be strictly lowercase
  • egg.js
    • Declared module egg is in folder with incorrect name egg.js
  • eq.js
    • Declared module eqjs is in folder with incorrect name eq.js
  • fabricjs
    • Declared module fabric is in folder with incorrect name fabricjs
  • fbsdk
    • Declared module FB is in folder with incorrect name fbsdk
  • flexSlider
    • Package name flexSlider should be strictly lowercase
  • foundation-sites
    • Declared module Foundation is in folder with incorrect name foundation-sites
  • fullCalendar
    • Package name fullCalendar should be strictly lowercase
  • gapi.youtubeAnalytics
    • Package name gapi.youtubeAnalytics should be strictly lowercase
  • github-electron
    • Declared module electron is in folder with incorrect name github-electron
  • goJS
    • Declared module go is in folder with incorrect name goJS
    • Package name goJS should be strictly lowercase
  • google-apps-script
    • Exiting, found either zero or more than one .d.ts file and none of google-apps-script.d.ts or index.d.ts
  • gruntjs
    • Declared module grunt is in folder with incorrect name gruntjs
  • gsap
    • Exiting, found either zero or more than one .d.ts file and none of gsap.d.ts or index.d.ts
  • highlightjs
    • Declared module highlight.js is in folder with incorrect name highlightjs
  • howlerjs
    • Declared module howler is in folder with incorrect name howlerjs
  • i18n-node
    • Declared module i18n is in folder with incorrect name i18n-node
  • interactjs
    • Declared module interact is in folder with incorrect name interactjs
  • ion.rangeSlider
    • Package name ion.rangeSlider should be strictly lowercase
  • is_js
    • Declared module is is in folder with incorrect name is_js
  • ix.js
    • Exiting, found either zero or more than one .d.ts file and none of ix.js.d.ts or index.d.ts
  • joData
    • Package name joData should be strictly lowercase
  • jquery.ajaxfile
    • Declared module ajaxfile is in folder with incorrect name jquery.ajaxfile
  • jquery.autosize
    • Declared module autosize is in folder with incorrect name jquery.autosize
  • jquery.blockUI
    • Package name jquery.blockUI should be strictly lowercase
  • jquery.clientSideLogging
    • Package name jquery.clientSideLogging should be strictly lowercase
  • jquery.contextMenu
    • Package name jquery.contextMenu should be strictly lowercase
  • jquery.customSelect
    • Package name jquery.customSelect should be strictly lowercase
  • jquery.dataTables
    • Package name jquery.dataTables should be strictly lowercase
  • jquery.leanModal
    • Package name jquery.leanModal should be strictly lowercase
  • jquery.notifyBar
    • Package name jquery.notifyBar should be strictly lowercase
  • jquery.postMessage
    • Package name jquery.postMessage should be strictly lowercase
  • jquery.rowGrid
    • Package name jquery.rowGrid should be strictly lowercase
  • jquery.scrollTo
    • Package name jquery.scrollTo should be strictly lowercase
  • jquery.simplePagination
    • Package name jquery.simplePagination should be strictly lowercase
  • jquery.simplemodal
    • Declared module simplemodal is in folder with incorrect name jquery.simplemodal
  • jquery.slimScroll
    • Package name jquery.slimScroll should be strictly lowercase
  • jquery.sortElements
    • Package name jquery.sortElements should be strictly lowercase
  • jquery.superLink
    • Package name jquery.superLink should be strictly lowercase
  • js-signals
    • Declared module signals is in folder with incorrect name js-signals
  • knockout.amd.helpers
    • Declared module knockout-amd-helpers is in folder with incorrect name knockout.amd.helpers
  • leapmotionTS
    • Package name leapmotionTS should be strictly lowercase
  • localForage
    • Package name localForage should be strictly lowercase
  • lovefield
    • Declared module lf is in folder with incorrect name lovefield
  • mCustomScrollbar
    • Package name mCustomScrollbar should be strictly lowercase
  • marionette
    • Declared module backbone.marionette is in folder with incorrect name marionette
  • multiplexjs
    • Declared module multiplex is in folder with incorrect name multiplexjs
  • natural-sort
    • Declared module naturalSort is in folder with incorrect name natural-sort
  • ng-cordova
    • Exiting, found either zero or more than one .d.ts file and none of ng-cordova.d.ts or index.d.ts
  • noVNC
    • Package name noVNC should be strictly lowercase
  • node-azure
    • Declared module azure is in folder with incorrect name node-azure
  • node-ffi
    • Declared module ffi is in folder with incorrect name node-ffi
  • node-git
    • Declared module git is in folder with incorrect name node-git
  • node-imap
    • Declared module imap is in folder with incorrect name node-imap
  • node-webkit
    • Declared module nw.gui is in folder with incorrect name node-webkit
  • node_zeromq
    • Declared module zmq is in folder with incorrect name node_zeromq
  • numeraljs
    • Declared module numeral is in folder with incorrect name numeraljs
  • parallel
    • Declared module paralleljs is in folder with incorrect name parallel
  • pdf
    • Declared module PDFJS is in folder with incorrect name pdf
  • phantomjs
    • Declared module webpage is in folder with incorrect name phantomjs
  • pouchDB
    • Package name pouchDB should be strictly lowercase
  • pubsubjs
    • Declared module pubsub-js is in folder with incorrect name pubsubjs
  • ravenjs
    • Declared module raven-js is in folder with incorrect name ravenjs
  • raygun4js
    • Declared module Raygun is in folder with incorrect name raygun4js
  • react-bootstrap-daterangepicker
    • Exiting, found either zero or more than one .d.ts file and none of react-bootstrap-daterangepicker.d.ts or index.d.ts
  • requirejs
    • Declared module module is in folder with incorrect name requirejs
  • requirejs-domready
    • Declared module domReady is in folder with incorrect name requirejs-domready
  • rx-jquery
    • Declared module rx.jquery is in folder with incorrect name rx-jquery
  • sammyjs
    • Declared module sammy is in folder with incorrect name sammyjs
  • sencha_touch
    • Exiting, found either zero or more than one .d.ts file and none of sencha_touch.d.ts or index.d.ts
  • simplestorage.js
    • Declared module simpleStorage is in folder with incorrect name simplestorage.js
  • sinon-chrome
    • Declared module SinonChrome.debugger is in folder with incorrect name sinon-chrome
  • slickgrid
    • Exiting, found either zero or more than one .d.ts file and none of slickgrid.d.ts or index.d.ts
  • sockjs-node
    • Declared module sockjs is in folder with incorrect name sockjs-node
  • sortablejs
    • Declared module Sortable is in folder with incorrect name sortablejs
  • squirejs
    • Declared module Squire is in folder with incorrect name squirejs
  • stamplay-js-sdk
    • Declared module Stamplay is in folder with incorrect name stamplay-js-sdk
  • svgjs
    • Declared module svg.js is in folder with incorrect name svgjs
  • threejs
    • Exiting, found either zero or more than one .d.ts file and none of threejs.d.ts or index.d.ts
  • tinycolor
    • Declared module tinycolor2 is in folder with incorrect name tinycolor
  • typeahead
    • Declared module bloodhound is in folder with incorrect name typeahead
  • ui-grid
    • Declared module angular-ui-grid is in folder with incorrect name ui-grid
  • ui-router-extras
    • Declared module angular-ui-router-extras is in folder with incorrect name ui-router-extras
  • vex-js
    • Declared module vex is in folder with incorrect name vex-js
  • webrtc
    • Exiting, found either zero or more than one .d.ts file and none of webrtc.d.ts or index.d.ts

have 'repository' metadata included with npm modules

I'm looking forward to using the npm way of getting type definitions. Unfortunately the npms are missing the repository metadata.
Unfortunately the build infrastructure that I use requires npms to contain this standard metadata.

So my request is for the repository metadata to be available in @types npms.

Support multiple major.minor versions

We should allow folder structures like this:

/jquery
  index.d.ts
  tsconfig.json
  jquery-tests.ts
  /v2
    index.d.ts
    tsconfig.json
    jquery-v2-tests.ts
  /v3.1
    index.d.ts
    tsconfig.json
    jquery-v3.1-tests.ts

This should parse the major and optional minor version number from the folder name and generate versioned packages published under the same name as the parent folder.

Generated types directives need to be lower case

Otherwise resolution will fail on case-sensitive filesystems, as NPM enforces lower-cased package names.

This issue is exhibited in orchetrator's index, which contains the line:

/// <reference types="Q" />

and it must be

/// <reference types="q" />

Node.js types are incorrect/outdated

Steps to reproduce:

npm install @types/node

Expected Results:

The node v6 typings should be in index.d.ts in the node_modules/@types/node directory.

Actual Results:

The node v4 typings are in index.d.ts in the node_modules/@types/node directory.

No verification on dependencies

There's nothing stopping a user from publishing a thing that imports a package even if said package wasn't listed as a dependency in package.json

Be smarter about republishes

Right now we pessimistically assume that all past NPM publishes may have failed and query the NPM DB every time. This is slow and hinders fast incremental publish.

We should have two targets: incremental publish, and full publish. Incremental should assume that only 'new' versions need publishing, and full publish should do the full querying and republishing.

Also, only a full publish should fetch NPM package download counts.

Publish a library to NPM

We should wrap up the stuff from /lib into an NPM package so we can use it from the definition-tester project and reuse its logic

Warn for unused files in DefinitelyTyped directories

The only values included in a directory in DefinitelyTyped should be an entry point .d.ts (usu. index.d.ts), other .d.ts files referenced by that, and (optionally) test files and a partial package.json.
Currently we also store old versions of a definition in the same directory; we should move these to their own directory instead (or just throw them out).

For example, every .d.ts file in bingmaps except for the index is currently ignored.

Cache NPM package download counts

The search index creation script gets NPM download counts, but this process is quite slow (several minutes) and the data doesn't change in an interesting way very often. We should cache this data locally so we can more quickly rebuild the search index with download numbers in them, and only update this cache ~weekly or so.

Consider adding a peer dependency

When publishing to NPM, that package could list a peer dependency on the real NPM module. This would improve the issue where the @types/ version and the real version could become out of sync, as NPM will warn the user. By default, it could probably be tagged using semver semantics as ^ (caret) of the current version that was typed.

Namespace conflicts

They will likely inevitably happen - like npm~atom vs env~atom. Is there a policy in place to figure out who takes what name in the @types namespace?

Why --save instead of --save-dev?

In instructions on how to use @types, type packages are installed with --save and not --save-dev.

Why is this?

I wouldn't expect that I need the types outside of my development environment?

There should be a note about it in the various readmes.

What is this?

The README for this project launches into detail with no explanation of what this project is for. I'm using another GitHub lib which is using this, and it seems broken, but I have no idea what this library's purpose is.

Could you add some context information to the ReadMe please?

Support redirects

We should allow a folder structure which is

/some-lib
  redirect.json

The contents of redirect.json would be something that tells types-publisher how to enlist and parse the linked repo. We can probably start with just git URLs and expand as needed

PRs not being merged to DefinitelyTyped/types-2.0

@RyanCavanaugh @andy-ms I know you mentioned you were doing some dev work on types-publisher and the DT-to-NPM pipeline. Have you put merge/pub fortypes-2.0 on hold for the time being?

If so, could you kindly provide expected timelines when merges resume? Otherwise, there are several simple, yet important PRs which could readily be merged, they have aged for a week now, without any comment or action.

Would appreciate, if they could be moved through. The DT PR numbers are listed below:

  • 11497
  • 11503
  • 11542
  • 11573

Thanks in advance for your attention to the matter.

Handle deprecation effectively

When a definition is deleted from DefinitelyTyped, the publisher tool should issue a deprecation to NPM so people installing it still know it's been removed.

Do not depend on environmental typings?

I think I've brought this up a few times privately now, but I recently saw microsoft/TypeScript#10250 and thought I should bring it up publicly now. Having a dependency on an environment that does not exist can be bad and easily introduces numerous bugs. The most prolific is when DefinitelyTyped started introducing global Promise typings when you may have been running on node 0.10 which does not have promises. However, the same thing can exist else - for instance, using or exposing a specific method from http.Request or Buffer, etc. can create subtle bugs in the runtime while compile time tells you everything is good.

Missing dependency for `@types/react-router`

@types/react-router depends on @types/history, yet there is no depenency entry in the package.json.

Here is the output of npm info @types/react-router

{ name: '@types/react-router',
  description: 'TypeScript definitions for react-router v2.0.0',
  'dist-tags': { latest: '2.0.26-alpha' },
  versions:
   [ '2.0.13-alpha',
     '2.0.14-alpha',
     '2.0.19-alpha',
     '2.0.20-alpha',
     '2.0.21-alpha',
     '2.0.22-alpha',
     '2.0.23-alpha',
     '2.0.24-alpha',
     '2.0.25-alpha',
     '2.0.26-alpha' ],
  maintainers: [ 'types <[email protected]>' ],
  time:
   { modified: '2016-07-11T22:29:54.099Z',
     created: '2016-05-17T18:45:34.270Z',
     '2.0.13-alpha': '2016-05-17T18:45:34.270Z',
     '2.0.14-alpha': '2016-05-19T22:10:45.225Z',
     '2.0.19-alpha': '2016-05-20T20:32:35.406Z',
     '2.0.20-alpha': '2016-05-25T05:48:27.231Z',
     '2.0.21-alpha': '2016-07-01T20:25:22.182Z',
     '2.0.22-alpha': '2016-07-01T23:48:33.623Z',
     '2.0.23-alpha': '2016-07-02T03:19:31.235Z',
     '2.0.24-alpha': '2016-07-04T01:10:42.331Z',
     '2.0.25-alpha': '2016-07-08T21:15:41.038Z',
     '2.0.26-alpha': '2016-07-11T22:29:54.099Z' },
  author: 'Sergey Buturlakin <https://github.com/sergey-buturlakin>',
  license: 'MIT',
  readmeFilename: 'README.md',
  repository:
   { type: 'git',
     url: 'https://www.github.com/DefinitelyTyped/DefinitelyTyped.git' },
  version: '2.0.26-alpha',
  main: '',
  scripts: {},
  typings: 'index.d.ts',
  dependencies: { '@types/react': '0.14.26-alpha' },
  dist:
   { shasum: '1a8b9fc6e81b4722542c32c4a53b02cb8cad9e7c',
     tarball: 'https://registry.npmjs.org/@types/react-router/-/react-router-2.0.26-alpha.tgz' },
  directories: {} }

Looks like @types/history is not valid

I've got errors after @types/history is installed:

node_modules/@types/history/index.d.ts(120,42): error TS2307: Cannot find module 'history/lib/createBrowserHistory'.
node_modules/@types/history/index.d.ts(121,46): error TS2307: Cannot find module 'history/lib/createHashHistory'.
node_modules/@types/history/index.d.ts(122,48): error TS2307: Cannot find module 'history/lib/createMemoryHistory'.
node_modules/@types/history/index.d.ts(123,43): error TS2307: Cannot find module 'history/lib/createLocation'.
node_modules/@types/history/index.d.ts(124,40): error TS2307: Cannot find module 'history/lib/useBasename'.
node_modules/@types/history/index.d.ts(125,44): error TS2307: Cannot find module 'history/lib/useBeforeUnload'.
node_modules/@types/history/index.d.ts(126,39): error TS2307: Cannot find module 'history/lib/useQueries'.
node_modules/@types/history/index.d.ts(127,26): error TS2307: Cannot find module 'history/lib/actions'.

Looks like lib folder from DefinitelyTyped repository is not included into @types/history module.

Automate log publishing

Each time we do a full publish we should create a Git issue where the body is the summary log and the first comment is the detailed log.

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.