Skip to content

fix(*): several bug fixes #274

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 98 commits into from
Jul 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
5f7abae
fix(testing): use mocha, chai and nyc instead of jest
kimusaku May 9, 2020
daa1375
Merge branch 'master' into develop
escapinbot May 10, 2020
98dabae
Merge branch 'master' into develop
escapinbot May 12, 2020
eeb2e9f
chore(deps): pin dependencies
renovate-bot May 14, 2020
3502220
chore(deps): remove tslib from dependencies (#175)
kimusaku May 14, 2020
c2c248a
chore(deps): update typescript-eslint monorepo to v2.33.0 (#176)
renovate[bot] May 14, 2020
3c77bf8
Merge branch 'master' into develop
escapinbot May 15, 2020
d75f406
Merge branch 'master' into develop
escapinbot May 16, 2020
76ce52b
chore(deps): update dependency @types/deasync to v0.1.1
renovate-bot May 15, 2020
d1f3b4e
chore(deps): update dependency @types/js-yaml to v3.12.4
renovate-bot May 15, 2020
09e4f41
chore(deps): update dependency @types/eslint to v6.8.1
renovate-bot May 16, 2020
1de6ad8
chore(deps): update dependency @types/ncp to v2.0.4
renovate-bot May 16, 2020
98aa6ae
Merge pull request #185 from FujitsuLaboratories/master
kimusaku May 16, 2020
f226c9b
chore(deps): update dependency @types/lodash to v4.14.151 (#181)
renovate[bot] May 16, 2020
a45fb05
chore(deps): lock file maintenance
renovate-bot May 17, 2020
4d67215
chore(deps): update dependency lint-staged to v10.2.4
renovate-bot May 18, 2020
5455996
chore(deps): update typescript-eslint monorepo to v2.34.0
renovate-bot May 18, 2020
bc46c72
chore(deps): update dependency @types/uuid to v8
renovate-bot May 19, 2020
e3a240a
chore(deps): update dependency @types/lodash to v4.14.152
renovate-bot May 20, 2020
5cef3f4
chore(deps): update dependency @types/prettier to v2.0.1
renovate-bot May 21, 2020
2afe353
chore(deps): update typescript-eslint monorepo to v3 (major) (#191)
renovate[bot] May 22, 2020
79c66f5
Merge branch 'master' into develop
escapinbot May 22, 2020
bdacf1c
chore(deps): update dependency lint-staged to v10.2.6
renovate-bot May 22, 2020
8e268b3
chore(deps): update dependency eslint to v7.1.0
renovate-bot May 23, 2020
6d6f880
chore(deps): update dependency mocha to v7.2.0
renovate-bot May 23, 2020
dafb43c
chore(deps): lock file maintenance
renovate-bot May 24, 2020
d58137d
chore(deps): update typescript-eslint monorepo to v3.0.1
renovate-bot May 25, 2020
4f32b85
chore(deps): update dependency @types/lodash to v4.14.153
renovate-bot May 27, 2020
eb7117e
chore(deps): update typescript-eslint monorepo to v3.0.2
renovate-bot May 27, 2020
31d82dd
chore(deps): update dependency ts-node to v8.10.2
renovate-bot May 28, 2020
a671f7d
chore(deps): update dependency lint-staged to v10.2.7
renovate-bot May 29, 2020
48b6c13
chore(deps): update dependency @types/lodash to v4.14.154
renovate-bot May 30, 2020
bc777d3
chore(deps): lock file maintenance
renovate-bot May 31, 2020
d2e66b6
chore(deps): update dependency nyc to v15.1.0
renovate-bot Jun 1, 2020
e9d715c
chore(deps): update typescript-eslint monorepo to v3.1.0
renovate-bot Jun 1, 2020
d4dfe9d
chore(deps): update dependency @types/babel__traverse to v7.0.12
renovate-bot Jun 2, 2020
41beab6
chore(deps): update dependency @types/lodash to v4.14.155
renovate-bot Jun 3, 2020
15008e7
chore(deps): update dependency lint-staged to v10.2.8
renovate-bot Jun 3, 2020
6ead03e
chore(deps): update dependency lint-staged to v10.2.9
renovate-bot Jun 4, 2020
8d2150d
chore(deps): update dependency eslint to v7.2.0
renovate-bot Jun 6, 2020
e23c84c
chore(deps): update dependency @types/mkdirp to v1.0.1
renovate-bot Jun 6, 2020
99fb651
chore(deps): lock file maintenance
renovate-bot Jun 7, 2020
6e293d2
chore(deps): update typescript-eslint monorepo to v3.2.0
renovate-bot Jun 8, 2020
f0e03a5
chore(deps): update dependency mocha to v8
renovate-bot Jun 10, 2020
5c47ffe
chore(deps): update dependency mocha to v8.0.1
renovate-bot Jun 10, 2020
2339326
chore(deps): update dependency lint-staged to v10.2.10
renovate-bot Jun 12, 2020
a7a91fe
chore(deps): update dependency @types/eslint to v7
renovate-bot Jun 12, 2020
9994442
chore(deps): lock file maintenance
renovate-bot Jun 14, 2020
1c805cd
chore(deps): lock file maintenance
renovate-bot Jun 14, 2020
7a1bf58
chore(deps): update dependency eslint-plugin-prettier to v3.1.4
renovate-bot Jun 14, 2020
4f87c7c
chore(deps): update typescript-eslint monorepo to v3.3.0
renovate-bot Jun 15, 2020
8ee6ed6
chore(deps): update dependency lint-staged to v10.2.11
renovate-bot Jun 17, 2020
1b3769f
fix(deps): update babel monorepo
renovate-bot Jun 19, 2020
ec0e15b
fix(deps): update dependency chalk to ^4.1.0
renovate-bot Jun 19, 2020
17ab6fc
fix(deps): update dependency execa to ^4.0.2
renovate-bot Jun 19, 2020
b876046
fix(deps): update dependency ignore to ^5.1.8
renovate-bot Jun 19, 2020
c7165d1
fix(deps): update dependency typescript to ^3.9.5
renovate-bot Jun 19, 2020
892e037
Merge branch 'master' into develop
escapinbot Jun 19, 2020
b03f4f6
fix(deps): update dependency js-yaml to ^3.14.0
renovate-bot Jun 19, 2020
b43b04a
chore(deps): update dependency eslint to v7.3.0
renovate-bot Jun 19, 2020
0ae2d82
fix(deps): update dependency validator to ^13.1.1
renovate-bot Jun 19, 2020
640ac00
fix(deps): update dependency uuid to ^8.1.0
renovate-bot Jun 19, 2020
387643a
chore(deps): update dependency @types/lodash to v4.14.156
renovate-bot Jun 22, 2020
0c80624
chore(deps): update typescript-eslint monorepo to v3.4.0
renovate-bot Jun 22, 2020
0677061
chore(deps): update dependency eslint to v7.3.1
renovate-bot Jun 23, 2020
40cab64
fix(deps): update dependency uuid to ^8.2.0
renovate-bot Jun 23, 2020
798baec
chore(deps): update dependency @types/validator to v13.1.0
renovate-bot Jun 24, 2020
f796885
chore(deps): update dependency @types/lodash to v4.14.157
renovate-bot Jun 24, 2020
12b57f8
chore(deps): update typescript-eslint monorepo to v3.5.0
renovate-bot Jun 29, 2020
b5b48d6
fix(deps): update babel monorepo to ^7.10.4 (#235)
renovate[bot] Jul 1, 2020
ce9ef0f
chore(deps): remove @types/request (#246)
kimusaku Jul 1, 2020
ae16b25
chore(deps): lock file maintenance (#236)
renovate[bot] Jul 1, 2020
114b7ff
chore(deps): update dependency @types/js-yaml to v3.12.5 (#243)
renovate[bot] Jul 1, 2020
1dd6fac
Merge branch 'master' into develop
escapinbot Jul 1, 2020
39f2f81
fix(deps): update dependency typescript to ^3.9.6
renovate-bot Jul 1, 2020
dcb0e72
fix(visitors): asynchronize callback having no param other than error…
kimusaku Jul 3, 2020
a380fde
Merge branch 'master' into develop
escapinbot Jul 3, 2020
3bc7997
fix(visitor): correctly assume typing names of scoped modules (#252)
kimusaku Jul 3, 2020
2a8ff1f
chore(deps): update dependency eslint to v7.4.0
renovate-bot Jul 3, 2020
98ec08b
chore(deps): lock file maintenance
renovate-bot Jul 5, 2020
606d685
chore(visitors): remove 'filename' from parameters of checkFunctionTy…
kimusaku Jul 6, 2020
b4d431b
Merge branch 'master' into develop
escapinbot Jul 6, 2020
82b4f3b
fix(visitors): use tsconfig.json if exists in checking function types…
kimusaku Jul 6, 2020
0bc272f
Merge branch 'master' into develop
escapinbot Jul 6, 2020
dd0a97d
chore(deps): update typescript-eslint monorepo to v3.6.0
renovate-bot Jul 6, 2020
48e6678
chore(deps): update dependency @types/babel__traverse to v7.0.13
renovate-bot Jul 6, 2020
8b967ca
chore(deps): update dependency @types/prettier to v2.0.2
renovate-bot Jul 6, 2020
8d28e93
fix(index): copy rest of files into output_dir (#262)
kimusaku Jul 7, 2020
a09d0d2
Merge branch 'master' into develop
escapinbot Jul 7, 2020
f036353
fix(deps): update dependency execa to ^4.0.3
renovate-bot Jul 7, 2020
8458bda
fix(deps): update dependency lodash to ^4.17.16
renovate-bot Jul 8, 2020
ef3e9f7
fix(deps): update dependency lodash to ^4.17.17
renovate-bot Jul 8, 2020
cdcae26
fix(deps): update dependency lodash to ^4.17.19
renovate-bot Jul 8, 2020
06c704a
Merge branch 'master' into develop
escapinbot Jul 9, 2020
7ab66e7
fix(*): make all attributes of PackageJson as optional (#269)
kimusaku Jul 10, 2020
e2444d4
fix(*): make loadOpenApiV2 returns null if failed (#270)
kimusaku Jul 10, 2020
4e262ef
fix(visitors): isErrorFirstCallback return false if firstParam is und…
kimusaku Jul 10, 2020
8c2913e
fix(visitors): catch exception from evalSnippet (#273)
kimusaku Jul 10, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@
"commander": "^5.1.0",
"cosmiconfig": "^6.0.0",
"deasync": "^0.1.20",
"execa": "^4.0.2",
"execa": "^4.0.3",
"https-proxy-agent": "^5.0.0",
"ignore": "^5.1.8",
"js-yaml": "^3.14.0",
"lodash": "^4.17.15",
"lodash": "^4.17.19",
"mkdirp": "^1.0.4",
"node-fetch": "^2.6.0",
"openapi-types": "^1.3.5",
Expand Down
17 changes: 13 additions & 4 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,15 @@ const DEFAULT_OUTPUT_DIR = 'build';
const DEFAULT_STORAGE = 'table';
const DEFAULT_HTTP_CLIENT = 'axios';
const SERVERLESS_YML = 'serverless.yml';
export const EXTENSIONS = ['.js', '.mjs', '.jsx', '.ts'];
export const EXTENSIONS = [
'.js',
'.mjs',
'.jsx',
'.ts',
'.d.ts',
'tsx',
'.node',
];

export class Escapin {
public id: string;
Expand Down Expand Up @@ -121,9 +129,10 @@ export class Escapin {
moduleName: string,
location: 'dependencies' | 'devDependencies' = 'dependencies',
): void {
this.packageJson[location][moduleName] = `^${u.getLatestVersion(
moduleName,
)}`;
const deps = this.packageJson[location];
if (deps !== undefined) {
deps[moduleName] = `^${u.getLatestVersion(moduleName)}`;
}
}

public savePackageJson(): void {
Expand Down
5 changes: 2 additions & 3 deletions src/state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,10 @@ import fs from 'fs';
import module from 'module';
import { OpenAPIV2 } from 'openapi-types';
import Path from 'path';
import { Escapin } from '.';
import { Escapin, EXTENSIONS } from '.';
import { OneOrMore, PathInfo } from './types';
import * as u from './util';

export const EXTENSIONS = ['.js', '.mjs', '.jsx'];

export class BaseState {
public escapin!: Escapin;
public replacements!: Array<{
Expand Down Expand Up @@ -114,6 +112,7 @@ export class BaseState {
return (
moduleName in
Object.assign(
new Object(),
dependencies,
devDependencies,
peerDependencies,
Expand Down
4 changes: 2 additions & 2 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ export interface Credential {
export interface PackageJson {
main?: string;
scripts?: { [script: string]: string };
dependencies: { [moduleName: string]: string };
devDependencies: { [moduleName: string]: string };
dependencies?: { [moduleName: string]: string };
devDependencies?: { [moduleName: string]: string };
peerDependencies?: { [moduleName: string]: string };
optionalDependencies?: { [moduleName: string]: string };
bundledDependencies?: string[];
Expand Down
3 changes: 2 additions & 1 deletion src/visitors/functionTypes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ const visitor: Visitor<BaseState> = {

escapin.save();

const { dependencies, devDependencies } = escapin.packageJson;
const dependencies = escapin.packageJson.dependencies || new Object();
const devDependencies = escapin.packageJson.devDependencies || new Object();
const modules = [
...Object.keys(dependencies),
...Object.keys(devDependencies),
Expand Down
6 changes: 6 additions & 0 deletions src/visitors/functionTypes/visit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ export function newVisit(
return false;
}
const firstParam = paramTypeNode.parameters[0];
if (firstParam === undefined) {
if (process.env.NODE_ENV === 'test') {
console.log('firstParam is undefined');
}
return false;
}
const firstParamSymbol = checker.getSymbolAtLocation(firstParam.name);
if (firstParamSymbol === undefined) {
if (process.env.NODE_ENV === 'test') {
Expand Down
20 changes: 4 additions & 16 deletions src/visitors/openApiV2/load.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,17 @@ export function loadOpenApiV2(
cleanupNeeded = true;
} else {
resolved = state.resolvePath(uri);
if (resolved === undefined) {
throw new Error(`${uri} not found.`);
} else if (!fs.existsSync(resolved)) {
throw new Error(`${resolved} not found.`);
if (resolved === undefined || !fs.existsSync(resolved)) {
return null;
}
}
spec = deasyncPromise(dereference(resolved));
if (cleanupNeeded) {
rimraf(resolved);
}
} catch (err) {
if (state.hasDependency(uri)) {
console.log(`${uri} is a module.`);
}
const index = uri.lastIndexOf('/');
const actualUri = index > 0 ? uri.substring(0, uri.lastIndexOf('/')) : uri;
if (state.hasDependency(actualUri)) {
console.log(`${actualUri} is a module.`);
} else if (fs.existsSync(actualUri)) {
console.log(`${actualUri} is a local module.`);
} else {
throw err;
}
console.error(err);
return null;
}
return spec;
}
20 changes: 12 additions & 8 deletions src/visitors/uncallbackify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,19 @@ const visitor: Visitor<BaseState> = {
for (const stmtPath of blockPath) {
if (stmtPath.isIfStatement() && u.includes(stmtPath, errorParam.node)) {
const stmt = stmtPath.node;
const result = u.evalSnippet(stmt.test, {
[errorParam.node.name]: new Error(),
});
if (result) {
alternate.push(...u.toStatements(stmt.consequent));
if (stmt.alternate !== null) {
consequent.push(...u.toStatements(stmt.alternate));
try {
const result = u.evalSnippet(stmt.test, {
[errorParam.node.name]: new Error(),
});
if (result) {
alternate.push(...u.toStatements(stmt.consequent));
if (stmt.alternate !== null) {
consequent.push(...u.toStatements(stmt.alternate));
}
} else {
throw new Error('result is undefined');
}
} else {
} catch (err) {
consequent.push(...u.toStatements(stmt.consequent));
if (stmt.alternate !== null) {
alternate.push(...u.toStatements(stmt.alternate));
Expand Down