Skip to content
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

ESLint: enable no var requires rule #992

Merged
merged 20 commits into from
Sep 8, 2020
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
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
1 change: 0 additions & 1 deletion visualization/.eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ module.exports = {
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/consistent-type-assertions": "off",
"@typescript-eslint/no-non-null-assertion": "off",
}
Expand Down
19 changes: 3 additions & 16 deletions visualization/app/codeCharta/codeCharta.component.spec.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
import "./codeCharta.module"
import _ from "lodash"
import { IHttpService, ILocationService } from "angular"
import { DialogService } from "./ui/dialog/dialog.service"
import { CodeChartaService } from "./codeCharta.service"
import { CodeChartaController } from "./codeCharta.component"
import { getService, instantiateModule } from "../../mocks/ng.mockhelper"
import { State } from "./codeCharta.model"
import { ScenarioHelper } from "./util/scenarioHelper"
import { InjectorService } from "./state/injector.service"
import { StoreService } from "./state/store.service"
import { STATE } from "./util/dataMocks"
import { setAppSettings } from "./state/store/appSettings/appSettings.actions"
import { ThreeCameraService } from "./ui/codeMap/threeViewer/threeCameraService"
import sample1 from "./assets/sample1.cc.json"
import sample2 from "./assets/sample2.cc.json"

describe("codeChartaController", () => {
let codeChartaController: CodeChartaController
Expand All @@ -22,7 +20,6 @@ describe("codeChartaController", () => {
let dialogService: DialogService
let codeChartaService: CodeChartaService
let injectorService: InjectorService
let state: State

beforeEach(() => {
restartSystem()
Expand All @@ -31,7 +28,6 @@ describe("codeChartaController", () => {
withMockedUrlUtils()
withMockedCodeChartaService()
withMockedDialogService()
withMockedScenarioHelper()
})

function restartSystem() {
Expand All @@ -44,8 +40,6 @@ describe("codeChartaController", () => {
dialogService = getService<DialogService>("dialogService")
codeChartaService = getService<CodeChartaService>("codeChartaService")
injectorService = getService<InjectorService>("injectorService")

state = _.cloneDeep(STATE)
}

function rebuildController() {
Expand Down Expand Up @@ -80,10 +74,6 @@ describe("codeChartaController", () => {
threeCameraService.init(1536, 754)
}

function withMockedScenarioHelper() {
ScenarioHelper.getDefaultScenario = jest.fn().mockReturnValue({ settings: state })
}

describe("constructor", () => {
it("should set urlUtils", () => {
rebuildController()
Expand Down Expand Up @@ -143,10 +133,7 @@ describe("codeChartaController", () => {
})

it("should call loadFiles with sample files", () => {
const expected = [
{ fileName: "sample1.cc.json", content: require("./assets/sample1.cc.json") },
{ fileName: "sample2.cc.json", content: require("./assets/sample2.cc.json") }
]
const expected = [{ fileName: "sample1.cc.json", content: sample1 }, { fileName: "sample2.cc.json", content: sample2 }]

codeChartaController.tryLoadingSampleFiles()

Expand Down
11 changes: 5 additions & 6 deletions visualization/app/codeCharta/codeCharta.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ import { StoreService } from "./state/store.service"
import { setState } from "./state/store/state.actions"
import { setAppSettings } from "./state/store/appSettings/appSettings.actions"
import { setIsLoadingFile } from "./state/store/appSettings/isLoadingFile/isLoadingFile.actions"
import * as codeCharta from "../../package.json"
import { setDelta, setMultiple, setSingle } from "./state/store/files/files.actions"
import { getCCFiles } from "./model/files/files.helper"
import sample1 from "./assets/sample1.cc.json"
import sample2 from "./assets/sample2.cc.json"
BridgeAR marked this conversation as resolved.
Show resolved Hide resolved
import { getVersion } from "./util/version"

export class CodeChartaController {
private _viewModel: {
Expand All @@ -33,7 +35,7 @@ export class CodeChartaController {
// @ts-ignore
private injectorService: InjectorService // We have to inject it somewhere
) {
this._viewModel.version = codeCharta.version
this._viewModel.version = getVersion()
NearW marked this conversation as resolved.
Show resolved Hide resolved
this.urlUtils = new UrlExtractor(this.$location, this.$http)
this.storeService.dispatch(setIsLoadingFile(true))
this.loadFileOrSample()
Expand Down Expand Up @@ -61,10 +63,7 @@ export class CodeChartaController {
"One or more files from the given file URL parameter could not be loaded. Loading sample files instead."
)
}
this.tryLoadingFiles([
{ fileName: "sample1.cc.json", content: require("./assets/sample1.cc.json") },
{ fileName: "sample2.cc.json", content: require("./assets/sample2.cc.json") }
])
this.tryLoadingFiles([{ fileName: "sample1.cc.json", content: sample1 }, { fileName: "sample2.cc.json", content: sample2 }])
}

private tryLoadingFiles(values: NameDataPair[]) {
Expand Down
3 changes: 2 additions & 1 deletion visualization/app/codeCharta/e2e/logo.e2e.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { goto, launch, newPage } from "../../puppeteer.helper"
import { LogoPageObject } from "./logo.po"
import { Browser, Page } from "puppeteer"
import { getVersion } from "../util/version"

jest.setTimeout(20000)

Expand All @@ -25,7 +26,7 @@ describe("CodeCharta logo", () => {
})

it("should have correct version", async () => {
expect(await logo.getVersion()).toBe(require("../../../package.json").version)
expect(await logo.getVersion()).toBe(getVersion())
})

it("should have correct link", async () => {
Expand Down
9 changes: 6 additions & 3 deletions visualization/app/codeCharta/e2e/url.e2e.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { CC_URL, newPage, puppeteer } from "../../puppeteer.helper"
import * as puppeteer from "puppeteer"
import { CC_URL, newPage } from "../../puppeteer.helper"
import { DialogErrorPageObject } from "../ui/dialog/dialog.error.po"
import { FilePanelPageObject } from "../ui/filePanel/filePanel.po"
import { Browser, Page } from "puppeteer"
import sample1 from "../assets/sample3.cc.json"
import sample3 from "../assets/sample3.cc.json"

jest.setTimeout(15000)

Expand Down Expand Up @@ -52,13 +55,13 @@ describe("codecharta", () => {
request.respond({
contentType: "application/json",
headers: { "Access-Control-Allow-Origin": "*" },
body: JSON.stringify(require("../assets/sample2.cc.json"))
body: JSON.stringify(sample1)
BridgeAR marked this conversation as resolved.
Show resolved Hide resolved
})
} else if (request.url().includes("/fileTwo.json")) {
request.respond({
contentType: "application/json",
headers: { "Access-Control-Allow-Origin": "*" },
body: JSON.stringify(require("../assets/sample3.cc.json"))
body: JSON.stringify(sample3)
})
} else {
request.continue()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ColorRangeAction, ColorRangeActions, setColorRange } from "./colorRange.actions"
import { ColorRange } from "../../../../codeCharta.model"
const clone = require("rfdc")()
import { clone } from "../../../../util/clone"

export function colorRange(state: ColorRange = setColorRange().payload, action: ColorRangeAction): ColorRange {
switch (action.type) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { AttributeTypesAction, AttributeTypesActions, setAttributeTypes, UpdateAttributeTypeAction } from "./attributeTypes.actions"
import { AttributeTypes } from "../../../../codeCharta.model"
const clone = require("rfdc")()
import { clone } from "../../../../util/clone"

export function attributeTypes(state: AttributeTypes = setAttributeTypes().payload, action: AttributeTypesAction): AttributeTypes {
switch (action.type) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { BlacklistItem } from "../../../../codeCharta.model"
import { BlacklistAction, BlacklistActions, setBlacklist } from "./blacklist.actions"
import { addItemToArray, removeItemFromArray } from "../../../../util/reduxHelper"
const clone = require("rfdc")()
import { clone } from "../../../../util/clone"

export function blacklist(state: BlacklistItem[] = setBlacklist().payload, action: BlacklistAction): BlacklistItem[] {
switch (action.type) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { EdgesAction, EdgesActions, setEdges } from "./edges.actions"
import { Edge } from "../../../../codeCharta.model"
import { addItemToArray, removeItemFromArray } from "../../../../util/reduxHelper"
const clone = require("rfdc")()
import { clone } from "../../../../util/clone"

export function edges(state: Edge[] = setEdges().payload, action: EdgesAction): Edge[] {
switch (action.type) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MarkedPackagesAction, MarkedPackagesActions, setMarkedPackages } from "./markedPackages.actions"
import { MarkedPackage } from "../../../../codeCharta.model"
import { addItemToArray, removeItemFromArray } from "../../../../util/reduxHelper"
const clone = require("rfdc")()
import { clone } from "../../../../util/clone"

export function markedPackages(state: MarkedPackage[] = setMarkedPackages().payload, action: MarkedPackagesAction): MarkedPackage[] {
switch (action.type) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { FilesAction, FilesSelectionActions, NewFilesImportedActions, setFiles } from "./files.actions"
import { CCFile } from "../../../codeCharta.model"
import { FileSelectionState, FileState } from "../../../model/files/files"

const clone = require("rfdc")()
import { clone } from "../../../util/clone"

export default function files(state: FileState[] = setFiles().payload, action: FilesAction): FileState[] {
switch (action.type) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { SortingOptionActions } from "../../state/store/dynamicSettings/sortingO
import { IsAttributeSideBarVisibleActions } from "../../state/store/appSettings/isAttributeSideBarVisible/isAttributeSideBarVisible.actions"
import { fileStatesAvailable, getVisibleFileStates, isDeltaState, isPartialState, isSingleState } from "../../model/files/files.helper"
import { FileSelectionState, FileState } from "../../model/files/files"
const clone = require("rfdc")()
import { clone } from "../../util/clone"

export interface CodeMapPreRenderServiceSubscriber {
onRenderMapChanged(map: CodeMapNode)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import {
import { FilesService, FilesSelectionSubscriber } from "../../../state/store/files/files.service"
import { setCameraTarget } from "../../../state/store/appSettings/cameraTarget/cameraTarget.actions"
import { FileState } from "../../../model/files/files"
import * as Three from "three"
import oc from "three-orbit-controls"

export interface CameraChangeSubscriber {
onCameraChanged(camera: PerspectiveCamera)
Expand Down Expand Up @@ -127,7 +129,7 @@ export class ThreeOrbitControlsService implements FocusNodeSubscriber, UnfocusNo
}

public init(domElement) {
const OrbitControls = require("three-orbit-controls")(require("three"))
const OrbitControls = oc(Three)
this.controls = new OrbitControls(this.threeCameraService.camera, domElement)
this.controls.addEventListener("change", () => {
this.onInput(this.threeCameraService.camera)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { StoreService } from "../../state/store.service"
import { setIsLoadingFile } from "../../state/store/appSettings/isLoadingFile/isLoadingFile.actions"
import { resetFiles } from "../../state/store/files/files.actions"
import { CCValidationResult } from "../../util/fileValidator"
import zlib from "zlib"

export class FileChooserController {
/* @ngInject */
Expand All @@ -36,8 +37,6 @@ export class FileChooserController {
}
reader.onload = event => {
if (isCompressed) {
const zlib = require("zlib")

content = zlib.unzipSync(Buffer.from((<any>event.target).result))
} else {
content = (<any>event.target).result
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ import {
} from "../../state/store/appSettings/sortingOrderAscending/sortingOrderAscending.service"
import { SortingOptionService, SortingOptionSubscriber } from "../../state/store/dynamicSettings/sortingOption/sortingOption.service"
import { MetricService } from "../../state/metric.service"

const clone = require("rfdc")()
import { clone } from "../../util/clone"

export class MapTreeViewController implements CodeMapPreRenderServiceSubscriber, SortingOptionSubscriber, SortingOrderAscendingSubscriber {
private _viewModel: {
Expand Down
3 changes: 2 additions & 1 deletion visualization/app/codeCharta/util/aggregationGenerator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { CodeMapNode, CCFile, NodeType } from "../codeCharta.model"
import { CodeChartaService } from "../codeCharta.service"
import { FileNameHelper } from "./fileNameHelper"
import { getUpdatedPath } from "./nodePathHelper"
import { getAPIVersion } from "./version"

export class AggregationGenerator {
private static projectNameArray: string[] = []
Expand All @@ -26,7 +27,7 @@ export class AggregationGenerator {
fileMeta: {
projectName: "project_aggregation_of_" + this.projectNameArray.join("_and_"),
fileName: "file_aggregation_of_" + this.fileNameArray.join("_and_"),
apiVersion: require("../../../package.json").codecharta.apiVersion
apiVersion: getAPIVersion()
},
map: {
name: CodeChartaService.ROOT_NAME,
Expand Down
13 changes: 13 additions & 0 deletions visualization/app/codeCharta/util/clone.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { clone } from "./clone"

describe("clone", () => {
it("should clone a javascript object", () => {
const object = { x: 1, y: 2 }

const actual = clone(object)

expect(actual).toEqual(object)
object.x = 2
expect(actual).not.toEqual(object)
})
})
5 changes: 5 additions & 0 deletions visualization/app/codeCharta/util/clone.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import rfdc from "rfdc"

export function clone(content: any): any {
return rfdc()(content)
}
NearW marked this conversation as resolved.
Show resolved Hide resolved
5 changes: 3 additions & 2 deletions visualization/app/codeCharta/util/deltaGenerator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import { CodeMapNode, CCFile, KeyValuePair, FileMeta } from "../codeCharta.model
import _ from "lodash"
import { MapBuilder } from "./mapBuilder"
import { FileNameHelper } from "./fileNameHelper"
const clone = require("rfdc")()
import { clone } from "./clone"
import { getAPIVersion } from "./version"

export class DeltaGenerator {
public static getDeltaFile(referenceFile: CCFile, comparisonFile: CCFile): CCFile {
Expand Down Expand Up @@ -84,7 +85,7 @@ export class DeltaGenerator {
FileNameHelper.withoutCCJsonExtension(referenceFile.fileMeta.fileName) +
"_and_" +
FileNameHelper.withoutCCJsonExtension(comparisonFile.fileMeta.fileName),
apiVersion: require("../../../package.json").codecharta.apiVersion,
apiVersion: getAPIVersion(),
projectName: "delta_between_" + referenceFile.fileMeta.projectName + "_and_" + comparisonFile.fileMeta.projectName
}
}
Expand Down
2 changes: 1 addition & 1 deletion visualization/app/codeCharta/util/fileDownloader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { DownloadCheckboxNames } from "../ui/dialog/dialog.download.component"
import { CodeChartaService } from "../codeCharta.service"
import { stringify } from "querystring"
import { MetricService } from "../state/metric.service"
const clone = require("rfdc")()
import { clone } from "./clone"

export class FileDownloader {
public static downloadCurrentMap(
Expand Down
3 changes: 2 additions & 1 deletion visualization/app/codeCharta/util/fileValidator.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
TEST_FILE_CONTENT_NO_API
} from "./dataMocks"
import { NodeType } from "../codeCharta.model"
import { getAPIVersion } from "./version"

describe("FileValidator", () => {
let file
Expand All @@ -25,7 +26,7 @@ describe("FileValidator", () => {
}

it("API version exists in package.json", () => {
expect(require("../../../package.json").codecharta.apiVersion).toEqual("1.1")
expect(getAPIVersion()).toEqual("1.1")
})

it("should reject null", () => {
Expand Down
9 changes: 4 additions & 5 deletions visualization/app/codeCharta/util/fileValidator.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { CodeMapNode } from "../codeCharta.model"
import Ajv from "ajv"

const jsonSchema = require("./schema.json")
const latestApiVersion = require("../../../package.json").codecharta.apiVersion
import jsonSchema from "./schema.json"
import { getAPIVersion } from "./version"

interface ApiVersion {
major: number
Expand Down Expand Up @@ -116,12 +115,12 @@ export class FileValidator {

private static fileHasHigherMajorVersion(file: { apiVersion: string; nodes: CodeMapNode[] }): boolean {
const apiVersion = this.getAsApiVersion(file.apiVersion)
return apiVersion.major > this.getAsApiVersion(latestApiVersion).major
return apiVersion.major > this.getAsApiVersion(getAPIVersion()).major
}

private static fileHasHigherMinorVersion(file: { apiVersion: string; nodes: CodeMapNode[] }): boolean {
const apiVersion = this.getAsApiVersion(file.apiVersion)
return apiVersion.minor > this.getAsApiVersion(latestApiVersion).minor
return apiVersion.minor > this.getAsApiVersion(getAPIVersion()).minor
}

private static getAsApiVersion(version: string): ApiVersion {
Expand Down
3 changes: 1 addition & 2 deletions visualization/app/codeCharta/util/reduxHelper.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import angular from "angular"

const clone = require("rfdc")()
import { clone } from "./clone"

export function removeItemFromArray(array: any[], item: any): any[] {
return array.filter(x => {
Expand Down
3 changes: 2 additions & 1 deletion visualization/app/codeCharta/util/scenarioHelper.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ import { PARTIAL_SETTINGS, SCENARIO, SCENARIO_WITH_ONLY_HEIGHT } from "./dataMoc
import { Vector3 } from "three"
import { ScenarioMetricType } from "../ui/dialog/dialog.addScenarioSettings.component"
import { ScenarioItem } from "../ui/scenarioDropDown/scenarioDropDown.component"
import scenarioJson from "../assets/scenarios.json"

describe("scenarioHelper", () => {
const scenarios: ExportScenario[] = require("../assets/scenarios.json")
const scenarios: ExportScenario[] = scenarioJson

afterEach(() => {
jest.resetAllMocks()
Expand Down
Loading