Comments (16)
Got it working at https://github.com/mpscholten/TestIHPJune22 👍 The permission issue is related to /tmp and I found a fix for that in someone elses repo. Also did some adjustments to skip the direnv allow
from ihp.
The user seems to have to type y a bunch of times to accept substituters - can we automate this?
If I'm not mistaken, you should be able to circumvent those prompts by pre-setting those substituters in the Nix config, e.g. by adding those settings to the Nix config file in the containers. At least in a quick test on my machine Nix notices that and doesn't ask for confirmation.
from ihp.
That'll definitely change some things in deployment and boilerplate that might make it easier to include IHP in containers, yes, although:
- ./start still has this line code which can overwrite
.envrc
:command -v RunDevServer >/dev/null 2>&1 \ || { echo "PATH_add $(nix-shell -j auto --cores 0 --run 'printf %q $PATH')" > .envrc; }
However, if I'm not mistaken (@mpscholten correct me if I'm wrong) that line is only still there because the devenv-stuff isn't released yet. So that'll go away with the release anyway and at least that should be no problem for you, with or without #1705. :)
from ihp.
./start still has this line code which can overwrite .envrc:
This code can be removed
The user seems to have to type y a bunch of times to accept substituters - can we automate this?
This can be automatted by using the --accept-flake-config
flag. E.g. nix develop --accept-flake-config
, or by putting accept-flake-config = true
into the contains nix.conf
from ihp.
Haven't tested GitPod recently. I will try and get back to you :)
from ihp.
I've pushed some commits onto the branch that should fix it 👍
from ihp.
I'm wondering if we should wait until #1705 is complete before continuing on with this?
from ihp.
Okay, so I've tried to keep working on this. For now I've removed most things from the Codespace's config, and I'm trying to do it manually so we can see what errors we're getting. The devcontainer.json
file in the repo I'm testing with is here.
But when I go to run direnv allow
, I'm getting some error related to permissions of the Nix store. It seems like something similar to this comment on an issue in the Nixpkgs repo. It seems like it might be related to how Nix is installed on Codespaces using the Nix Codespaces "feature". Most of the /nix/store
packages seem to be owned by root with the group root. Could this be why it doesn't like it?
Any ideas?
direnv: error /workspaces/TestIHPJune22/.envrc is blocked. Run `direnv allow` to approve its content
@CSchank ➜ /workspaces/TestIHPJune22 (main) $ direnv allow
direnv: loading /workspaces/TestIHPJune22/.envrc
direnv: loading https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc (sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=)
direnv: using flake . --impure
warning: Git tree '/workspaces/TestIHPJune22' is dirty
do you want to allow configuration setting 'extra-substituters' to be set to 'https://digitallyinduced.cachix.org' (y/N)? y
do you want to permanently mark this value as trusted (y/N)? y
do you want to allow configuration setting 'extra-trusted-public-keys' to be set to 'digitallyinduced.cachix.org-1:y+wQvrnxQ+PdEsCt91rmvv39qRCYzEgGQaldK26hCKE=' (y/N)? y
do you want to permanently mark this value as trusted (y/N)? y
[1/0/1 copied (56.8/143.5 MiB), 13.8/34.2 MiB DL] fetching source from https://digitallyinduced.cachix.orgdirenv: ([/usr/bin/direnv export bash]) is taking a while to execute. Use CTRL-C to give up.
[1/1/2 copied (143.5 MiB), 34.2 MiB DL] fetching source from https://digitallyinduced.cach[1/1/2 copied (143.5 MiB), 34.2 MiB DL] fetching source from https://digitallyinduced.cach[1/1/2 copied (143.5 MiB), 34.2 MiB DL] fetching source from https://digitallyinduced.cach[1/1/2 copied (143.5 MiB), 34.2 MiB DL] fetching source from https://digitallyinduced.cach[1/2/3 copied (143.5 MiB), 34.2 MiB DL] fetching source from https://digitallyinduced.cach
error: suspicious ownership or permission on '/nix/store/1bvlqd9gd92s14j4hv4y1876pi8qs9rx-procfile-env' for output 'out'; rejecting this build output
error: 1 dependencies of derivation '/nix/store/2dc9dx4m8gf1myvqzfqinynvl42y5gi3-devenv-up.drv' failed to build
error: 1 dependencies of derivation '/nix/store/qxp9s5rgscqzh3rlqljgcm3lhjy1fxd5-devenv.drv' failed to build
error: 1 dependencies of derivation '/nix/store/nhj5diq7sckwhk0gfj3gm3l7rzlz5v1c-devenv-profile.drv' failed to build
error: 1 dependencies of derivation '/nix/store/0jz22sd30fxch4lq700yzf2c1dispxa7-devenv-shell-env.drv' failed to build
error: getting status of '/workspaces/TestIHPJune22/.direnv/flake-profile.1341': No such file or directory
warning: Git tree '/workspaces/TestIHPJune22' is dirty
ln: failed to create symbolic link '/workspaces/TestIHPJune22/.direnv/flake-inputs//r2ip1850igy8kciyaagw502s3c6ph1s4-source': No such file or directory
direnv: nix-direnv: renewed cache
/home/vscode/.cache/direnv/cas/sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=:103: /workspaces/TestIHPJune22/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc: No such file or directory
direnv: export +XDG_DATA_DIRS
from ihp.
Thank you so much @mpscholten! A few remaining issues:
- When you first boot it up, it runs the server and shows the forwarded ports, but that running server does not appear to be attached to a terminal, making it hard to close!
- This new version tops out at 11.82gb according to Codespaces:
Before this, it would report 9.8gb. This is an issue for a couple of reasons. The obvious one is that GitPod doesn't allow containers this large, so GitPod won't work unless we can shrink that. The other (slightly less important) problem is that Codespaces allows only up to 20gb-months of storage per month, meaning having a container more than 10gb means that you can effectively only have one of them, if you keep it around for the whole month.
from ihp.
Strangely, when I followed the UPGRADE.md
to upgrade an older repo, and it's still doing some weird stuff in Codespaces. 🤔 It's still asking for confirmation of substituters, and cachix doesn't seem to fully work as it is later building IHP from source, even though some other things are being pulled from the digitallyinduced cachix. Any ideas? This is using @mpscholten's new devcontainers.json file.
direnv: loading /workspaces/TEASync/.envrc
direnv: loading https://raw.githubusercontent.com/nix-community/nix-direnv/2.3.0/direnvrc (sha256-Dmd+j63L84wuzgyjITIfSxSD57Tx7v51DMxVZOsiUD8=)
direnv: using flake . --impure
do you want to allow configuration setting 'extra-substituters' to be set to 'https://digitallyinduced.cachix.org' (y/N)? y
from ihp.
I noticed that files in existing repos had the ownership vscode:root
instead of vscode:vscode
, so I tried changing their permissions, no luck. And I tried setfacl -k /workspaces
as well. No luck. I don't see how an existing repo should be any different than one you're creating from the boilerplate! So weird.
from ihp.
When you first boot it up, it runs the server and shows the forwarded ports, but that running server does not appear to be attached to a terminal, making it hard to close!
Good point, there's seems to be no good alternative to the postStartCommand
option here. So in that I'd recommend to just remove that postStartCommand
command from the config.
This new version tops out at 11.82gb according to Codespaces:
I've added this to the IHP 1.1 release task so we don't forget this. There's no good reason that it needs more than 10GB
Strangley, when I followed the UPGRADE.md to upgrade an older repo, and it's still doing some weird stuff in Codespaces.
Can you give me access to the repo where this happens?
from ihp.
Good point, there's seems to be no good alternative to the
postStartCommand
option here. So in that I'd recommend to just remove thatpostStartCommand
command from the config.
Perfect, people can just run devenv up
themselves.
I've added this to the IHP 1.1 release task so we don't forget this. There's no good reason that it needs more than 10GB
A good chance to deal with whatever technical debt might be causing this :)
Can you give me access to the repo where this happens?
Sure, not ready to open-source it but I'll give you access, thank you!
from ihp.
Is the 10gb issue still happening? Might be a bit smaller now due to better cachix caching
from ihp.
@mpscholten can you please try to make a Codespace on the ihp-flakes-second-try
branch in the private repo I added you to? This branch seems to be working great locally on Ubuntu now, but when running direnv allow
, Codespaces still shows some annoying "couldn't build dependency" errors and then devenv
can't be found.
from ihp.
It is still about 11gb when starting a new IHP v1.1 project. Here are the Nix packages that are 10mb or more when starting a brand new IHP project. Can we remove dependency on any of these to get it below 11gb?
1.7G /nix/store/3bdwvhww2hlhqr6hpq7dify68idk4nyh-ghc-9.4.4
700M /nix/store/v0ylfp9fm05n2606ix719yb4kq5k93m7-ghc-9.4.4-doc
622M /nix/store/b322r3k5yq15n5df0qmp4nzyr6a1l6fs-ghc-lib-parser-9.4.4.20221225
504M /nix/store/sh7g6js3ldcpn1xldzia844yqjr1j5ln-ihp-v1.1.0
333M /nix/store/djgcai6ild5nchx70vr9f7lsp4d00qrx-nixpkgs
327M /nix/store/3i5iasvc4035gna928p7iwnmv8nify1k-source
319M /nix/store/0ad473b52045nkvbbx3ach4rbxa53292-source
295M /nix/store/rksi78f7vq2xrfghg6jfg1r5dsa8lbv7-source
256M /nix/store/8sm7wycza5fl6lnsmw11sn4vqkvw4xyh-source
210M /nix/store/aafdki1nf49k5vxq6gx2yabiybk2bjmw-gcc-12.2.0
183M /nix/store/aywlyk2f8fpf48wzb3z48q2hwcjg9w0i-ghc-lib-parser-9.4.4.20221225-doc
182M /nix/store/k4pbsvv217rkx8skfp6lwdk7vqsi9189-cabal-install-3.10.1.0
177M /nix/store/crb94039800bw4myx5jk53gww4vaif4d-lsp-types-1.6.0.0
175M /nix/store/wp1sq1cshmxmbh90wpx03xiwpqx33vzk-Cabal-syntax-3.10.1.0
162M /nix/store/wh2d3syhmb9h7abi01x5pg844l02a2l4-retrie-1.2.2
144M /nix/store/cid5975yr4kl744vm1daggrd9g4sx1xx-ghcide-1.10.0.0
139M /nix/store/ka5mfzdhifvbbxz4kw8rl8fn2hpmjv0h-haskell-src-exts-1.23.1
112M /nix/store/zjvzqrpsg5g3xiaw4rksx7sczw8f1lcm-ihp-v1.1.0-doc
107M /nix/store/qi33wzcgzn8kvqsjnrmkwwv70d4i91qz-Cabal-3.10.1.0
107M /nix/store/iqn44pgsygndqqvwc70z9z1ig9fdadbz-ghc-9.4.4-with-packages
92M /nix/store/fdqpyj613dr0v1l1lrzqhzay7sk4xg87-python3-3.10.10
82M /nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12
77M /nix/store/hl4cak1f0rq6yf29xjymba5iis4cd0i7-apply-refact-0.11.0.0
76M /nix/store/iyjaqpz6knr9pifqnal2wyfjrz65avqi-hie-bios-0.12.0
62M /nix/store/952nmbf1jaq1sq800kkvsz6ck7l526zi-lens-5.2.2
61M /nix/store/76q8jdf5m134zz7430hhi5dril6nkhc2-fourmolu-0.10.0.0
60M /nix/store/zxhdmxwlq3wvji307nsam38k9i763wdc-bhxvnjlx8py6350dmkf325rbiwvb24v3-source
60M /nix/store/pprfx9ffvkng8b4x4mzx4h2q2q5hln3r-ghcide-1.10.0.0-doc
60M /nix/store/bhxvnjlx8py6350dmkf325rbiwvb24v3-source
59M /nix/store/m6kc0wg6zii4bcw0fqxmclgy27ph09va-perl-5.36.0
59M /nix/store/74x7gb001dl7rh7js2aa7vrb5hsz2wx8-perl-5.36.0
57M /nix/store/p5j4dhr8pr6nfi0b1d9fzdpi97hj86al-cryptonite-0.30
57M /nix/store/lly2yvq694sh7yc8mr3kna2zcqm4zl7x-hlint-3.5
56M /nix/store/14cy8ka7r0ma7pjh7k87ym2p41d560f9-vector-0.12.3.1
55M /nix/store/phdkw08437b5jsjs34xlksszjjxb72cm-aeson-2.1.2.1
53M /nix/store/z3krm0kbya3x172jakm93g3792j1vqs1-ormolu-0.5.3.0
50M /nix/store/dz2jvs0p5afc3c2l6y7x12z4q86i05dv-ghc-exactprint-1.6.1.1
46M /nix/store/y3prildfqfhz6pjw15yvdcf9ixg03mpy-floskell-0.10.7
46M /nix/store/p3wmg9a2gg8x6xf62q16inbd6pcmbyh7-cabal-install-3.10.1.0-doc
45M /nix/store/v4j8pc3a38v1whlwncz9mwc6vzlqkwgs-Cabal-syntax-3.10.1.0-doc
42M /nix/store/2jfscfcaifwasx0mi60bwblg2k2a6jnv-hiedb-0.4.3.0
41M /nix/store/zdfahcwijrlr2k23rainfkszazab2nmi-git-2.41.0
38M /nix/store/5kxqiwzdip2i3yhd55bwimjfjijql9lq-tls-1.5.8
37M /nix/store/7xba7v9vibmfa1wif5lf5li5rzi7yacj-icu4c-72.1
36M /nix/store/fw8igjrlwll5pj7gvz5wqszypv67q1hv-lens-5.2.2-doc
34M /nix/store/62l162qm16j43pi3g3w7nnqp1l4b7rlq-Cabal-3.10.1.0-doc
34M /nix/store/28njqxn2gywvz45pfgwim5b2g1dqdymv-systemd-253.2
33M /nix/store/7djy8yqx8hlqvk1cdi2qw9qgw8yzl2vy-basement-0.0.15-doc
32M /nix/store/97ks7rgz4m97vl8j34yc6racmx489yzl-haskell-src-exts-1.23.1-doc
31M /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8
31M /nix/store/1n2l5law9g3b77hcfyp50vrhhssbrj5g-glibc-2.37-8
30M /nix/store/kh6fg6n5189n7k6v1srl8l951hh4hv6a-stylish-haskell-0.14.4.0
30M /nix/store/8mjm7frm8xg3xhshi2brzy1kimibbdf1-basement-0.0.15
30M /nix/store/31kgniiyi2xsidd4rnhgrlr4ls8y6ggq-blaze-html-0.9.1.2
29M /nix/store/rd7vavkbr9h6ms1k4q38jgbxxb56xfjv-hls-refactor-plugin-1.2.0.0
29M /nix/store/f4qnwzv6y0nq8lix33jr5ykkyybs6fxf-binutils-2.40
28M /nix/store/97nla4xnjxn5gi4rfvqx5cdrmvw1sqyj-cabal-install-solver-3.10.1.0
27M /nix/store/y257186v2h7gbsrj0vp6yfh3f568i3ii-ListLike-4.7.8
27M /nix/store/bi66z837fx8zfyms008kbjrxq32sr21s-generic-deriving-1.14.3
26M /nix/store/z44kwkx2893pgmwhsq7gl3mlwsz6lfs5-monoid-subclasses-1.1.3
26M /nix/store/jlfdd87nfb0gi34g7ppxlhbz8gqynych-postgresql-14.7
26M /nix/store/178kjh02vs7742m6d7nd7mzlwvn3kzx9-stack-2.9.1
25M /nix/store/jmrvcdyy92895psz5z6iixh2caa0jjar-algebraic-graphs-0.6.1
25M /nix/store/akklkz061wkajq8kjywl66wragx7vmsz-cabal-install-solver-3.10.1.0-doc
25M /nix/store/4bds9hkfjyqxdax4rkskqr2dbjff4sjf-nixexprs.tar.xz
24M /nix/store/ksv5ib9nyv6wp6n4b7gc00j7arh2wbim-postgresql-13.10
24M /nix/store/8r50kv7qqs38ynbjmlzlicqvdqyja5zi-mono-traversable-1.0.15.3
23M /nix/store/vgjkvix3gvgid5jzr69h9wqjb7yclk0f-postgresql-simple-0.6.4
23M /nix/store/h5pjcpqin401br7z3c7q37bzdgxmg631-ihp-hsx-v1.1.0
23M /nix/store/6hcj2bzx06axlmbn2pdp1a0znfahfzl9-postgresql-13.10-debug
22M /nix/store/rhy1q3hwzk0sir13v1xcyv646mli3g4z-vector-0.12.3.1-doc
22M /nix/store/l1s3p2pdbarlilnwxixlp24rq66m3wh5-free-5.1.10
22M /nix/store/kf0psq8gfjsycq41sj28qy9fgcph1pkp-minio-hs-1.6.0
20M /nix/store/vnh3xlgvg0sjdj20gs3gw64b72mg7xxv-http2-3.0.3
20M /nix/store/kmr71c1xb2309zz7r58dcvkds6nwsjn0-cabal-install-3.10.1.0
20M /nix/store/dmx4rf6gy2slzhyg1aa8izap883ylrac-cachix-1.6
20M /nix/store/3hrvhnba3zkspyc2659ak5qc7lf2xxzh-QuickCheck-2.14.2
20M /nix/store/0rkzs37kqp3vsx2ijay5mfp3a7rwlb9p-HsYAML-0.2.1.1
19M /nix/store/xa9w9nisvp4fjc4z87c22cn706mp60p1-regex-tdfa-1.3.2
19M /nix/store/38xnnsgz3fy901hsnnvh3k0rcwi6f4ln-hackage-security-0.6.2.3
19M /nix/store/2jcy8643apn2p4gwfm25cvyfldvzi3xn-hspec-core-2.10.10
18M /nix/store/a9h0s5x0na38wl2rjqym6wdffshpavlp-attoparsec-0.14.4
18M /nix/store/3wqasl97rjiza3vd7fxjnvli2w9l30mk-nix-2.17.0
18M /nix/store/233cpkbrgh4axicgw9rl6npv8skx45nm-cryptonite-0.30-doc
17M /nix/store/gqvnvzv8r5x60fmix56alhnbq4ih1r9w-postgresql-13.10-doc
17M /nix/store/aaaxdfsw4gfpm8xy8xmsin5vndzmnwf8-hls-eval-plugin-1.5.0.0
17M /nix/store/1x6hmi7yj8kfmfxzmig642xrihyhy22d-lsp-types-1.6.0.0-doc
16M /nix/store/npq3fym27zpd14fnqjwxvqyhw0s82v5c-git-2.41.0-doc
16M /nix/store/7xqgzmjl2j1ds100af5ly5fmjbm5z7pg-bifunctors-5.5.15
16M /nix/store/6sm81qw470pg0viqprhycgns6vww7r2w-vector-algorithms-0.8.0.4
16M /nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163
15M /nix/store/fc45k2askr2gi7xwyyzkw3mr1qnvkr4r-megaparsec-9.2.2
15M /nix/store/cgan9crcc31v0b6ddfgnb6d7hfprhzjb-relude-1.1.0.0-doc
15M /nix/store/75qxmyz1g4zlrl06pabw7zv8bblk5xwq-aeson-2.1.2.1-doc
14M /nix/store/v85s2wqc9mshfa3hyvbq5za32xgn6q56-xml-conduit-1.9.1.2
14M /nix/store/s6b3nh66p6rg1zclrs5wp9dmyn2igfr6-cmdargs-0.10.22
14M /nix/store/n9l9gi3rim9i1hw043bfn9s5g0khph33-semigroupoids-5.3.7
14M /nix/store/cqzx3mjycr8gnbkr53whjkvjdcgmj3cy-classy-prelude-1.5.0.2-doc
14M /nix/store/7kf6zyynraia2mcnz3k6z5xr9p3nds12-systemd-minimal-253.2
14M /nix/store/72fkfq7yncf6jjpmlcqc53b6w2kd8agj-haskell-lexer-1.1.1
14M /nix/store/3h39sadqn486i80zkgqnsp7jkr890qhg-conduit-1.3.4.3
14M /nix/store/1bcx26cr3dah148p41v4c7g2vfh2ajdr-retrie-1.2.2-doc
13M /nix/store/929nivdrkpl0d7qbl7x7hg1vnpxjc3sk-direct-sqlite-2.3.28
12M /nix/store/zlv7s5ghsszdhcixvj8nyzwqc6qrc17i-polyparse-1.13
12M /nix/store/w3lxa9rsb96kwn2873nyca95q813h03g-mime-types-0.1.0.9
12M /nix/store/kln5fj0gz4sp44sidx6drrqbkj1wvvr9-profunctors-5.6.2
12M /nix/store/j52nkd7h7d0p8sm4j9vi81isql2rswg1-algebraic-graphs-0.6.1-doc
12M /nix/store/f36sxag0ij1b8sffpixnqgflfaafifyl-nix-2.14.1
12M /nix/store/b0b27kmdiz1fz6vsvpks0af1mzp9l5l9-http-client-0.7.13.1
12M /nix/store/6y5rqs0mi0ppdnw4sqv1ba0rd3gzvmnp-HTTP-4000.4.1
11M /nix/store/ykd3rl3ww5mhr3az5bqsbyvlr4ir4rhq-resolv-0.1.2.0
11M /nix/store/sw0785x1pfvg15lh1rllkn4460w3cw1s-crypto-pubkey-types-0.4.3
11M /nix/store/hjybnkwbpqlif1vg90lf1lj9gqm5zyw7-apply-refact-0.11.0.0-doc
11M /nix/store/g8n2hhxcrz4b5j0j3i285jp920zb6cbi-tls-1.5.8-doc
11M /nix/store/9c58ab6p53zlmh07zg91xxblkay1rls0-devenv-profile
11M /nix/store/0g4k2xhywbqw2hzbxw12xqlx8kww7wdz-blaze-html-0.9.1.2-doc
10M /nix/store/02c5jc8i87wicxvgljvx9jhrmiz8svwf-ip-1.7.6
from ihp.
Related Issues (20)
- Add `orderByStringCaseInsensitive` to order string? HOT 1
- Is IHP useful when the application requires a graph database? HOT 2
- Update old ihp forum links in documentation to discuss.ihp.digitallyinduced.com
- Fix GitHub actions HOT 2
- create and updateRecord throw exception when there is generated column
- "502 Bad Gateway" when `respondHtml` endpoint misses parameter
- IHP Contributor Calls HOT 3
- enable only docs workflow when changes made to md files
- Add documentation to Emacs section
- Compiling IHP app with optimizations - Simplifier ticks exhausted error HOT 7
- HSX - Wildcard pattern not implemented
- Not in scope: type constructor or class HOT 1
- Issues with authentication cookies? HOT 1
- IHP v1.2 Release HOT 1
- Fix memory leaks
- `deploy-to-nixos ihp-app` for a project without `Migration` HOT 9
- error: found circular import of flake 'github:digitallyinduced/ihp/v1.2' HOT 2
- No 'processes' option defined HOT 9
- Add `queryOrList` to `IHP.QueryBuilder` HOT 1
- Extend FilterWhere to match the ones we have in DataSync
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ihp.