nestjs / schematics Goto Github PK
View Code? Open in Web Editor NEWNest architecture element generation based on Angular schematics ๐ฌ
Home Page: https://nestjs.com
License: MIT License
Nest architecture element generation based on Angular schematics ๐ฌ
Home Page: https://nestjs.com
License: MIT License
Need to update the module finder to find the module in the right folder
[ ] Regression
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
When Prettier has formatted app.module.ts
to make imports from @nestjs/common
multi-line, new module generation fails.
Before:
import {
Module,
NestModule,
MiddlewareConsumer,
RequestMethod,
} from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ExamplesModule } from './examples/examples.module';
import { OpaModule } from './opa/opa.module';
import { ConfigModule } from './config/config.module';
import { HealthModule } from './health/health.module';
import { JwtDecoder } from './jwt/jwtDecoder.middleware';
import { StatsDMiddleware } from './stats-d/stats-d.middleware';
import { StatsDModule } from './stats-d/stats-d.module';
import ormconfig from './db/config';
@Module({
imports: [
TypeOrmModule.forRoot(ormconfig),
ExamplesModule,
OpaModule,
ConfigModule,
HealthModule,
StatsDModule,
],
})
export class AppModule implements NestModule {
public configure(consumer: MiddlewareConsumer): void {
consumer
.apply(StatsDMiddleware, JwtDecoder)
.forRoutes({ path: '*', method: RequestMethod.ALL });
}
}
After running nest g mo ExamplesSearch
:
import {
import { TypeOrmModule } from '@nestjs/typeorm';
import { ExamplesModule } from './examples/examples.module';
import { OpaModule } from './opa/opa.module';
import { ConfigModule } from './config/config.module';
import { HealthModule } from './health/health.module';
import { JwtDecoder } from './jwt/jwtDecoder.middleware';
import { StatsDMiddleware } from './stats-d/stats-d.middleware';
import { StatsDModule } from './stats-d/stats-d.module';
import { ExamplesSearchModule } from './examples-search/examples-search.module';
Module,
NestModule,
MiddlewareConsumer,
RequestMethod,
} from '@nestjs/common';
import ormconfig from './db/config';
@Module({
imports: [
TypeOrmModule.forRoot(ormconfig),
ExamplesModule,
OpaModule,
ConfigModule,
HealthModule,
StatsDModule,
ExamplesSearchModule,
],
})
export class AppModule implements NestModule {
public configure(consumer: MiddlewareConsumer): void {
consumer
.apply(StatsDMiddleware, JwtDecoder)
.forRoutes({ path: '*', method: RequestMethod.ALL });
}
}
I would expect the code generation to not to produce invalid syntax.
See above.
n/a
_ _ _ ___ _____ _____ _ _____
| \ | | | | |_ |/ ___|/ __ \| | |_ _|
| \| | ___ ___ | |_ | |\ `--. | / \/| | | |
| . ` | / _ \/ __|| __| | | `--. \| | | | | |
| |\ || __/\__ \| |_ /\__/ //\__/ /| \__/\| |_____| |_
\_| \_/ \___||___/ \__|\____/ \____/ \____/\_____/\___/
[System Information]
OS Version : macOS Mojave
NodeJS Version : v10.16.1
YARN Version : 1.17.3
[Nest Information]
@nestjsx/crud-typeorm version : 4.2.0
platform-express version : 6.0.0
@nestjsx/crud version : 4.2.0
swagger version : 3.1.0
typeorm version : 6.1.3
common version : 6.0.0
core version : 6.0.0
[ ] Regression
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
When using npm run start:prod
to run the app, NODE_ENV
is not set to production
.
When using npm run start:prod
to run the app, NODE_ENV
is set to production
.
Create a new nest application, choosing the typescript option. Run npm run start:prod
.
When using .env
files, I would like to load a different .env
file for production.
Nest version: 6.0.0
For Tooling issues:
- Node version: 11.13.0
- Platform: Linux
Starting a new project includes an anti-pattern concerning the handling of configuration. Specifically, src/main.ts
has the app listen on a hardcoded port.
E.g.
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
On its own this is a seemingly small thing, but it elevates the risk of projects neglecting one of the tenants of The Twelve-Factor App:
Store config in the environment
A consumer of the framework would need to be aware of this anti-pattern and discover the documentation recommending how to properly handle configuration with Nest.
Instead of the app listening to a hardcoded port, use a ConfigService
class as suggested in the docs to pull the port from the environment.
Documentation should also link users to the page on configuration techniques.
Start a new project with Nest's CLI (nest new project
) and see that src/main.ts
has hardcoded port.
Two motivations for this feature request:
@nestjs/cli: 5.8.0
@nestjs/common: 5.4.0
@nestjs/core: 5.4.0
Instead of nestcli.json
, we should create nest-cli.json
by default. Unfortunately, all my changes have been reverted :( https://github.com/nestjs/schematics/pull/94/files
[ ] Regression
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
When using command nest new <appname>
to generate new app,
and executing yarn test:cov
executing jest with coverage report.
the coverage report folder will be generated under <projectDir>/src/coverage
.
which can not ignored by default .gitignore
rules /coverage
coverage report dirs should be ignored by default.
e.g
should update /coverage
in .gitignore
to coverage
?
please use below command to generate new application and run
nest new some-app
cd some-app
yarn test:cov # or npm test:cov
git status
Nest version: 6.12.9
For Tooling issues:
- Node version: 12.13.1
- Platform: Mac
Others:
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
Right now we are using .ts and .js files in schematics, Angular has already move to .template to avoid the compilation issue.
Move the schematics to .template.
Nest version: X.Y.Z
For Tooling issues:
- Node version: XX
- Platform:
Others:
CLI should follow starter project: https://github.com/nestjs/typescript-starter
(missing .gitignore
, configuration files like tsconfig.spec.json
and so on).
[ ] Regression
[X] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
Now, as you change to ESLint, when you generate a new project the .eslintrc.js file is missing, but it is present at schematics/src/lib/application/files/ts
The same behaviour is happening with .prettierrc file.
When you create a new Nest application, the .eslintrc.js file should be present.
Create a new application using the nest new command.
Nest version:
ฮป nest info
_ _ _ ___ _____ _____ _ _____
| \ | | | | |_ |/ ___|/ __ \| | |_ _|
| \| | ___ ___ | |_ | |\ `--. | / \/| | | |
| . ` | / _ \/ __|| __| | | `--. \| | | | | |
| |\ || __/\__ \| |_ /\__/ //\__/ /| \__/\| |_____| |_
\_| \_/ \___||___/ \__|\____/ \____/ \____/\_____/\___/
[System Information]
OS Version : Windows 10
NodeJS Version : v12.14.1
NPM Version : 6.13.4
[Nest CLI]
Nest CLI Version : 6.14.1
[Nest Platform Information]
platform-express version : 6.10.14
common version : 6.10.14
core version : 6.10.14
For Tooling issues:
- Node version: 12.14.1
- Platform: Windows
Others:
Package manager: yarn
Language: Typescript
AS a user I WANT TO generate unit test file WHEN I generate an element
Is there any argument against this change ?
Building and testing still works as expected.
In tsconfig.json
change baseUrl
from ./
to ./src
{
"compilerOptions": {
"baseUrl": "./src"
}
}
This will allow us to use absolute paths without src
prefix:
BEFORE
import { UserModel } from 'src/models';
AFTER CHANGE
import { UserModel } from 'models';
file I'm talking about: https://github.com/nestjs/schematics/blob/master/src/lib/application/files/ts/tsconfig.json
[ ] Regression
[ ] Bug report
[x] Feature request
[x] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
main.hmr.ts
file makes people confused. CC nestjs/nest#1140
Add explanatory comments to the main.hmr.ts
file OR remove it by default.
To help prevent future new user confusion.
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
Currently, the all the schematics use .spec.{ts,js}
as a suffix for the test files.
There is a configuration option (probably threaded through the cli from .nestcli.json
to switch the test suffix from .spec.{ts,js}
to .test.{ts,js}
.
It's pretty common practice to give test files the suffix .test.{ts,js}
(in fact, the tests for this very project itself follow that pattern). Could we add an option to make this configurable?
Hi guys, and good job here!
What is the status of this project regarding to https://github.com/nestjs/nest-cli
Which one to use right now?
Status should be clarified in top of both projects, and integrated to the main documentation.
AS a developer I WANT TO have a better Webpack + HMR configuration IN ORDER TO have a better development environment.
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request
CLI schematics are in dependencies.
Schematics should be in the CLI source code.
Nest version: X.Y.Z
For Tooling issues:
- Node version: XX
- Platform:
Others:
AS a user I WANT TO have a CLI configuration file WHEN I generate a new project.
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request
NestJS schematics are currently incompatible with Nx.
As per the pull request by @FallenRiteMonk over at the Nx repository, NestJS should be compatible with Nx.
@FrozenPandaz mentioned that they have reached out to @kamilmysliwiec regarding the above mentioned pull request, and that he has expressed interest in making this happen. Whether that comes to fruition is to be decided, but I was hoping to at least start a conversation, as both Nx and NestJS are invaluable assets to many of us.
Nest version: 5.4.0
AS a user I WANT TO generate the route path WHEN I generate a controller element
Now, when you use the application schematic, you only are able to create a Typescrit new project. Maybe if you add a parameter to choose between typescript and JavaScript will be useful for some ppl that dont want to use typescript. This is nothing strange, at nestjs official documentation you have a guide for this.
In my opinion, choose JavaScript instead typescript is a bad idea, but some ppl dont like or dont want to change to typescript. What is your opinion? It's just a suggestion and I want to know if you have any plan for JavaScript.
Thx 4 ur time.
Guards/Filters/Interceptors[..] are generated in the dedicated directories, for example, http-filter
is generated in the following manner:
./src/http-filter/http-filter.filter.ts
Guards/filters/interceptors/middlewares should be generated without their directories, example:
./src/http-filter.filter.ts
That's the convention set out in the docs
As GraphQL is one of the most uprising technologies, please add a Resolver schematic :)
AS a user I WANT TO have a prepared .gitignore WHEN I use nest new command
How to demo :
Can't publish the .gitignore from templates
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
nest g cl User.Entity
user.entity.ts
export class User.Entity {}
nest g cl User --suffix entity
or nest g cl User -s entity
user.entity.ts
export class User {}
User.Entity
is not a legal class name. If command like nest g cl User.Entity
shall generate export class UserEntity {}
without illegal characters. But in filename shall keep the dot because it legal and consider as a suffix.
The file pattern of nest.js
is like angular
that each file has a suffix to represent its role in the project. So we shall add suffix to every file, but class
generator is playing not well.
_ _ _ ___ _____ _____ _ _____
| \ | | | | |_ |/ ___|/ __ \| | |_ _|
| \| | ___ ___ | |_ | |\ `--. | / \/| | | |
| . ` | / _ \/ __|| __| | | `--. \| | | | | |
| |\ || __/\__ \| |_ /\__/ //\__/ /| \__/\| |_____| |_
\_| \_/ \___||___/ \__|\____/ \____/ \____/\_____/\___/
[System Information]
OS Version : macOS
NodeJS Version : v10.14.2
NPM Version : 6.5.0
[Nest Information]
common version : 5.5.0
core version : 5.5.0
cqrs version : 5.1.1
When generating apps in monorepo, each is created in the regular app structure, i.e. files named app.module.ts
, app.controller.ts
...
These files (and contents accordingly) should be named differently - coolapp.module.ts
, coolapp.controller.ts
...
No major change required to documentation. Migration is just renaming of components, though the change is backwards compatible anyways. Adoption should be immediate with release, as it affect only new code. Makes teaching monorepo easier as apps follow a naming convention rather than all sharing the same file names.
Readability, trackability, disambiguation. Angular-ness?
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
ts-node
is used
Same as in typescript-starter
, use tsc
in the watch mode.
Nest version: X.Y.Z
For Tooling issues:
- Node version: XX
- Platform:
Others:
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
nest new app
always generates a typical web application starter.
It would be amazing to have an additional configuration step that determines which starter shall be used:
Nest version: X.Y.Z
For Tooling issues:
- Node version: XX
- Platform:
Others:
[ ] Regression
[x] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
Creating a new project using nest new
and selecting yarn as package manager incorrectly populates README.md with npm commands.
nest new
with yarn should populate README.md with yarn commands.
nest new asd -p yarn
$ nest -V:
6.11.3
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
TsLint is used.
Use typescript-eslint because tslint is transitioning to typescript-eslint
Continued maintenance
AS a user I WANT to provide path WHEN I generate a service IN ORDER TO have more control and follow angular-cli usage
AS a user I WANT TO generate a provider class
[ ] Regression
[ ] Bug report
[ ] Feature request
[x] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
When clone this repo and use npm link
to debug, i use npm link @nestjs/schematics
on cli,but it ReferenceError: dependencies is not defined
. I found directory structure is different
Current
โโโ LICENSE
โโโ README.md
โโโ collection.json
โโโ lib
โโโ node_modules
โโโ package.json
โโโ utils
By npm link
.
โโโ Dockerfile
โโโ LICENSE
โโโ Makefile
โโโ README.md
โโโ node_modules
โโโ package-lock.json
โโโ package.json
โโโ renovate.json
โโโ scripts
โโโ src
โโโ test
โโโ tsconfig.json
โโโ tslint.json
โโโ utils
So, i need copy the files to the correct directory after npm run build
. i want know how do you publish this package or the script to publish. i cant't find script to handle this on this repo.
Nest version: 6.6.4
For Tooling issues:
- Node version: 10.15.3
- Platform: Mac
Others:
The following error message is output when calling 'npm run test:e2e' in a newly generated nest.js app:
TypeError: supertest_1.default is not a function
17 |
18 | it('/ (GET)', () => {
> 19 | return request(app.getHttpServer())
| ^
20 | .get('/')
21 | .expect(200)
22 | .expect('Hello World!');
at Object.it (app.e2e-spec.ts:19:12)
The problem is fixed when replacing the supertest
import in the e2e spec file to this:
import * as request from 'supertest';
AS a developer I WANT TO not use special script IN ORDER TO build schematics module
AS a user I WANT TO install nest v5 rc1 when I generate a new project
[ ] Regression
[X] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
At this moment, the .ts files are included to the npm package. With this, the typescript module resolution will resolve the ts files instead of .d.ts files.
If someone wants to extend the actual schematics with its own, he can't use the strictNullChecks
and noUnusedParameters
because it will not compile the application.
The .ts files should be excluded in the npmignore as you actually do in other repositories.
Create a new schematic package which extends the @nestjs/schematics package. Use some utils from the @nestjs/schematics package. Enable the strictNullChecks
and noUnusedParameters
flags in the tsconfig.json.
When you try to build you will get some compilation erros. Example:
node_modules/@nestjs/schematics/utils/metadata.manager.ts:81:52 - error TS6
133: 'identifier' is declared but its value is never read.
81 private getDecoratorMetadata(source: SourceFile, identifier: string):
Node[] {
~~~~~~~~~~
node_modules/@nestjs/schematics/utils/metadata.manager.ts:186:24 - error TS
2531: Object is possibly 'null'.
186 toInsert = `,${text.match(/^\r?\n(\r?)\s+/)[0]}${symbol}`;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@nestjs/schematics/utils/module-metadata.declarator.ts:9:7 - e
rror TS2345: Argument of type 'string | undefined' is not assignable to par
ameter of type 'string'.
Type 'undefined' is not assignable to type 'string'.
9 options.symbol,
~~~~~~~~~~~~~~
node_modules/@nestjs/schematics/utils/module.finder.ts:25:11 - error TS2322
: Type 'PathFragment | undefined' is not assignable to type 'PathFragment'.
Type 'undefined' is not assignable to type 'PathFragment'.
Type 'undefined' is not assignable to type 'string'.
25 const moduleFilename: PathFragment = directory.subfiles.find(filenam
e =>
~~~~~~~~~~~~~~
node_modules/@nestjs/schematics/utils/module.finder.ts:30:21 - error TS2345
: Argument of type 'DirEntry | null' is not assignable to parameter of type
'DirEntry'.
Type 'null' is not assignable to type 'DirEntry'.
30 : this.findIn(directory.parent);
The motivation is to be align with other NestJS repositories and also enable to extend this package with a stricter typescript compiler.
| \ | | | | |_ |/ ___|/ __ \| | |_ _|
| \| | ___ ___ | |_ | |\ `--. | / \/| | | |
| . ` | / _ \/ __|| __| | | `--. \| | | | | |
| |\ || __/\__ \| |_ /\__/ //\__/ /| \__/\| |_____| |_
\_| \_/ \___||___/ \__|\____/ \____/ \____/\_____/\___/
[System Information]
OS Version : Windows 10
NodeJS Version : v10.15.0
YARN Version : 1.17.3
[Nest Information]
schematics version : 6.4.3
[] Regression
[X] Bug report
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
After running nest generate angular-app, and trying to build angular's app, I had some weird troubles.
Anormal errors like:
To build Angular properly
nest n
nest g ng-app
cd && npm run build
errors
I suspected first about versioning mismatchings. I know that nest angular-app schematic generator is based on Angular's global version. Then I saw this line and suspected:
Then I check package.json of angular's app and found that all dependencies are comming from Angular 8, except @angular/cli that was 7.0.0
Then I checked that global @angular/cli was v8 because it's the latest, so it seems that project was based on Angular 8 but project's cli was v7.
I changed project's @angular/cli to v8 (~8.3.14) and error was gone.
New user's with Angular 8 at global will face this issue at build time.
Nest version:
nestjs 6.8.5
nestjs/schematics: 6.7.0
For Tooling issues:
- Node version: 12.13.0
- Platform: Windows
Prerequisites in document said Node.js (>= 8.9.0) was supported, but execute yarn install
under 8.16.2 throws
error @angular-devkit/[email protected]: The engine "node" is incompatible with this module. Expected version ">= 10.9.0". Got "8.16.2"
error Found incompatible module.
Logs of yarn why @angular-devkit/core
.
yarn why v1.19.2
[1/4] ๐ค Why do we have the module "@angular-devkit/core"...?
[2/4] ๐ Initialising dependency graph...
[3/4] ๐ Finding dependency...
[4/4] ๐ก Calculating file sizes...
=> Found "@angular-devkit/[email protected]"
info Reasons this module exists
- "@nestjs#schematics" depends on it
- Hoisted from "@nestjs#schematics#@angular-devkit#core"
- Hoisted from "@nestjs#cli#@angular-devkit#core"
- Hoisted from "@nestjs#cli#@angular-devkit#schematics-cli#@angular-devkit#core"
- Hoisted from "@nestjs#cli#@angular-devkit#schematics#@angular-devkit#core"
- Hoisted from "@nestjs#cli#@angular-devkit#schematics-cli#@schematics#schematics#@angular-devkit#core"
info Disk size without dependencies: "18.19MB"
info Disk size with unique dependencies: "37.46MB"
info Disk size with transitive dependencies: "38.37MB"
info Number of shared dependencies: 7
โจ Done in 1.56s.
package.json
{
"dependencies": {
"@nestjs/common": "^6.7.2",
"@nestjs/core": "^6.7.2",
"@nestjs/platform-express": "^6.7.2",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.0",
"rxjs": "^6.5.3"
},
"devDependencies": {
"@nestjs/cli": "^6.9.0",
"@nestjs/schematics": "^6.7.0",
"@nestjs/testing": "^6.7.1",
"@types/express": "^4.17.1",
"@types/jest": "^24.0.18",
"@types/json2md": "^1.5.0",
"@types/node": "^12.7.5",
"@types/qs": "^6.9.0",
"@types/supertest": "^2.0.8",
"jest": "^24.9.0",
"prettier": "^1.18.2",
"supertest": "^4.0.2",
"ts-jest": "^24.1.0",
"ts-loader": "^6.1.1",
"ts-node": "^8.4.1",
"tsconfig-paths": "^3.9.0",
"tslint": "^5.20.0",
"typescript": "^3.6.3"
},
}
Support 8.16.2 or update document.
AS a user I WANT TO generate code according to best practices.
1- nest g module test1 >> ok and update app.module.ts
2- add "TypeOrmModule.forRoot()" in the imports array of app.module.ts
3- nest g module test2 >> fails, get some error about the "." of "TypeOrmModule.forRoot()" or even if there is a comment in that array.
error message: "Unexpected token . in JSON at position 285" or "Unexpected token / in JSON at position 270" when comment.
tsconfig.json is giving an error "Cannot write file because it would overwrite input file" for an app generated with nest cli
Adding "dist" folder to exclude in tsconfig.ts can be a fix!
Sorry if this is not the correct repository for this issue
when executing nest new
command, the cli inits the project with beta 6 of nest v5, the schematics for ts are not updated.
AS a user I WANT TO include only nest dependencies I need WHEN I generate a new project
How to demo :
schematics @nestjs/schematics --dependencies=core,common --dev-dependencies=testing
@nestjs/core
and @nestjs/common
dependencies@nestjs/testing
devDependenciesAS a developer I WANT TO use Jest as testing framework IN ORDER TO have project configuration consistency
[ ] Regression
[ ] Bug report
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead post your question on Stack Overflow.
The library generated via cli will generate a spec file, but it is not set in package.json.
The jest setting in package.json only executes the test files in the src folder, so the tests in the libs folder are not executed when npm run test.
Modify jest.rootDir in package.json to an empty string.
nest new reproduction
cd reproduction
nest g lib testable-lib
npm run test
[System Information]
OS Version : macOS
NodeJS Version : v8.11.3
NPM Version : 6.9.0
[Nest Information]
common version : 5.4.0
core version : 5.4.0
When creating a new project using the CLI, I can choose to use yarn
as the dependency manager.
However, the created project has a readme file which contains commands such as npm install
, npm run build
, ... (which is expected, as they are hardcoded here https://github.com/nestjs/schematics/blob/master/src/templates/ts/application/README.md )
Wouldn't it be better if, when yarn
was selected, all commands in the readme of the created project use yarn
instead of npm
?
If you agree, I'd be happy to tackle this myself (I guess it shouln't be that hard, but might ping you for directions if needed).
Users need documentation or access to it on the npm registry web site.
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.