mirror of
https://github.com/grpc/grpc-node.git
synced 2025-12-08 18:23:54 +00:00
chore: initial commit
This commit is contained in:
parent
894faeeb0b
commit
2e28c4eea8
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
.DS_Store
|
||||
.vscode
|
||||
build/
|
||||
node_modules/
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
yarn.lock
|
||||
86
gulpfile.js
Normal file
86
gulpfile.js
Normal file
@ -0,0 +1,86 @@
|
||||
const gulp = require('gulp');
|
||||
const merge2 = require('merge2');
|
||||
const path = require('path');
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
const tslint = require('gulp-tslint');
|
||||
const typescript = require('gulp-typescript');
|
||||
|
||||
const tslintPath = './tslint.json'
|
||||
const tsconfigPath = './tsconfig.json';
|
||||
const outDir = 'build';
|
||||
const srcGlob = 'src/**/*.ts';
|
||||
|
||||
function onError() {}
|
||||
|
||||
function makeCompileFn(dev) {
|
||||
const tsSettings = dev ? {
|
||||
noEmitOnError: false,
|
||||
noUnusedParameters: false
|
||||
} : {};
|
||||
return () => {
|
||||
const { dts, js } = gulp.src(srcGlob)
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(typescript.createProject(tsconfigPath, tsSettings)())
|
||||
.on('error', onError);
|
||||
const jsMap = js.pipe(sourcemaps.write('.', {
|
||||
includeContent: false,
|
||||
sourceRoot: path.relative(outDir, 'src')
|
||||
}));
|
||||
return merge2([
|
||||
js.pipe(gulp.dest(`${outDir}/src`)),
|
||||
dts.pipe(gulp.dest(`${outDir}/types`)),
|
||||
jsMap.pipe(gulp.dest(`${outDir}/src`))
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs tslint on files in src/, with linting rules defined in tslint.json.
|
||||
*/
|
||||
gulp.task('lint', () => {
|
||||
const program = require('tslint').Linter.createProgram(tsconfigPath);
|
||||
gulp.src(srcGlob)
|
||||
.pipe(tslint({
|
||||
configuration: tslintPath,
|
||||
formatter: 'prose',
|
||||
program
|
||||
}))
|
||||
.pipe(tslint.report())
|
||||
.on('warning', onError);
|
||||
});
|
||||
|
||||
/**
|
||||
* Transpiles TypeScript files in src/ to JavaScript according to the settings
|
||||
* found in tsconfig.json.
|
||||
* Currently, all errors are emitted twice. This is being tracked here:
|
||||
* https://github.com/ivogabe/gulp-typescript/issues/438
|
||||
*/
|
||||
gulp.task('compile', makeCompileFn(false));
|
||||
|
||||
/**
|
||||
* Starts watching files in src/, running the 'compile' step whenever a file
|
||||
* changes.
|
||||
*/
|
||||
gulp.task('watch', () => {
|
||||
gulp.start(['compile']);
|
||||
return gulp.watch(srcGlob, ['compile']);
|
||||
});
|
||||
|
||||
/**
|
||||
* Transpiles source code with relaxed requirements:
|
||||
* - Emit output even if there are type-checking errors (this is a workaround
|
||||
* for the twice-emitted errors in the 'compile' step)
|
||||
* - Do not emit errors for unused parameters
|
||||
*/
|
||||
gulp.task('dev.compile', makeCompileFn(true));
|
||||
|
||||
/**
|
||||
* Watches files similar to the 'watch' step, but runs the 'dev.compile' step
|
||||
* instead.
|
||||
*/
|
||||
gulp.task('dev.watch', () => {
|
||||
gulp.start(['dev.compile']);
|
||||
return gulp.watch(srcGlob, ['dev.compile']);
|
||||
});
|
||||
|
||||
gulp.task('default', ['compile']);
|
||||
22
package.json
Normal file
22
package.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "grpc-js",
|
||||
"version": "0.1.0",
|
||||
"description": "gRPC client implementation in Node.js",
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=8.3"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "Google Inc.",
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@types/node": "^8.0.17",
|
||||
"clang-format": "^1.0.53",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-sourcemaps": "^2.6.0",
|
||||
"gulp-tslint": "^8.1.1",
|
||||
"gulp-typescript": "^3.2.1",
|
||||
"merge2": "^1.1.0",
|
||||
"typescript": "^2.4.2"
|
||||
}
|
||||
}
|
||||
23
tsconfig.json
Normal file
23
tsconfig.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"allowSyntheticDefaultImports": false,
|
||||
"allowUnreachableCode": false,
|
||||
"allowUnusedLabels": false,
|
||||
"declaration": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"lib": ["es2015"],
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noEmitOnError": true,
|
||||
"noImplicitReturns": true,
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"pretty": true,
|
||||
"strict": true,
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"sourceMap": true
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
]
|
||||
}
|
||||
31
tslint.json
Normal file
31
tslint.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"rules": {
|
||||
"class-name": true,
|
||||
"comment-format": [true, "check-space"],
|
||||
"eofline": true,
|
||||
"forin": true,
|
||||
"indent": [true, "spaces"],
|
||||
"jsdoc-format": true,
|
||||
"label-position": true,
|
||||
"no-arg": true,
|
||||
"no-conditional-assignment": true,
|
||||
"no-construct": true,
|
||||
"no-debugger": true,
|
||||
"no-duplicate-variable": true,
|
||||
"no-empty": true,
|
||||
"no-inferrable-types": true,
|
||||
"no-internal-module": true,
|
||||
"no-shadowed-variable": true,
|
||||
"no-switch-case-fall-through": true,
|
||||
"no-trailing-whitespace": true,
|
||||
"no-unused-expression": true,
|
||||
"no-use-before-declare": true,
|
||||
"no-var-keyword": true,
|
||||
"quotemark": [true, "single"],
|
||||
"radix": true,
|
||||
"semicolon": [true, "always"],
|
||||
"switch-default": true,
|
||||
"triple-equals": [true, "allow-null-check"],
|
||||
"variable-name": [true, "check-format", "ban-keywords"]
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user