Skip to content

Commit 48f9797

Browse files
committed
Defer requiring SemanticView until needed
1 parent 2dc9367 commit 48f9797

File tree

6 files changed

+23
-18
lines changed

6 files changed

+23
-18
lines changed

dist/main/atom/views/outline/semanticView.js

Lines changed: 0 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/main/atom/views/outline/semanticView.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/main/atomts.js

Lines changed: 9 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/main/atomts.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/main/atom/views/outline/semanticView.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ export interface SemanticViewSerializationData {
1313
deserializer: "atomts-semantic-view/SemanticView"
1414
}
1515

16-
export function deserializeSemanticView(serialized: SemanticViewSerializationData) {
17-
return SemanticView.create(serialized.data)
18-
}
19-
2016
export class SemanticView {
2117
public static create(config: SemanticViewOptions) {
2218
if (!SemanticView.instance) SemanticView.instance = new SemanticView(config)

lib/main/atomts.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,26 @@ import {DisposableLike} from "atom"
22
import {BusySignalService, DatatipService, SignatureHelpRegistry} from "atom/ide"
33
import {IndieDelegate} from "atom/linter"
44
import {StatusBar} from "atom/status-bar"
5+
import {SemanticView, SemanticViewSerializationData} from "./atom/views/outline/semanticView"
56
import {State} from "./packageState"
67
import {PluginManager} from "./pluginManager"
7-
export {deserializeSemanticView} from "./atom/views/outline/semanticView"
88

99
let pluginManager: PluginManager | undefined
1010

1111
export async function activate(state: State) {
12-
// tslint:disable:no-unsafe-any
1312
const pns = atom.packages.getAvailablePackageNames()
1413
const packagesProvidingUIServices = ["atom-ide-ui", "linter", "nuclide"]
1514
if (!packagesProvidingUIServices.some(p => pns.includes(p))) {
15+
// tslint:disable-next-line:no-unsafe-any
1616
await require("atom-package-deps").install("atom-typescript", true)
1717
}
1818

19+
// tslint:disable-next-line:no-unsafe-any
1920
require("etch").setScheduler(atom.views)
2021

2122
// tslint:disable-next-line:no-shadowed-variable
22-
const {PluginManager} = require("./pluginManager")
23+
const {PluginManager} = require("./pluginManager") as typeof import("./pluginManager")
2324
pluginManager = new PluginManager(state)
24-
// tslint:enable:no-unsafe-any
2525
}
2626

2727
export function deactivate() {
@@ -34,6 +34,14 @@ export function serialize() {
3434
else return undefined
3535
}
3636

37+
export function deserializeSemanticView(serialized: SemanticViewSerializationData): SemanticView {
38+
const {
39+
// tslint:disable-next-line:no-unsafe-any no-shadowed-variable
40+
SemanticView,
41+
} = require("./atom/views/outline/semanticView") as typeof import("./atom/views/outline/semanticView")
42+
return SemanticView.create(serialized.data)
43+
}
44+
3745
////////////////////////////////// Consumers ///////////////////////////////////
3846
export function consumeLinter(
3947
register: (opts: {name: string}) => IndieDelegate,

0 commit comments

Comments
 (0)