Code Monkey home page Code Monkey logo

d3-stencil's Introduction

This repository is archived, and not longer maintained. Contact with me if you want to take the ownership, thanks.

Coverage Status

D3-Stencil

Welcome to D3-Stencil

Why D3-Stencil?

The main purpose of this project is to create a catalogue of web component graphs taking advantage of standards for web component APIs. There are no framework dependencies so they can be used anywhere. ๐ŸŒŽ๐ŸŒŒ๐Ÿš€

Install D3-Stencil

Use npm:

npm i d3-stencil --save

Or yarn:

yarn add d3-stencil

Looks good, I want to read more!

Go to the website of this project and there you can find more context about how to use it, read all the documentation, and join to the Slack Channel. See you there! ๐ŸŽ‰๐Ÿ“Š๐ŸŽŠ๐Ÿ“ˆ

d3-stencil's People

Contributors

dependabot-preview[bot] avatar edbrsk avatar peterennis 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

d3-stencil's Issues

Add tests

I have some tests in the code but isn't enough.

For that and taking advantage that this month is Hacktoberfest. ๐Ÿ˜„
I purpose you to add some tests, not in all the code, be can move forward with the list or another thing if you have any suggestion.

We can start with:

  • Check the test/utils that already exists and add more or improve those.
  • Write a test for shared/formats.
  • Write a test for decorators/ resize.
  • Write tests for entire components unit and e2e.

D3 SVG Maps

@edgarordonez

I need to make some SVG maps and I wan to use stenciljs.

It would be cool if I can turn them into components.

If I fork your work and attempt to integrate SVG maps could you help me make it happen?

Thanks so muck in advance!

BCGMatrix tooltipInfo -> GraphData tooltipInfo

I thought I could change the tooltipInfo property from BcgMatrix type as tooltipInfo is not part of the data it is more related to the tooltip customisation, and could be helpful in others graphs too.

Latest version of Stencil changes demo alignment

@edgarordonez

Ref: #41 This is how the earlier versions look:

Capture591

@edgarordonez
I am not sure if this is due to a Stencil bug or feature.

Direct comparison of the latest version in #46 for Stencil 1.1.1

Capture589

Please check and let me know. I can open a ticket upstream if you think it is Stencil.

It would be most helpful if you could add a link to the breaking code, if any.

Plan a new release once this is resolved.

Duplicate components

I just followed the instructions at https://d3-stencil.dev/docs/dev/dev-intro.html
and got :

yarn run v1.22.4
$ stencil build --dev --watch --serve
[25:54.7]  @stencil/core v1.14.0
[25:57.2]  build, d3-stencil, dev mode, started ...
[25:57.2]  transpile started ...
[25:58.3]  transpile finished in 1.05 s

[ ERROR ]  Component Tag Name "bcg-matrix-chart" Must Be Unique
           Please update the components so "bcg-matrix-chart" is only used once:
           ./dist/collection/components/bcg-matrix-chart/bcg-matrix-chart.js
           ./src/components/bcg-matrix-chart/bcg-matrix-chart.tsx

[ ERROR ]  Component Tag Name "horizontal-bar-chart" Must Be Unique
           Please update the components so "horizontal-bar-chart" is only used once:
           ./dist/collection/components/horizontal-bar-chart/horizontal-bar-chart.js
           ./src/components/horizontal-bar-chart/horizontal-bar-chart.tsx

[ ERROR ]  Component Tag Name "legend-chart" Must Be Unique
           Please update the components so "legend-chart" is only used once:
           ./dist/collection/components/legend-chart/legend-chart.js ./src/components/legend-chart/legend-chart.tsx

[ ERROR ]  Component Tag Name "line-annotations-chart" Must Be Unique
           Please update the components so "line-annotations-chart" is only used once:
           ./dist/collection/components/line-annotations-chart/line-annotations-chart.js
           ./src/components/line-annotations-chart/line-annotations-chart.tsx

[ ERROR ]  Component Tag Name "line-chart" Must Be Unique
           Please update the components so "line-chart" is only used once:
           ./dist/collection/components/line-chart/line-chart.js ./src/components/line-chart/line-chart.tsx

[ ERROR ]  Component Tag Name "pie-chart" Must Be Unique
           Please update the components so "pie-chart" is only used once:
           ./dist/collection/components/pie-chart/pie-chart.js ./src/components/pie-chart/pie-chart.tsx

[ ERROR ]  Component Tag Name "tooltip-chart" Must Be Unique
           Please update the components so "tooltip-chart" is only used once:
           ./dist/collection/components/tooltip-chart/tooltip-chart.js ./src/components/tooltip-chart/tooltip-chart.tsx

[25:58.3]  build failed, watching for changes... in 1.10 s

[25:58.3]  http://localhost:3333/

and the same on the page http://localhost:3333/
What's wrong ?

I'm new to stencil, but I know D3 ...

Thanks

Install and import d3-stencil and there is an issue

Hi,

Great work on this library.

When I installed d3-stencil and import it:

import 'd3-stencil';

I get the following error:

Typescript Error
Cannot find module '/Users/edgar/Projects/pet-projects/d3-stencil/src/interfaces/index'.
node_modules/d3-stencil/dist/types/components.d.ts

'updateGraphData': (graphData: Partial<{ pieChart: Partial<{ labelFormat: import("/Users/edgar/Projects/pet-projects/d3-stencil/src/interfaces/index").Formats;

etc etc

It would be really good to have more detailed documentation on how to get started with this too. At the moment it's unclear.

Stencil 1.1.1 requires Puppeteer 1.17.0

Microsoft Windows [Version 10.0.17763.557]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\ae\adaept.com\d3-stencil>npm i

> [email protected] preuninstall C:\ae\adaept.com\d3-stencil\node_modules\husky
> node husky uninstall

husky > Uninstalling git hooks
husky > Done

> [email protected] install C:\ae\adaept.com\d3-stencil\node_modules\husky
> node husky install

husky > Setting up git hooks
husky > Done
husky > Like husky? You can support the project on Open Collective:
husky > https://www.opencollective.com/husky ๐Ÿ•

> [email protected] install C:\ae\adaept.com\d3-stencil\node_modules\puppeteer
> node install.js

Downloading Chromium r669486 - 140.6 Mb [====================] 100% 0.0s
Chromium downloaded to C:\ae\adaept.com\d3-stencil\node_modules\puppeteer\.local-chromium\win64-669486
npm WARN rollback Rolling back [email protected] failed (this is probably harmless): EPERM: operation not permitted, scandir 'C:\ae\adaept.com\d3-stencil\node_modules\fsevents\node_modules'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 2 packages from 1 contributor, removed 8 packages, updated 18 packages and audited 1748482 packages in 71.222s
found 0 vulnerabilities


C:\ae\adaept.com\d3-stencil>npm test

> [email protected] test C:\ae\adaept.com\d3-stencil
> stencil test --spec --e2e --coverage

[23:30.4]  @stencil/core v1.1.1
[23:30.6]  Please wait while required dependencies are updated. This may take a few moments and will only be
           required for the initial run.
[23:30.6]  installing dependency: puppeteer ...
Downloading Chromium r662092 - 140.3 Mb [====================] 100% 0.0s
+ [email protected]
updated 1 package in 92.526s
[25:10.7]  installing dependencies finished in 100.09 s
[25:10.7]  testing e2e and spec files
[25:10.7]  build, d3-stencil, dev mode, started ...
[25:11.6]  transpile started ...
[25:19.0]  transpile finished in 7.45 s
[25:19.2]  generate styles started ...
[25:19.2]  bundling components started ...
[25:20.7]  generate styles finished in 1.51 s
[25:30.6]  bundling components finished in 11.47 s
[25:31.0]  build finished in 20.32 s

[25:31.2]  jest args: --coverage --e2e --spec --max-workers=4
 PASS  src/utils/tests/formatter.spec.ts (13.29s)
 PASS  src/utils/tests/currency-formatter.spec.ts (15.623s)
 PASS  src/utils/tests/circular-find.spec.ts (16.833s)
 PASS  src/utils/tests/has-data.spec.ts (18.6s)
-----------------------|----------|----------|----------|----------|-------------------|
File                   |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
-----------------------|----------|----------|----------|----------|-------------------|
All files              |    48.15 |    30.91 |     62.5 |       50 |                   |
 circular-find.ts      |      100 |      100 |      100 |      100 |                   |
 currency-formatter.ts |      100 |      100 |      100 |      100 |                   |
 formats.ts            |      100 |      100 |      100 |      100 |                   |
 formatter.ts          |      100 |      100 |      100 |      100 |                   |
 has-data.ts           |      100 |      100 |      100 |      100 |                   |
 index.ts              |      100 |      100 |      100 |      100 |                   |
 init-slots.ts         |    16.67 |        0 |        0 |    16.67 |... 23,28,29,30,33 |
 object-assign-deep.ts |     2.13 |        0 |        0 |     2.33 |... 3,86,91,97,101 |
-----------------------|----------|----------|----------|----------|-------------------|

Test Suites: 4 passed, 4 total
Tests:       20 passed, 20 total
Snapshots:   0 total
Time:        22.39s
Ran all test suites.


C:\ae\adaept.com\d3-stencil>

General code review

I did this library all alone in my journeys home/office, so it would be a pleasure if you want to share your opinion with me and do a code review about the structure or another part.

We can refactor any part of the code or get rid off if you think that it is horrible.

Error on building project [cannot find module...]

Hi,
I installed d3-stencil on my own project using npm i d3-stencil --save, but when I try to make a build I get the next error, no way on the node_modules folder, although it's correctly installed d3-stencil, to find modules.

Any tip about that? Thank. you so much!

[ ERROR ]  TypeScript: ../../node_modules/d3-stencil/dist/types/index.d.ts:8:8
            Cannot find module '@interfaces/index'.
       L7:    HasData,
       L8:  } from '@interfaces/index';
       L9:  export {
 [ ERROR ]  TypeScript: ../../node_modules/d3-stencil/dist/types/index.d.ts:11:8
            Cannot find module '@interfaces/data-types'.
      L10:    BcgMatrix,
      L11:  } from '@interfaces/data-types';
[04:39.1]  build failed in 35.32 s

Github Actions

I would like to try out Github Actions instead of CircleCI for all the steps if it's possible.

Cannot find module '@d3-stencil/interfaces'

I am trying to add a trivial PieChart to my PWA boilerplate and I keep getting Cannot find module '@d3-stencil/interfaces'.

I have installed and saved d3-stencil/interfaces'. Is there an example / boilerplate I could use as a starting point?

Add Commitlint/husky

Add "Commitlint" and husky to this project to avoid errors on each commit/push.

D3 Types

Add @types/d3 and refactor the problems that it may cause.

Plus, it's possible that this issue closes the #9 too.

manifest problem

on fresh install, with Stencil 1.9.2, I do "yarn" (ok, no error),
then "yarn start" seems to run ok :

$ stencil build --dev --watch --serve
[33:26.8]  @stencil/core v1.9.2
[33:27.1]  build, d3-stencil, dev mode, started ...
[33:27.2]  transpile started ...
[33:28.8]  transpile finished in 1.55 s
[33:28.8]  type checking started ...
[33:28.8]  copy started ...
[33:28.8]  generate styles started ...
[33:28.8]  bundling components started ...
[33:29.1]  copy finished (2 files) in 279 ms
[33:29.4]  generate styles finished in 603 ms
[33:30.4]  bundling components finished in 1.57 s
[33:30.5]  build finished, watching for changes... in 3.39 s

[33:30.5]  dev server: http://localhost:3333/

what I get on the browser is the directory of my project (how?)

image

when I browse http://localhost:3333/src I get an empty web page, but I can see the index.html source code :

image

But I also have errors in the console :

GET http://localhost:3333/build/d3-stencil.esm.js net::ERR_ABORTED 404 (Not Found)
manifest.json:1 GET http://localhost:3333/manifest.json 404 (Not Found)
manifest.json:1 Manifest: Line: 1, column: 5, Unexpected data after root element.

Seems to be ionic-team/stencil#1272 , but I can't use Stencil newer than 1.9.2 because of #126 ...

TS Paths not working

I tried to implement TS Paths, but after publishing a new release, I realized that the file src/components.d.ts doesn't recognize the paths or alias. Therefore, I've published a broken version in production.

Investigate why it's happening, and fix it ASAP.

Test is using puppeteer 1.17.0

C:\ae\adaept.com\d3-stencil>npm i

> [email protected] install C:\ae\adaept.com\d3-stencil\node_modules\puppeteer
> node install.js

Downloading Chromium r674921 - 141.6 Mb [====================] 100% 0.0s
Chromium downloaded to C:\ae\adaept.com\d3-stencil\node_modules\puppeteer\.local-chromium\win64-674921
npm WARN rollback Rolling back [email protected] failed (this is probably harmless): EPERM: operation not permitted, rmdir 'C:\ae\adaept.com\d3-stencil\node_modules\fsevents\node_modules'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

updated 1 package and audited 1749623 packages in 38.631s
found 0 vulnerabilities


C:\ae\adaept.com\d3-stencil>npm test

> [email protected] test C:\ae\adaept.com\d3-stencil
> stencil test --spec --e2e --coverage

[17:59.2]  @stencil/core v1.2.3
[17:59.3]  Please wait while required dependencies are updated. This may take a few moments and will only be
           required for the initial run.
[17:59.3]  installing dependency: puppeteer ...
Downloading Chromium r662092 - 140.3 Mb [====================] 100% 0.0s
+ [email protected]
updated 1 package in 40.441s
[18:43.0]  installing dependencies finished in 43.76 s
[18:43.0]  testing e2e and spec files
[18:43.0]  build, d3-stencil, dev mode, started ...
[18:43.5]  transpile started ...
[18:46.0]  transpile finished in 2.46 s
[18:46.0]  generate styles started ...
[18:46.0]  bundling components started ...
[18:46.2]  generate styles finished in 213 ms
[18:48.3]  bundling components finished in 2.31 s
[18:48.4]  build finished in 5.39 s

[18:48.5]  jest args: --coverage --e2e --spec --max-workers=4
 PASS  src/utils/tests/circular-find.spec.ts (5.761s)
 PASS  src/utils/tests/currency-formatter.spec.ts (6.092s)
 PASS  src/utils/tests/formatter.spec.ts (6.402s)
 PASS  src/utils/tests/has-data.spec.ts (6.786s)
-----------------------|----------|----------|----------|----------|-------------------|
File                   |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
-----------------------|----------|----------|----------|----------|-------------------|
All files              |    48.15 |    30.91 |     62.5 |       50 |                   |
 circular-find.ts      |      100 |      100 |      100 |      100 |                   |
 currency-formatter.ts |      100 |      100 |      100 |      100 |                   |
 formats.ts            |      100 |      100 |      100 |      100 |                   |
 formatter.ts          |      100 |      100 |      100 |      100 |                   |
 has-data.ts           |      100 |      100 |      100 |      100 |                   |
 index.ts              |      100 |      100 |      100 |      100 |                   |
 init-slots.ts         |    16.67 |        0 |        0 |    16.67 |... 23,28,29,30,33 |
 object-assign-deep.ts |     2.13 |        0 |        0 |     2.33 |... 3,86,91,97,101 |
-----------------------|----------|----------|----------|----------|-------------------|

Test Suites: 4 passed, 4 total
Tests:       20 passed, 20 total
Snapshots:   0 total
Time:        9.393s
Ran all test suites.


C:\ae\adaept.com\d3-stencil>

method requires async

Update to 1.0.0-beta.5 shows this:

C:\ae\adaept.com\d3-stencil>npm start

> [email protected] start C:\ae\adaept.com\d3-stencil
> stencil build --dev --watch --serve

[01:05.7]  @stencil/core v1.0.0-beta.5

[ WARN  ]  This is a prerelease build, undocumented changes might happen at any time. Technical support is not
           available for prereleases, but any assistance testing is appreciated.

[01:07.3]  build, d3-stencil, dev mode, started ...
[01:07.4]  transpile started ...
[01:09.5]  transpile finished in 2.12 s
[01:09.5]  type checking started ...
[01:09.5]  generate styles started ...
[01:09.5]  bundling components started ...
[01:09.9]  generate styles finished in 380 ms
[01:11.5]  bundling components finished in 2.01 s

[ WARN  ]  @Method requires async: src/components/line-annotations-chart/line-annotations-chart.tsx:37:3
           External @Method() updateGraphData() must return a Promise. Consider prefixing the method with async, such
           as @Method async updateGraphData().

     L36:  @Method()
     L37:  updateGraphData(graphData: GraphData): void {
     L38:    this.graphDataMerged = objectAssignDeep(

[ WARN  ]  @Method requires async: src/components/horizontal-bar-chart/horizontal-bar-chart.tsx:54:3
           External @Method() updateGraphData() must return a Promise. Consider prefixing the method with async, such
           as @Method async updateGraphData().

     L53:  @Method()
     L54:  updateGraphData(graphData: GraphData<number[]>): void {
     L55:    this.graphDataMerged = objectAssignDeep(

[ WARN  ]  @Method requires async: src/components/legend-chart/legend-chart.tsx:35:3
           External @Method() callOnClick() must return a Promise. Consider prefixing the method with async, such as
           @Method async callOnClick().

     L34:  @Method()
     L35:  callOnClick(
     L36:    callOnClickChild: (data: { label: string; index: number }) => any,

[ WARN  ]  @Method requires async: src/components/tooltip-chart/tooltip-chart.tsx:15:3
           External @Method() tooltip() must return a Promise. Consider prefixing the method with async, such as
           @Method async tooltip().

     L14:  @Method()
     L15:  tooltip(tooltip: any): void {
     L16:    this._tooltip = select(tooltip);

[ WARN  ]  @Method requires async: src/components/tooltip-chart/tooltip-chart.tsx:21:3
           External @Method() show() must return a Promise. Consider prefixing the method with async, such as @Method
           async show().

     L20:  @Method()
     L21:  show(message: string, positions: number[]): void {
     L22:    this._tooltip.transition(transition().duration(200)).style('opacity', 0.9);

[ WARN  ]  @Method requires async: src/components/tooltip-chart/tooltip-chart.tsx:30:3
           External @Method() hide() must return a Promise. Consider prefixing the method with async, such as @Method
           async hide().

     L29:  @Method()
     L30:  hide(): void {
     L31:    this._tooltip.transition(transition().duration(500)).style('opacity', 0);

[ WARN  ]  @Method requires async: src/components/pie-chart/pie-chart.tsx:57:3
           External @Method() updateGraphData() must return a Promise. Consider prefixing the method with async, such
           as @Method async updateGraphData().

     L56:  @Method()
     L57:  updateGraphData(graphData: GraphData<number[]>): void {
     L58:    this.graphDataMerged = objectAssignDeep(

[ WARN  ]  @Method requires async: src/components/bcg-matrix-chart/bcg-matrix-chart.tsx:71:3
           External @Method() updateGraphData() must return a Promise. Consider prefixing the method with async, such
           as @Method async updateGraphData().

     L70:  @Method()
     L71:  updateGraphData(graphData: GraphData<BcgMatrix[]>) {
     L72:    this.graphDataMerged = objectAssignDeep(

[01:11.7]  dev server: http://localhost:3333/
[01:11.7]  build finished, watching for changes... in 4.39 s

D3-Stencil with Ionic/Angular

@edgarordonez

I have done some testing on this.

  1. I found that names such as horizontal-bar-chart would cause breakage when used with Ionic/Angular. So renamed to horizontal-barchart etc.
  2. Polyfills and CustomElements definitions needed adding.
  3. Custom schema needed adding.

I created a POC here for D3-Stencil: https://github.com/peterennis/d3-stencil/tree/ae-d3-stencil

I created an Ionic/Angular app here: https://github.com/peterennis/d3-stencil-angular-typescript

I created npm packages to test here: https://www.npmjs.com/package/ae-d3-stencil

Results:

Capture751
Capture750
Capture749

I am using the latest Stencil 1.9.0-3 so still very much bleeding edge.

The app fails due to wrong injected data.

Can you take a look? Any debugging ideas?

If it is Stencil at fault then I can open a ticket upstream. I am not
familiar enough with debugging at this level for D3-Stencil.

Once this is working we can discuss how to pull it to D3-Stencil directly and
I can continue with React and Vue integration testing.

NOTE: The ae-d3-stencil package appears to work with Stencil.

There are some warnings about using appropriate events that I can look into.

index-0619c45a.js:2471 stencil The state/prop "tooltipEl" changed during "componentDidLoad()", this triggers extra re-renders, try to setup on "componentWillLoad()" 
Element <horizontal-barchart class=โ€‹"hydrated">โ€‹โ€ฆโ€‹</horizontal-barchart>โ€‹ 
New value <tooltip-chart slot=โ€‹"tooltip" class=โ€‹"hydrated">โ€‹โ€ฆโ€‹</tooltip-chart>โ€‹ 
Old value undefined

Capture752

I am thinking that these breaking changes would mean bumping to D3-Stencil v3.0

Let me know your thoughts.

Docs & Examples

As @peterennis and I've said, we have some points to discuss and improve docs, examples, etc.:

  • D3-Stencil as a component in tests apps. (Angular, React, Vue, HTML?).
    Documentation of the process and add details to the website.
    This becomes a working example of Stencil integration for others to reference.

  • Write a Medium post?

  • Blog release?

  • Newsletter info for Ionic?

etc.

SonarQube

I've read a little bit about it, and I think that could be very interesting if we have it into this project to avoid the code-smells, bugs, etc.

I did a little proof of concept, and I found two bugs for now.

d3-stencil sonarqube

So, I'll continue with that, and I'll add it to the pipeline if it's possible before of the v0.0.3 release.

Dual-scale-Chart

See example:

Dual-scale-Chart

I think it should be easy if we based on the current bar-chart.

Paths/Workspaces

I want to avoid imports like: ./../../decorators. So, could be cool add some paths/workspaces into the project as I did in the BitHubLab - React Native, and the imports should be like @d3-stencil/decorators.

How to import a component ?

Sorry for the dumb question, but how do I import a D3-stencil component from my React app ?

I tried many {PieChart} and /components variations, but still

import React from 'react';

import {Graph} from 'd3-stencil'; // OK
import {PieChart} from 'd3-stencil'; // Not OK

CircleCI

At the same time that I'll add SonarQube, I could change .circleci/config.yml to add some workflows and automate the release process.

So maybe, it's is related more o less with #6 and I can do it in the same branch.

Wardley maps

Did you know about Wardley maps?

I've learned about those graphs or techniques in the last BCN Craftmanship, and I found it very interesting, so I'd like to add some structure compatible with the d3-stencil and add those graphs into the catalogue.

I think that we can create a new specific structure for that, for example, as I did in the BGC Matrix, I know that it's a big Issue, but feel free, no pressure, we haven't deadlines here.

We'll be in touch if you want to do this! :)

Improve the documentation

I would like to improve the documentation. For that, I'm thinking to add Docusaurus, so let's do it.

Refactor Interfaces

Refactor IGraph and IGraphData, I'd like to be more clear with the properties that each component has.

Maybe, I can create some breacking changes here.

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.