bencoveney / barrelsby Goto Github PK
View Code? Open in Web Editor NEWAutomatic TypeScript barrels (index.ts files) for your entire code base
License: MIT License
Automatic TypeScript barrels (index.ts files) for your entire code base
License: MIT License
2.6.2
to 2.6.3
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
rimraf is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 6 commits.
9442819
2.6.3
42fe369
autopublish scripts
21fd3df
bin test
8f1d3a1
update tap and glob for security stuff
f0bc3a1
update tap, add package-lock
692022b
travis node version updates
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Hey!
This tool looks really interesting, however I am bad at Node JS stuff so I don't exactly know how to use it. I have a large Angular 4 project and I don't really understand why there isn't some way to automatically generate index.ts files for specific directories? Maybe I could use this tool somehow to sweep the project and create these for me.
Maybe quite a large undertaking...
There are currently 2 different barrel builders and adding alternate ones requires changes to the Barrelsby library. This would be a problem for anyone using different linting rules or coding styles.
It would be good to allow people to specify their own barrel building logic similar to how tslint allows you to specify custom formatters.
I think this would require the following:
1.5.1
to 1.5.2
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
dir-compare is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 3 commits.
3adafdf
v1.5.2
191c217
Add option to ignore line endings and white space differences #10
9b04500
Add codecov badge
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
// library.ts
export default class DummyClass {
}
barrelsby generates the following
// index.ts
export * from './library';
Problem is that default export from library.ts is not available through index.ts
.
It should generate this if think.
// index.ts
export * from './library';
import librarydefault from './library';
export default librarydefault
Of course, it'll cause problem if multiple modules have default exports, but anyway it's up to the developer to take care of this, as it's up to him to avoid duplicate names in the whole project.
Maybe we could implement some magic comment like the following ?
// library.ts
export default /** @barrelsby:default */ class DummyClass {
}
Then this class would be exported as default in index.ts
file.
Branch | Build failing π¨ |
---|---|
Dependency | @types/node |
Current Version | 7.0.13 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As @types/node is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Hi there,
thanks for barrelsby!
I run it like the following:
barrelsby --delete --exclude 'node_modules|dist'
This works. But if I had an unrelated index.ts file with application-level code, e.g. in src/models/index.ts
, it will get deleted.
Is is a known issue?
I guess that a workaround could be renaming the affected file.
Victor
Branch | Build failing π¨ |
---|---|
Dependency | @types/node |
Current Version | 8.0.17 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As @types/node is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Branch | Build failing π¨ |
---|---|
Dependency | mocha |
Current Version | 3.2.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As mocha is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
Thanks to all our contributors, maintainers, sponsors, and users! β€οΈ
As highlights:
--inspect-brk
on command-line (@igwejk)semistandard
directly (@kt3k)The new version differs by 89 commits0.
fb1687e
:ship: Release v3.3.0
1943e02
Add Changelog for v3.3.0
861e968
Refactor literal play-icon hex code to a var
1d3c5bc
Fix typo in karma.conf.js
9bd9389
Fix spec paths in test HTML files
0a93024
Adds tests for loading reporters w/ relative/absolute paths (#2773)
73929ad
Comment special treatment of '+' in URL query parsing
e2c9514
Merge pull request #2769 from igwejk/support_inspect_break_in_opts
038c636
Support --inspect-brk
on command-line
b4ebabd
Merge pull request #2727 from lamby/reproducible-build
882347b
Please make the build reproducible.
a2fc76c
Merge pull request #2703 from seppevs/cover_utils_some_fn_with_tests
ed61cd0
cover .some() function in utils.js with tests
f42cbf4
Merge pull request #2701 from craigtaub/landingSpec
6065242
use stubbed symbol
There are 89 commits in total.
See the full diff
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Would you accept a PR for a new builder that aliases the exports by the camelCase name of the file?
export * as camelCaseModule from './components/directory/camel-case-module';
See #79 for an example use case.
I won't think anyone would ever want to run barrelsby on their node_modules
folder
Barrelsby should identify the files it has created. This will help inform users, and also allow barrelsby to more safely delete barrel files.
Branch | Build failing π¨ |
---|---|
Dependency | tslint |
Current Version | 5.4.3 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As tslint is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
Editor's note: This release features an important bugfix for overlapping fixes when using --project
and --fix
(#2864).
completed-docs
: Add enum-members
option (#2911)no-this-reassignment
(#2931)encoding
closes files correctly (#2958)whitespace
fix whitespace "check-module"
to properly lint and fix errors (#2401) (#2825)whitespace
: now correctly handles dynamic imports introduced in [email protected] (#2924)switch-final-break
: don't fail if break jumps to a label outside of the switch (#2914)no-shadowed-variable
: exempt this
parameter (#2598)prefer-for-of
correctly handles variable scopes and other unrelated identifiers (#2984)no-unused-variable
autofix removes whole import (#2901)-v
option (#2926)no-empty
(#2886)prefer-const
: handle destructuring in for-of loop initializer as if {"destructuring": "all"}
was specified (#2904)no-shadowed-variable
: added checks for other shadowing declarations, e.g. interfaces, classes, type parameters, imports, etc. (#2598)no-shadowed-variable
no longer fails for declarations in the same scope, e.g. var foo; var foo;
. Use the rule no-duplicate-variable
to find such errors. (#2598)Thanks to our contributors!
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Currently barrelsby only uses unix-style separators in any paths in barrel files.
Is there any benefit to allowing the separator style to be configured?
Possible options:
3.2.0
to 3.2.1
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
@types/sinon-chai is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Haven't used these personally so am unsure if barrelsby will be compatible with them at this stage.
If barrelsby doesn't work with the .tsx
files then that will need to be resolved first. Additional we should add .tsx
files to the unit tests and documentation once it is definitely supported.
Not sure of a circumstance where someone would want to utilise the barrelsby code but as a good practice we should still be publishing typescript typings.
Branch | Build failing π¨ |
---|---|
Dependency | sinon-chai |
Current Version | 2.9.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As sinon-chai is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
Added the calledImmediatelyBefore()
and calledImmediatelyAfter()
asserters.
The new version differs by 3 commits0.
9aa5a73
Version 2.10.0
4d32c50
Add a test showing that #94 is not a problem
f0628a1
Add calledImmediatelyBefore/calledImmediatelyAfter
false
See the full diff
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Hey, I've been having this problem for a while. barrelsby
will break any build process that uses it on Linux due to bad line endings on #! /usr/bin/env node
in barrelsby/bin/index.js
:
I can get around this by installing the dos2unix on my Linux distro, which takes a file and converts its line endings to a unix format. After installing that I can run dos2unix node_modules/barrelsby/bin/index.js
before running barrelsby
, which fixes the problem but it'd be better if it was fixed in the package itself.
Globs are a better format when including/excluding files. The include/exclude flags should be updated to support globs rather than regular expressions.
This will probably require a major version change as people's existing configurations will be invalidated.
Rather than using the include/exclude options someone may want to identify files that should/shouldn't be included by marking them with a header at the top of the file. This is along the lines of tools like istanbul and tslint that allow checks to be disabled using a comment.
Should this be a predetermined string? I am not sure of any use cases where someone would need to use their own format.
I assume as well that users could have some other restriction on the content of the first line in the file so perhaps it should be looked for anywhere within the file.
Branch | Build failing π¨ |
---|---|
Dependency | @types/sinon |
Current Version | 2.1.2 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As @types/sinon is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Possibly someone might want to have the barrels names after the directory they live in, for example form/controls/controls.ts
rather than form/controls/index.ts
If this flag is enabled then should the name option be used for the root barrel or in cases where there is no resolvable directory name?
I wish generated barrel files would have some comment header, like
// Generated by barrelsby.
And an option to customize this default header.
12.0.2
to 12.0.3
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
@types/yargs is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Currently the barrelsby code loads information about all files it sees in the directories. This is built into a model and then passed through the entire application. This could be tidied up by applying the checks earlier in the process to see if a file is typescript, included or excluded.
Branch | Build failing π¨ |
---|---|
Dependency | @types/mocha |
Current Version | 2.2.40 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As @types/mocha is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Branch | Build failing π¨ |
---|---|
Dependency | @types/chai |
Current Version | 3.5.1 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As @types/chai is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
7.0.2
to 7.0.3
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
@types/sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
5.0.5
to 5.0.6
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
@types/sinon is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Hello,
Is this software production-ready? For my use case it seems to be working perfectly. Our department standards prohibit me from using software that's not at least 1.0. Do you feel like this software is stable and bug-free, and if so will you release it as 1.0.0?
Thanks,
froodley
When using the --delete and --exclude options, index files excluded by the filter are still deleted. It looks like deletes happen before exclusion filters are accounted for.
Here are the relevant lines from the log:
Deleting existing barrel @ D:/SRC/Redacted/portal/src/state/ducks/displayTemplate/index.ts
...
D:/SRC/Redacted/portal/src/state/ducks/displayTemplate/index.ts is excluded by /.*\.d\.ts|.*\/ducks\/.*\/.*/
Hi,
Is there a way to generate child directory barrels and have the parent directory export from the child barrel? Rather than mentioning all the exports in the main directory barrel.
src/app/shared
contains directories services
and enums
. Run barrelsby
on src/app/shared
and have it recursively generate barrels from bottom-up. So, this would generate barrel for src/app/shared/services
then src/app/shared/
barrel will just be a:
export * from './services';
While the child barrel (src/app/shared/services/index.ts
) will contain all the individual exports like:
export * from './logger.service';
export * from './state.service';
Awesome job with the project π .
Thanks
https://codecov.io/gh/bencoveney/barrelsby
We are only really interested about coverage of the TypeScript source files.
Branch | Build failing π¨ |
---|---|
Dependency | sinon |
Current Version | 2.1.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As sinon is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
The new version differs by 40 commits0.
f7ff840
Update docs/changelog.md and set new release id in docs/_config.yml
59a7a34
Add release documentation for v2.2.0
37676e8
2.2.0
b35d217
Update Changelog.txt and AUTHORS for new release
0127365
Merge pull request #1363 from greena13/master
4fe0a73
Flatten structure of getWindowLocation()
38e3ec4
Fix matchers.md in v1.17.6 and v1.17.7 releases. (#1379)
3d4bc16
Merge pull request #1364 from blacksun1/add-custom-promise
7ac4f60
Fixes for pull request comments
25bfde0
Added docs for usingPromise
0a3518f
Added usingPromise
method to sandbox.
17edad7
Added usingPromise
method to stub.
c5bc9ab
Merge pull request #1359 from kevincennis/kce/fix-1066
c633202
Merge pull request #1320 from ashirley/master
17c2639
Merge pull request #1366 from GProst/master
There are 40 commits in total.
See the full diff
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Barrelsby could potentially encounter a scenario where it is trying to create a barrel for a directory that doesn't contain any modules (either it is empty or it is only contains non-typescript files).
When this happens what is the best thing to do? Should we create an empty barrel or not create a barrel at all?
If there are valid reasons for both then perhaps this behavior should be controllable via a config option.
There are a couple of aspects of Barrelsby that I think could be improved by the ability to hook into they TypeScript compiler's module resolution.
barrelsby
includes new .ts
files before the TypeScript compiler can start compiling them as part of your application.It would be great if we could hook into the TypeScript compiler's module resolution so that:
Potentially this could be achieved using one of the following methods:
Distributing an extended TypeScript compiler may come with its own issues:
Branch | Build failing π¨ |
---|---|
Dependency | mock-fs |
Current Version | 4.6.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
mock-fs is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 15 commits.
8f84cc7
4.7.0
c463fde
Log changes
7c224b0
Merge pull request #252 from tschaub/updates
5e68c29
Merge pull request #247 from tricoder42/patch-1
f54a322
Merge pull request #249 from maxwellgerber/fix/buffer-copy
15df910
Remove dev dependency on minimatch
b81c39b
Merge pull request #251 from maxwellgerber/fix/dirent-patch
38ca5db
binding.readdir can take anywhere from 2 to 4 arguments
29f82dc
Add tests for reading and writing using Uint8Array
a90b7ac
docs: add note about snapshot testing
28d65a7
Remove redundant check
076fca8
Merge pull request #242 from maxwellgerber/patch/open-directory-error
f8e4eb6
add tests
e363112
Limit package contents
b3e86cb
Throw error when a directory is opened
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
10.11.0
to 10.11.1
.π¨ View failing branch.
This version is covered by your current version range and after updating it in your project the build failed.
@types/node is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Tests are fine but mock-fs
has a bug.
Can be worked around with nvm - https://github.com/coreybutler/nvm-windows
I've recently run into a use case where it could be great to be able to specify multiple directories to apply a barrel pattern for, and I'd like to get your input on this.
Let's say I have the following directory structure:
helpers/
...
src/
components/
collections/
containers/
layouts/
models/
barrelsby.json
The two primary candidates are helpers/
and src/components/
. In fact, I might go as far as to only barrel the subdirectories of components/
for import clarity. What I mean by this, is that I want to be clear that I'll be importing { Header }
from components/containers
instead of just at components/
.
Would you then suggest using multiple scripts with multiple barrelsby.json
files, or would it be possible to add the ability to specify multiple directories?
I could use the below
option, but it will not generate an index.ts
for each successive subdirectory, so I've chosen to use all
in order to obtain the benefit of having those nested index files be generated for me. However, I now have a topmost-level index.ts
that I don't necessarily want there.
Currently all barrel files use relative import paths.
If someone is using the baseUrl tsconfig option they may want their barrel files to have absolute-style import paths. We should allow an equivalent setting and eventually be able to infer it by looking at a tsconfig file.
Add the ability to have Barrelsby run in watch mode. Should be possible to enable this using a -w or --watch command line flag. Barrelsby should watch for any file changes and re-run to generate the barrel files again. There are many "watch" node modules that could be utilized to accomplish this.
Some settings in tsconfig files map across to Barrelsby settings:
It would be good to allow a --project option or similar. This would allow people to include the options from the tsconfig file and avoid settings duplication in the barrelsby config file.
Installing this module via NPM fails.
MacBook-Pro:plo-canvas user$ npm install barrelsby
npm ERR! Darwin 16.5.0
npm ERR! argv "/usr/local/Cellar/node/7.10.0/bin/node" "/usr/local/bin/npm" "install" "barrelsby"
npm ERR! node v7.10.0
npm ERR! npm v4.2.0
npm ERR! path /Users/user/Developer/project/node_modules/barrelsby/bin/index.js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod '/Users/user/Developer/project/node_modules/barrelsby/bin/index.js'
npm ERR! enoent ENOENT: no such file or directory, chmod '/Users/user/Developer/project/node_modules/barrelsby/bin/index.js'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
I don't know for sure, but from what I've gathered, NPM is using your .gitignore file as the .npmignore file. You should use a separate .npmignore file.
This project is currently running on CircleCI 1.0 which will no longer be supported after August 31, 2018. Please start migrating this project to CircleCI 2.0.
Branch | Build failing π¨ |
---|---|
Dependency | typescript |
Current Version | 2.3.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As typescript is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
For release notes, check out the release announcement
For new features, check out the What's new in TypeScript 2.3.
For breaking changes, check out the Breaking changes in TypeScript 2.3 page.
For the complete list of fixed issues, check out the issues fixed in TypeScript 2.3 RC and after TypeScript 2.3 RC.
Download:
Special thanks to all contributors to this release:
The new version differs by 346 commits0.
47e5569
Update LKG
9ada915
Merge pull request #15381 from Microsoft/revert15104
fe0a307
Revert "Treat callback parameters as strictly covariant"
96a3c91
Revert "Fix callback types to match covariantly"
70bb2d3
Revert "Accept new baselines"
3abd0c8
Revert "Add tests"
42d6a9c
Revert "Check callback return values bi-variantly"
d581bed
Revert "Accept new baselines"
cf17be2
Revert "Add another test case"
e86512e
Revert "Allow callbacks unioned with null and/or undefined"
22647bb
Revert "Update tests"
8a85f4a
Update LKG
3c3b73e
Merge branch 'master' into release-2.3
a0abadb
Merge pull request #15320 from Microsoft/fixTypePredicateThisParameter
5783435
Merge pull request #15330 from gcnew/exportConsts
There are 250 commits in total.
See the full diff
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Branch | Build failing π¨ |
---|---|
Dependency | mock-fs |
Current Version | 4.2.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
As mock-fs is βonlyβ a devDependency of this project it might not break production or downstream projects, but βonlyβ your build or test tools β preventing new deploys or publishes.
I recommend you give this issue a high priority. Iβm sure you can resolve this πͺ
The new version differs by 4 commits0.
e3186d6
Log changes
f7a77ee
4.3.0
c3683ec
Merge pull request #207 from tschaub/mkdtemp
663ef1d
Support for fs.mkdtemp and fs.mkdtempSync
false
See the full diff
There is a collection of frequently asked questions and of course you may always ask my humans.
Your Greenkeeper Bot π΄
Hi Ben
I forked the repo to have a look at ignoring empty barrels, but I get an error running the tests on Windows
'info lifecycle [email protected]~test: Failed to exec test script'
looks like a problem spawning a process - not sure
anyhoo, running npm update fixes this and gets rid of a vulnerability warning in brace-expansion (https://nodesecurity.io/advisories/338)
these are the resulting changes
https://github.com/MrAntix/barrelsby/commit/573a062a23e562981f3fa371af338fc79ddefd96
Are you happy for me to PR the update? Ant
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.