@progress/kendo-typescript-tasks 10.0.17 → 10.0.18-ng12.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api.config.js CHANGED
@@ -1,22 +1,8 @@
1
- const os = require('os');
2
1
  const path = require('path');
3
2
 
4
- const jsonPath = path.join(os.tmpdir(), `api-${process.pid}.json`);
3
+ const jsonPath = path.resolve('./api.json');
5
4
  const typedoc = {
6
- // TypeScript options
7
- module: 'commonjs',
8
- target: 'es6',
9
- types: [],
10
- experimentalDecorators: true,
11
- jsx: 'react', // support for tsx files
12
-
13
- // Output options
14
- json: jsonPath,
15
-
16
- // Typedoc options
17
- excludeExternals: true,
18
- ignoreCompilerErrors: false,
19
- includeDeclarations: true
5
+ excludeExternals: true
20
6
  };
21
7
 
22
8
  module.exports = {
package/api.js CHANGED
@@ -2,8 +2,9 @@
2
2
 
3
3
  const execSync = require('child_process').execSync;
4
4
  const path = require('path');
5
- const typedoc = require('gulp-typedoc');
6
5
  const { merge } = require('lodash');
6
+ const typedoc = require('typedoc');
7
+ const glob = require('glob');
7
8
 
8
9
  const api = require('./src/api/generator.js');
9
10
  const apiConfig = require('./api.config.js');
@@ -12,11 +13,30 @@ module.exports = (gulp, userConfig) => {
12
13
  const series = gulp.series;
13
14
 
14
15
  const config = merge({}, apiConfig, userConfig);
15
- const DECLARATIONS = ["typings/index.d.ts", "node_modules/@types/core-js/index.d.ts"];
16
16
 
17
- gulp.task('api-json', () => {
18
- return gulp.src(["src/**/*.{ts,tsx}", ...DECLARATIONS, ...(config.externalApi || [])], { "allowEmpty": true })
19
- .pipe(typedoc(config.typedoc));
17
+ gulp.task('api-json', async (done) => {
18
+ const entryPoints = [
19
+ ...glob.sync("src/**/*.{ts,tsx}"),
20
+ ...(config.externalApi || [])
21
+ ];
22
+
23
+ const app = new typedoc.Application();
24
+ app.options.addReader(new typedoc.TSConfigReader());
25
+ app.bootstrap({ ...config.typedoc, entryPoints });
26
+
27
+ const project = app.convert();
28
+ if (!project) {
29
+ done(new Error('Unable to initialize TypeDoc.'));
30
+ return;
31
+ }
32
+
33
+ await app.generateJson(project, apiConfig.jsonPath);
34
+ if (app.logger.hasErrors()) {
35
+ done(new Error('Unable to generate API reference, see messages above.'));
36
+ return;
37
+ }
38
+
39
+ done();
20
40
  });
21
41
 
22
42
  gulp.task('api-clean', (done) => {
package/gulp-tasks.js CHANGED
@@ -3,11 +3,10 @@
3
3
  const del = require('del');
4
4
  const childProcess = require('child_process');
5
5
  const path = require('path');
6
- const gulpTsLint = require('gulp-tslint');
7
- const tslint = require('tslint');
8
6
 
9
7
  const apiTasks = require('./api.js');
10
8
  const commonTasks = require('@progress/kendo-common-tasks');
9
+ const linter = require('./src/linter');
11
10
 
12
11
  const webpackConfig = require('./webpack.config.js');
13
12
  const tscPath = path.join(process.cwd(), 'node_modules', '.bin', 'tsc');
@@ -37,29 +36,15 @@ module.exports = (gulp, libraryName, compilerPath, options, webpackConfigPath) =
37
36
  done()
38
37
  });
39
38
 
40
- gulp.task('lint', series('check-compilation', (done) => {
41
- const program = tslint.Linter.createProgram('./tsconfig.json', '.');
39
+ gulp.task('lint', series(
40
+ 'check-compilation',
41
+ linter([ 'src/**/*.{ts,tsx}', 'test/**/*.{ts,tsx}', 'e2e/**/*.{ts,tsx}' ])
42
+ ));
42
43
 
43
- return gulp.src([ 'src/**/*.{ts,tsx}', 'test/**/*.{ts,tsx}', 'e2e/**/*.{ts,tsx}' ])
44
- .pipe(gulpTsLint({
45
- program: program,
46
- formatter: 'verbose'
47
- }))
48
- .pipe(gulpTsLint.report());
44
+ gulp.task('lint-docs', linter([ 'docs/examples/**/*.{ts,tsx}' ], {
45
+ overrideConfigFile: '.eslintrc.docs.json'
49
46
  }));
50
47
 
51
- gulp.task('lint-docs', () => {
52
- const program = tslint.Linter.createProgram('./tsconfig.docs.json', '.');
53
-
54
- return gulp.src([ 'docs/examples/**/*.{ts,tsx}'])
55
- .pipe(gulpTsLint({
56
- formatter: 'prose',
57
- program: program,
58
- configuration: './tslint.docs.json'
59
- }))
60
- .pipe(gulpTsLint.report());
61
- });
62
-
63
48
  gulp.task('start', (done) => {
64
49
  const webpackPort = 8888;
65
50
  const host = listenAddress;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@progress/kendo-typescript-tasks",
3
3
  "description": "Kendo UI TypeScript package gulp tasks",
4
4
  "main": "gulp-tasks.js",
5
- "version": "10.0.17",
5
+ "version": "10.0.18-ng12.42+14cf13d",
6
6
  "author": "Telerik",
7
7
  "license": "Apache-2.0",
8
8
  "scripts": {
@@ -15,29 +15,31 @@
15
15
  "API Generation"
16
16
  ],
17
17
  "peerDependencies": {
18
- "typescript": "^3.4.5"
18
+ "typescript": "^4.3.4"
19
19
  },
20
20
  "dependencies": {
21
- "@progress/kendo-common-tasks": "^7.9.1",
22
- "core-js": "^2.2.2",
21
+ "@progress/kendo-common-tasks": "ng12",
22
+ "@typescript-eslint/eslint-plugin": "4.28.2",
23
+ "@typescript-eslint/parser": "4.28.2",
24
+ "core-js": "^3.18.0",
23
25
  "del": "2.2.2",
26
+ "eslint": "7.32.0",
27
+ "eslint-plugin-import": "2.25.2",
28
+ "eslint-plugin-rxjs": "3.3.7",
29
+ "glob": "^7.2.0",
24
30
  "gulp": "^4.0.0",
25
31
  "gulp-add-src": "^1.0.0",
26
- "gulp-tslint": "^8.0.0",
27
- "gulp-typedoc": "~2.2.2",
28
32
  "handlebars": "^4.0.5",
29
33
  "highlight.js": "9.14.2",
30
34
  "lodash": "^4.6.0",
31
35
  "mkdirp": "^0.5.0",
32
36
  "source-map-loader": "^0.1.5",
33
37
  "ts-loader": "4.1.0",
34
- "tslint": "^5.0.0",
35
- "tslint-defocus": "^2.0.6",
36
- "typedoc": "0.15.0"
38
+ "typedoc": "~0.22.5"
37
39
  },
38
40
  "devDependencies": {
39
41
  "gulp-jasmine": "^2.4.2",
40
- "typescript": "~3.4.5"
42
+ "typescript": "~4.3.4"
41
43
  },
42
44
  "repository": {
43
45
  "type": "git",
@@ -46,5 +48,5 @@
46
48
  "publishConfig": {
47
49
  "access": "public"
48
50
  },
49
- "gitHead": "d312b6e9168c3b21c723d72374782822c0e33f2d"
51
+ "gitHead": "14cf13dc84645a4c8f02c02d33de2db9f654e056"
50
52
  }
@@ -22,7 +22,7 @@ const findDecorator = (decorators) => ((decorators || []).find(d =>
22
22
  const decoratorProp = (prop) => (decorators) => {
23
23
  const compDecorator = findDecorator(decorators);
24
24
 
25
- if (compDecorator) {
25
+ if (compDecorator) {
26
26
  const regExp = new RegExp(`${prop}:\\s?['"](.+?)['"]`);
27
27
  const match = compDecorator.arguments.obj.match(regExp);
28
28
 
@@ -110,6 +110,11 @@ const normalizeMembers = (members) => {
110
110
  }
111
111
  }
112
112
  }
113
+
114
+ if (!element.comment && element.kindString === 'Accessor') {
115
+ const accessor = element.getSignature || element.setSignature || [];
116
+ element.comment = accessor[0].comment;
117
+ }
113
118
  });
114
119
  }
115
120
 
@@ -148,7 +153,7 @@ const extractMembers = (packageName, modules, config) => {
148
153
 
149
154
  const models = nonEmptyModules.map(module => module
150
155
  .children
151
- .filter(child => child.flags.isExported)
156
+ .filter(child => child.kindString !== "Reference")
152
157
  .filter(child => child.name !== 'core')
153
158
  .map(child => {
154
159
  const fullName = moduleFullName(module.name, packageName, rootModules);
@@ -195,7 +200,6 @@ const namespacesAsModules = data => {
195
200
  const modules = [];
196
201
  data.filter(moduleFilter).forEach(module => module
197
202
  .children
198
- .filter(child => child.flags.isExported)
199
203
  .filter(child => child.name !== 'core')
200
204
  .forEach(child => {
201
205
  if (child.kindString === 'Module' && child.children) {
@@ -9,8 +9,13 @@ const utils = require('./utils');
9
9
  const isConstructor = (prop) =>
10
10
  prop.kindString && prop.kindString === 'Constructor' && isPublic(prop);
11
11
 
12
- const mapConstructors = (member) =>
13
- utils.flatten(member.children.filter(isConstructor).map(ctr => {
12
+ const mapConstructors = (member) => {
13
+ if (member.decorators && member.decorators.find(d => d.name === 'NgModule')) {
14
+ // Ignore NgModule constructors
15
+ return [];
16
+ }
17
+
18
+ return utils.flatten(member.children.filter(isConstructor).map(ctr => {
14
19
  const name = ctr.name;
15
20
  const source = `${member.name}.constructor`;
16
21
 
@@ -21,6 +26,7 @@ const mapConstructors = (member) =>
21
26
  params: types.params(signature, source)
22
27
  }));
23
28
  }));
29
+ };
24
30
 
25
31
  module.exports = mapConstructors;
26
32
 
@@ -5,7 +5,7 @@ const comment = require('./comment');
5
5
  const unionTypes = (member) =>
6
6
  member.type.types.map(type => {
7
7
  switch (type.type) {
8
- case 'stringLiteral':
8
+ case 'literal':
9
9
  return `"${type.value}"`;
10
10
  default:
11
11
  return typeString({ type });
package/src/linter.js ADDED
@@ -0,0 +1,18 @@
1
+ const { ESLint } = require('eslint');
2
+
3
+ const linter = (files, options = {}) => async function lint(done) {
4
+ const eslint = new ESLint(options);
5
+ const results = await eslint.lintFiles(files);
6
+ const formatter = await eslint.loadFormatter('stylish');
7
+ const errors = ESLint.getErrorResults(results)
8
+ const resultText = formatter.format(results);
9
+ console.log(resultText);
10
+
11
+ if (errors.length > 0) {
12
+ done(new Error('Lint failed.'));
13
+ } else {
14
+ done();
15
+ }
16
+ }
17
+
18
+ module.exports = linter;