Skip to content

Commit

Permalink
chore: require es6 import style (#1125)
Browse files Browse the repository at this point in the history
Per import-js/eslint-plugin-import#1244, the `eslint/import` plug-in does not currently support the `import X = require(Y);` syntax, causing extraneous imports in this form to be ignored by the linter.
  • Loading branch information
RomainMuller authored Dec 16, 2019
1 parent d4fd44f commit b6913c9
Show file tree
Hide file tree
Showing 113 changed files with 359 additions and 310 deletions.
15 changes: 15 additions & 0 deletions eslint-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,15 @@ extends:
- plugin:@typescript-eslint/recommended-requiring-type-checking
- plugin:import/typescript

settings:
import/parsers:
'@typescript-eslint/parser': ['.ts', '.tsx']
import/resolver:
node: {}
typescript:
directory: ./**/tsconfig.json


rules:
# Custom Configurations

Expand Down Expand Up @@ -77,6 +86,9 @@ rules:
'@typescript-eslint/no-for-in-array':
- error

'@typescript-eslint/no-require-imports':
- error

'@typescript-eslint/no-unused-vars':
- error
- args: all
Expand Down Expand Up @@ -147,6 +159,9 @@ rules:
optionalDependencies: false # Disallow importing optional dependencies (those shouldn't be used here)
peerDependencies: false # Disallow importing peer dependencies (those shouldn't be used here)

'import/no-unresolved':
- error

'max-len':
- error
- code: 150
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
"@typescript-eslint/parser": "^2.11.0",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.19.1",
"eslint-import-resolver-node": "^0.3.2",
"eslint-import-resolver-typescript": "^2.0.0",
"lerna": "^3.19.0"
},
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/@jsii/dotnet-analyzers/lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import path = require('path');
import * as path from 'path';

export const repository = path.resolve(__dirname, path.join('..', 'bin', 'Release', 'NuGet'));
2 changes: 1 addition & 1 deletion packages/@jsii/dotnet-jsonmodel/lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import path = require('path');
import * as path from 'path';

export const repository = path.resolve(__dirname, path.join('..', 'bin', 'Release', 'NuGet'));
2 changes: 1 addition & 1 deletion packages/@jsii/dotnet-runtime-test/lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import path = require('path');
import * as path from 'path';

export const repository = path.resolve(__dirname, path.join('..', 'bin', 'Release', 'NuGet'));
2 changes: 1 addition & 1 deletion packages/@jsii/dotnet-runtime/lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import path = require('path');
import * as path from 'path';

export const repository = path.resolve(__dirname, path.join('..', 'bin', 'Release', 'NuGet'));
1 change: 1 addition & 0 deletions packages/@jsii/dotnet-runtime/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
"@jsii/dotnet-jsonmodel": "^0.20.11",
"@jsii/runtime": "^0.20.11",
"@types/node": "^10.17.9",
"@types/semver": "^6.2.0",
"jsii-build-tools": "^0.20.11",
"semver": "^6.3.0",
"typescript": "~3.7.3"
Expand Down
2 changes: 1 addition & 1 deletion packages/@jsii/java-runtime/lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import path = require('path');
import * as path from 'path';

export const maven = {
groupId: 'software.amazon.jsii',
Expand Down
15 changes: 5 additions & 10 deletions packages/@jsii/kernel/lib/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,17 +125,15 @@ export interface CreateRequest {
readonly overrides?: Override[];
}

/* eslint-disable @typescript-eslint/no-empty-interface */
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface CreateResponse extends AnnotatedObjRef {}
/* eslint-enable @typescript-eslint/no-empty-interface */

export interface DelRequest {
readonly objref: ObjRef;
}

/* eslint-disable @typescript-eslint/no-empty-interface */
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface DelResponse {}
/* eslint-enable @typescript-eslint/no-empty-interface */

export interface GetRequest {
readonly objref: ObjRef;
Expand Down Expand Up @@ -163,9 +161,8 @@ export interface SetRequest {
readonly value: any;
}

/* eslint-disable @typescript-eslint/no-empty-interface */
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface SetResponse { }
/* eslint-enable @typescript-eslint/no-empty-interface */

export interface StaticInvokeRequest {
readonly fqn: string;
Expand Down Expand Up @@ -201,9 +198,8 @@ export interface EndResponse {
readonly result: any;
}

/* eslint-disable @typescript-eslint/no-empty-interface */
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface CallbacksRequest { }
/* eslint-enable @typescript-eslint/no-empty-interface */

export interface CallbacksResponse {
readonly callbacks: Callback[];
Expand All @@ -227,9 +223,8 @@ export interface NamingResponse {
readonly naming: { readonly [language: string]: { readonly [key: string]: any } | undefined };
}

/* eslint-disable @typescript-eslint/no-empty-interface */
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface StatsRequest { }
/* eslint-enable @typescript-eslint/no-empty-interface */

export interface StatsResponse {
readonly objectCount: number;
Expand Down
3 changes: 2 additions & 1 deletion packages/@jsii/kernel/lib/kernel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import * as vm from 'vm';
import * as api from './api';
import { TOKEN_REF } from './api';
import { ObjectTable, tagJsiiConstructor } from './objects';
import wire = require('./serialization');
import * as wire from './serialization';

export class Kernel {
/**
Expand Down Expand Up @@ -46,6 +46,7 @@ export class Kernel {
// let loaded modules to use the native node "require" method.
// I wonder if webpack has some pragma that allows opting-out at certain points
// in the code.
// eslint-disable-next-line @typescript-eslint/no-require-imports
const moduleLoad = require('module').Module._load;
const nodeRequire = (p: string) => moduleLoad(p, module, false);

Expand Down
2 changes: 1 addition & 1 deletion packages/@jsii/kernel/lib/objects.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import spec = require('@jsii/spec');
import * as spec from '@jsii/spec';
import * as api from './api';
import { EMPTY_OBJECT_FQN } from './serialization';

Expand Down
11 changes: 7 additions & 4 deletions packages/@jsii/kernel/test/kernel.test.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
import childProcess = require('child_process');
import fs = require('fs-extra');
import * as childProcess from 'child_process';
import * as fs from 'fs-extra';
import { join } from 'path';
import path = require('path');
import vm = require('vm');
import * as path from 'path';
import * as vm from 'vm';
import { api, Kernel } from '../lib';
import { Callback, ObjRef, TOKEN_REF, TOKEN_INTERFACES, TOKEN_MAP, WireStruct, TOKEN_STRUCT } from '../lib/api';
import { closeRecording, recordInteraction } from './recording';

/* eslint-disable require-atomic-updates */

// extract versions of fixtures
// eslint-disable-next-line @typescript-eslint/no-require-imports
const calcBaseVersion = require('@scope/jsii-calc-base/package.json').version.replace(/\+.+$/, '');
// eslint-disable-next-line @typescript-eslint/no-require-imports
const calcLibVersion = require('@scope/jsii-calc-lib/package.json').version.replace(/\+.+$/, '');
// eslint-disable-next-line @typescript-eslint/no-require-imports
const calcVersion = require('jsii-calc/package.json').version.replace(/\+.+$/, '');

// Do this so that regexes stringify nicely in approximate tests
Expand Down
2 changes: 1 addition & 1 deletion packages/@jsii/runtime/lib/program.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import packageInfo = require('../package.json');
import * as packageInfo from '../package.json';
import { KernelHost } from './host';
import { InputOutput } from './in-out';

Expand Down
8 changes: 4 additions & 4 deletions packages/@jsii/runtime/test/kernel-host.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import child = require('child_process');
import fs = require('fs');
import * as child from 'child_process';
import * as fs from 'fs';
import { api } from '@jsii/kernel';
import spec = require('@jsii/spec');
import path = require('path');
import * as spec from '@jsii/spec';
import * as path from 'path';
import { KernelHost, InputOutput, Input, Output } from '../lib';

test('can load libraries from within a callback', () => {
Expand Down
10 changes: 5 additions & 5 deletions packages/@jsii/runtime/test/playback.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import child = require('child_process');
import fs = require('fs');
import os = require('os');
import path = require('path');
import process = require('process');
import * as child from 'child_process';
import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
import * as process from 'process';

import { InputOutput, KernelHost, Input, Output } from '../lib';

Expand Down
9 changes: 4 additions & 5 deletions packages/@jsii/spec/lib/validate-assembly.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import jsonschema = require('jsonschema');
import { Schema, Validator } from 'jsonschema';
import { Assembly } from './assembly';

/* eslint-disable @typescript-eslint/no-var-requires */
export const schema: jsonschema.Schema = require('../schema/jsii-spec.schema.json');
/* eslint-enable @typescript-eslint/no-var-requires */
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
export const schema: Schema = require('../schema/jsii-spec.schema.json');

export function validateAssembly(obj: any): Assembly {
const validator = new jsonschema.Validator();
const validator = new Validator();
validator.addSchema(schema); // For definitions
const result = validator.validate(obj, schema, { nestedErrors: true } as any); // nestedErrors does exist but is not in the TypeScript definitions
if (result.valid) { return obj; }
Expand Down
2 changes: 1 addition & 1 deletion packages/codemaker/lib/case-utils.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { default as camelcase } from 'camelcase';
import decamelize = require('decamelize');
import * as decamelize from 'decamelize';

const COMMON_ABBREVIATIONS = [
'KiB',
Expand Down
2 changes: 1 addition & 1 deletion packages/codemaker/test/case-utils.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import caseUtils = require('../lib/case-utils');
import * as caseUtils from '../lib/case-utils';

test('toCamelCase', () => {
expect(caseUtils.toCamelCase('EXAMPLE_VALUE')).toBe('exampleValue');
Expand Down
2 changes: 1 addition & 1 deletion packages/jsii-calc/lib/compliance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { promisify } from 'util';
import { IFriendlyRandomGenerator, IRandomNumberGenerator, Multiply } from './calculator';

const bundled = require('@fixtures/jsii-calc-bundled');
import base = require('@scope/jsii-calc-base');
import * as base from '@scope/jsii-calc-base';

const readFile = promisify(fs.readFile);

Expand Down
2 changes: 1 addition & 1 deletion packages/jsii-calc/rosetta/default.ts-fixture
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import calc = require('.');
import * as calc from '.';

/// here
2 changes: 1 addition & 1 deletion packages/jsii-calc/rosetta/with-calculator.ts-fixture
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import calc = require('.');
import * as calc from '.';
const calculator = new calc.Calculator();

/// here
2 changes: 1 addition & 1 deletion packages/jsii-calc/test/test.calc.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import calcLib = require('@scope/jsii-calc-lib');
import * as calcLib from '@scope/jsii-calc-lib';
import * as assert from 'assert';
import { Add, Calculator, Multiply, Negate, Power, Sum } from '../lib';
import { composition } from '../lib';
Expand Down
10 changes: 5 additions & 5 deletions packages/jsii-diff/bin/jsii-diff.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import fs = require('fs-extra');
import reflect = require('jsii-reflect');
import spec = require('@jsii/spec');
import log4js = require('log4js');
import yargs = require('yargs');
import * as fs from 'fs-extra';
import * as reflect from 'jsii-reflect';
import * as spec from '@jsii/spec';
import * as log4js from 'log4js';
import * as yargs from 'yargs';
import { compareAssemblies } from '../lib';
import { classifyDiagnostics, formatDiagnostic, hasErrors } from '../lib/diagnostics';
import { DownloadFailure, downloadNpmPackage, showDownloadFailure } from '../lib/util';
Expand Down
8 changes: 4 additions & 4 deletions packages/jsii-diff/lib/classes-ifaces.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import reflect = require('jsii-reflect');
import log4js = require('log4js');
import * as reflect from 'jsii-reflect';
import * as log4js from 'log4js';
import { compareStabilities } from './stability';
import { Analysis, FailedAnalysis, isSuperType } from './type-analysis';
import { ComparisonContext } from './types';
Expand Down Expand Up @@ -94,9 +94,9 @@ function describeOptionalValueMatchingFailure(origType: reflect.OptionalValue, u
const updaDescr = reflect.OptionalValue.describe(updatedType);
if (origDescr !== updaDescr) {
return `${updaDescr} (formerly ${origDescr}): ${analysis.reasons.join(', ')}`;
}
}
return `${updaDescr}: ${analysis.reasons.join(', ')}`;

}

function compareMethod<T extends (reflect.Method | reflect.Initializer)>(
Expand Down
4 changes: 2 additions & 2 deletions packages/jsii-diff/lib/enums.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import reflect = require('jsii-reflect');
import * as reflect from 'jsii-reflect';
import { compareStabilities } from './stability';
import { ComparisonContext } from './types';

Expand All @@ -18,4 +18,4 @@ export function compareEnum(original: reflect.EnumType, updated: reflect.EnumTyp

compareStabilities(origMember, updatedMember, context);
}
}
}
4 changes: 2 additions & 2 deletions packages/jsii-diff/lib/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import reflect = require('jsii-reflect');
import * as reflect from 'jsii-reflect';
import { Stability } from '@jsii/spec';
import log4js = require('log4js');
import * as log4js from 'log4js';
import { compareReferenceType, compareStruct } from './classes-ifaces';
import { compareEnum } from './enums';
import { ComparisonContext, ComparisonOptions, describeType, Mismatches } from './types';
Expand Down
4 changes: 2 additions & 2 deletions packages/jsii-diff/lib/stability.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import reflect = require('jsii-reflect');
import spec = require('@jsii/spec');
import * as reflect from 'jsii-reflect';
import * as spec from '@jsii/spec';
import { ApiElement, ComparisonContext } from './types';

export function compareStabilities(original: reflect.Documentable & ApiElement, updated: reflect.Documentable, context: ComparisonContext) {
Expand Down
2 changes: 1 addition & 1 deletion packages/jsii-diff/lib/type-analysis.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import reflect = require('jsii-reflect');
import * as reflect from 'jsii-reflect';
import { flatMap } from './util';

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/jsii-diff/lib/types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import reflect = require('jsii-reflect');
import * as reflect from 'jsii-reflect';
import { Stability } from '@jsii/spec';

export interface ComparisonOptions {
Expand Down
12 changes: 6 additions & 6 deletions packages/jsii-diff/lib/util.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import childProcess = require('child_process');
import fs = require('fs-extra');
import log4js = require('log4js');
import os = require('os');
import path = require('path');
import util = require('util');
import * as childProcess from 'child_process';
import * as fs from 'fs-extra';
import * as log4js from 'log4js';
import * as os from 'os';
import * as path from 'path';
import * as util from 'util';

const LOG = log4js.getLogger('jsii-diff');

Expand Down
1 change: 1 addition & 0 deletions packages/jsii-diff/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
},
"dependencies": {
"@jsii/spec": "^0.20.11",
"fs-extra": "^8.1.0",
"jsii-reflect": "^0.20.11",
"log4js": "^6.1.0",
"typescript": "~3.7.3",
Expand Down
2 changes: 1 addition & 1 deletion packages/jsii-diff/test/util.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { sourceToAssemblyHelper } from 'jsii';
import reflect = require('jsii-reflect');
import * as reflect from 'jsii-reflect';
import { compareAssemblies } from '../lib';
import { Mismatches } from '../lib/types';

Expand Down
10 changes: 5 additions & 5 deletions packages/jsii-pacmak/bin/jsii-pacmak.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#!/usr/bin/env node
import path = require('path');
import process = require('process');
import yargs = require('yargs');
import * as path from 'path';
import * as process from 'process';
import * as yargs from 'yargs';
import { Rosetta } from 'jsii-rosetta';
import logging = require('../lib/logging');
import * as logging from '../lib/logging';
import { Timers } from '../lib/timer';
import { VERSION_DESC } from '../lib/version';
import { findJsiiModules, updateAllNpmIgnores } from '../lib/npm-modules';
Expand Down Expand Up @@ -92,7 +92,7 @@ import { ALL_BUILDERS, TargetName } from '../lib/targets';
.strict()
.argv;

logging.level = argv.verbose !== undefined ? argv.verbose : 0;
logging.configure({ level: argv.verbose !== undefined ? argv.verbose : 0 });

// Default to 4 threads in case of concurrency, good enough for most situations
logging.debug('command line arguments:', argv);
Expand Down
Loading

0 comments on commit b6913c9

Please sign in to comment.