Skip to content

Commit 307c333

Browse files
committed
refactor: drop registrations that nothing resolves
Each of these was registered at boot and never resolved: no `$name` constructor parameter, no resolve()/get() call, no dynamic lookup. - wp8EmulatorServices: resolveEmulatorServices() branches on iOS and Android only, so the Windows Phone 8 stub was unreachable - networkConnectivityValidator, qrCodeTerminalService, qr - dispatcher (FutureDispatcher), which orphaned common/queue.ts; commandDispatcher in the same file stays, it drives the CLI entry point - swaggerBlock, swaggerLine, swaggerCodePrinter — registrations only. message-contract-generator imports and news these classes directly, so the classes stay. Also removes the requirePublicClass("localBuildService", …) line, whose target file does not exist. The lazy require meant it only threw if something resolved the name, and nothing ever did. constants was surveyed as dead too, but it is live: requirePublicClass exposes it as require("nativescript").constants, which the public API test asserts on. Kept.
1 parent e1af90e commit 307c333

14 files changed

Lines changed: 34 additions & 313 deletions

lib/bootstrap.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -309,10 +309,6 @@ injector.require("deployCommandHelper", "./helpers/deploy-command-helper");
309309
injector.require("platformCommandHelper", "./helpers/platform-command-helper");
310310
injector.require("optionsTracker", "./helpers/options-track-helper");
311311

312-
injector.requirePublicClass(
313-
"localBuildService",
314-
"./services/local-build-service",
315-
);
316312
injector.require("LiveSyncSocket", "./services/livesync/livesync-socket");
317313
injector.requirePublicClass(
318314
"androidLivesyncTool",
@@ -412,19 +408,11 @@ injector.require(
412408
injector.require("hmrStatusService", "./services/hmr-status-service");
413409

414410
injector.require("pacoteService", "./services/pacote-service");
415-
injector.require(
416-
"qrCodeTerminalService",
417-
"./services/qr-code-terminal-service",
418-
);
419411
injector.require(
420412
"testInitializationService",
421413
"./services/test-initialization-service",
422414
);
423415

424-
injector.require(
425-
"networkConnectivityValidator",
426-
"./helpers/network-connectivity-validator",
427-
);
428416
injector.requirePublic("cleanupService", "./services/cleanup-service");
429417

430418
injector.require(

lib/common/bootstrap.ts

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ injector.requirePublic("fs", "./file-system");
99
injector.require("hostInfo", "./host-info");
1010
injector.require("osInfo", "./os-info");
1111

12-
injector.require("dispatcher", "./dispatchers");
1312
injector.require("commandDispatcher", "./dispatchers");
1413

1514
injector.require("resources", "./resource-loader");
@@ -42,112 +41,111 @@ injector.requireCommand("autocomplete|status", "./commands/autocompletion");
4241

4342
injector.requireCommand(
4443
["device|*list", "devices|*list"],
45-
"./commands/device/list-devices"
44+
"./commands/device/list-devices",
4645
);
4746
injector.requireCommand(
4847
["device|android", "devices|android"],
49-
"./commands/device/list-devices"
48+
"./commands/device/list-devices",
5049
);
5150
injector.requireCommand(
5251
["device|ios", "devices|ios"],
53-
"./commands/device/list-devices"
52+
"./commands/device/list-devices",
5453
);
5554

5655
injector.requireCommand("device|log", "./commands/device/device-log-stream");
5756
injector.requireCommand("device|run", "./commands/device/run-application");
5857
injector.requireCommand("device|stop", "./commands/device/stop-application");
5958
injector.requireCommand(
6059
"device|list-applications",
61-
"./commands/device/list-applications"
60+
"./commands/device/list-applications",
6261
);
6362
injector.requireCommand(
6463
"device|uninstall",
65-
"./commands/device/uninstall-application"
64+
"./commands/device/uninstall-application",
6665
);
6766
injector.requireCommand("device|list-files", "./commands/device/list-files");
6867
injector.requireCommand("device|get-file", "./commands/device/get-file");
6968
injector.requireCommand("device|put-file", "./commands/device/put-file");
7069

7170
injector.require(
7271
"iosDeviceOperations",
73-
"./mobile/ios/device/ios-device-operations"
72+
"./mobile/ios/device/ios-device-operations",
7473
);
7574

7675
injector.require("deviceDiscovery", "./mobile/mobile-core/device-discovery");
7776
injector.require(
7877
"iOSDeviceDiscovery",
79-
"./mobile/mobile-core/ios-device-discovery"
78+
"./mobile/mobile-core/ios-device-discovery",
8079
);
8180
injector.require(
8281
"iOSSimulatorDiscovery",
83-
"./mobile/mobile-core/ios-simulator-discovery"
82+
"./mobile/mobile-core/ios-simulator-discovery",
8483
);
8584
injector.require(
8685
"androidDeviceDiscovery",
87-
"./mobile/mobile-core/android-device-discovery"
86+
"./mobile/mobile-core/android-device-discovery",
8887
);
8988
injector.require(
9089
"androidEmulatorDiscovery",
91-
"./mobile/mobile-core/android-emulator-discovery"
90+
"./mobile/mobile-core/android-emulator-discovery",
9291
);
9392
injector.require("iOSDevice", "./mobile/ios/device/ios-device");
9493
injector.require(
9594
"iOSDeviceProductNameMapper",
96-
"./mobile/ios/ios-device-product-name-mapper"
95+
"./mobile/ios/ios-device-product-name-mapper",
9796
);
9897
injector.require("androidDevice", "./mobile/android/android-device");
9998
injector.require("adb", "./mobile/android/android-debug-bridge");
10099
injector.require(
101100
"androidDebugBridgeResultHandler",
102-
"./mobile/android/android-debug-bridge-result-handler"
101+
"./mobile/android/android-debug-bridge-result-handler",
103102
);
104103
injector.require(
105104
"androidVirtualDeviceService",
106-
"./mobile/android/android-virtual-device-service"
105+
"./mobile/android/android-virtual-device-service",
107106
);
108107
injector.require(
109108
"androidIniFileParser",
110-
"./mobile/android/android-ini-file-parser"
109+
"./mobile/android/android-ini-file-parser",
111110
);
112111
injector.require(
113112
"androidGenymotionService",
114-
"./mobile/android/genymotion/genymotion-service"
113+
"./mobile/android/genymotion/genymotion-service",
115114
);
116115
injector.require(
117116
"virtualBoxService",
118-
"./mobile/android/genymotion/virtualbox-service"
117+
"./mobile/android/genymotion/virtualbox-service",
119118
);
120119
injector.require("logcatHelper", "./mobile/android/logcat-helper");
121120
injector.require("iOSSimResolver", "./mobile/ios/simulator/ios-sim-resolver");
122121
injector.require(
123122
"iOSSimulatorLogProvider",
124-
"./mobile/ios/simulator/ios-simulator-log-provider"
123+
"./mobile/ios/simulator/ios-simulator-log-provider",
125124
);
126125

127126
injector.require(
128127
"localToDevicePathDataFactory",
129-
"./mobile/local-to-device-path-data-factory"
128+
"./mobile/local-to-device-path-data-factory",
130129
);
131130

132131
injector.requirePublic(
133132
"devicesService",
134-
"./mobile/mobile-core/devices-service"
133+
"./mobile/mobile-core/devices-service",
135134
);
136135
injector.requirePublic(
137136
"androidProcessService",
138-
"./mobile/mobile-core/android-process-service"
137+
"./mobile/mobile-core/android-process-service",
139138
);
140139
injector.require("projectNameValidator", "./validators/project-name-validator");
141140

142141
injector.require(
143142
"androidEmulatorServices",
144-
"./mobile/android/android-emulator-services"
143+
"./mobile/android/android-emulator-services",
145144
);
146145
injector.require(
147146
"iOSEmulatorServices",
148-
"./mobile/ios/simulator/ios-emulator-services"
147+
"./mobile/ios/simulator/ios-emulator-services",
149148
);
150-
injector.require("wp8EmulatorServices", "./mobile/wp8/wp8-emulator-services");
151149

152150
injector.require("autoCompletionService", "./services/auto-completion-service");
153151
injector.requirePublic("settingsService", "./services/settings-service");
@@ -157,18 +155,18 @@ injector.require("mobileHelper", "./mobile/mobile-helper");
157155
injector.require("emulatorHelper", "./mobile/emulator-helper");
158156
injector.require(
159157
"devicePlatformsConstants",
160-
"./mobile/device-platforms-constants"
158+
"./mobile/device-platforms-constants",
161159
);
162160
injector.require("helpService", "./services/help-service");
163161
injector.require(
164162
"messageContractGenerator",
165-
"./services/message-contract-generator"
163+
"./services/message-contract-generator",
166164
);
167165
injector.require("proxyService", "./services/proxy-service");
168166
injector.requireCommand("dev-preuninstall", "./commands/preuninstall");
169167
injector.requireCommand(
170168
"dev-generate-messages",
171-
"./commands/generate-messages"
169+
"./commands/generate-messages",
172170
);
173171
injector.requireCommand("doctor|*all", "./commands/doctor");
174172
injector.requireCommand("doctor|ios", "./commands/doctor");
@@ -190,5 +188,4 @@ injector.require("projectFilesManager", "./services/project-files-manager");
190188
injector.require("xcodeSelectService", "./services/xcode-select-service");
191189
injector.require("net", "./services/net-service");
192190

193-
injector.require("qr", "./services/qr");
194191
injector.require(["lockfile", "lockService"], "./services/lock-service");

lib/common/codeGeneration/code-entity.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import * as _ from "lodash";
2-
import { injector } from "../yok";
32
import { CodeGeneration } from "./code-generation";
43

54
export enum CodeEntityType {
@@ -22,7 +21,6 @@ export class Line implements CodeGeneration.ILine {
2221
return new Line(content);
2322
}
2423
}
25-
injector.register("swaggerLine", Line);
2624

2725
export class Block implements CodeGeneration.IBlock {
2826
public opener: string;
@@ -55,4 +53,3 @@ export class Block implements CodeGeneration.IBlock {
5553
this.codeEntities.push(line);
5654
}
5755
}
58-
injector.register("swaggerBlock", Block);

lib/common/codeGeneration/code-printer.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import * as _ from "lodash";
22
import { EOL } from "os";
33
import { CodeEntityType } from "./code-entity";
44
import { CodeGeneration } from "./code-generation";
5-
import { injector } from "../yok";
65

76
export class CodePrinter {
87
private static INDENT_CHAR = "\t";
@@ -12,7 +11,7 @@ export class CodePrinter {
1211

1312
public composeBlock(
1413
block: CodeGeneration.IBlock,
15-
indentSize?: number
14+
indentSize?: number,
1615
): string {
1716
indentSize = indentSize === undefined ? 0 : indentSize;
1817
let content = this.getIndentation(indentSize);
@@ -27,12 +26,12 @@ export class CodePrinter {
2726
if (codeEntity.codeEntityType === CodeEntityType.Line) {
2827
content += this.composeLine(
2928
<CodeGeneration.ILine>codeEntity,
30-
indentSize + 1
29+
indentSize + 1,
3130
);
3231
} else if (codeEntity.codeEntityType === CodeEntityType.Block) {
3332
content += this.composeBlock(
3433
<CodeGeneration.IBlock>codeEntity,
35-
indentSize + 1
34+
indentSize + 1,
3635
);
3736
}
3837
});
@@ -59,4 +58,3 @@ export class CodePrinter {
5958
return content;
6059
}
6160
}
62-
injector.register("swaggerCodePrinter", CodePrinter);

lib/common/declarations.d.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,6 @@ interface ICommandOptions {
270270
disableCommandHelpSuggestion?: boolean;
271271
}
272272

273-
interface IFutureDispatcher {
274-
run(): void;
275-
dispatch(action: () => Promise<void>): void;
276-
}
277-
278273
interface ICommandDispatcher {
279274
dispatchCommand(): Promise<void>;
280275
}
@@ -284,11 +279,6 @@ interface ICancellationService extends IDisposable {
284279
end(name: string): void;
285280
}
286281

287-
interface IQueue<T> {
288-
enqueue(item: T): void;
289-
dequeue(): Promise<T>;
290-
}
291-
292282
interface IChildProcess extends ChildProcess {}
293283

294284
interface IExecOptions {
@@ -558,10 +548,6 @@ interface IProxyService {
558548
getInfo(): Promise<string>;
559549
}
560550

561-
interface IQrCodeGenerator {
562-
generateDataUri(data: string): Promise<string>;
563-
}
564-
565551
interface IQrCodeImageData {
566552
/**
567553
* The original URL used for generating QR code image.

lib/common/dispatchers.ts

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
import * as _ from "lodash";
2-
import * as queue from "./queue";
32
import * as path from "path";
43
import { hook } from "./helpers";
54
import {
65
ICommandDispatcher,
76
ICancellationService,
87
ISysInfo,
9-
IFutureDispatcher,
10-
IQueue,
11-
IErrors,
128
} from "./declarations";
139
import { IOptions, IPackageManager, IVersionsService } from "../declarations";
1410
import { IInjector } from "./definitions/yok";
@@ -29,7 +25,7 @@ export class CommandDispatcher implements ICommandDispatcher {
2925
private $options: IOptions,
3026
private $versionsService: IVersionsService,
3127
private $packageManager: IPackageManager,
32-
private $terminalSpinnerService: ITerminalSpinnerService
28+
private $terminalSpinnerService: ITerminalSpinnerService,
3329
) {}
3430

3531
public async dispatchCommand(): Promise<void> {
@@ -45,7 +41,7 @@ export class CommandDispatcher implements ICommandDispatcher {
4541
__dirname,
4642
"..",
4743
"..",
48-
"package.json"
44+
"package.json",
4945
),
5046
});
5147
this.$logger.trace("System information:");
@@ -76,15 +72,15 @@ export class CommandDispatcher implements ICommandDispatcher {
7672

7773
await this.$commandsService.tryExecuteCommand(
7874
commandName,
79-
commandArguments
75+
commandArguments,
8076
);
8177
}
8278

8379
@hook("resolveCommand")
8480
private async resolveCommand(
8581
commandName: string,
8682
commandArguments: string[],
87-
argv: string[]
83+
argv: string[],
8884
) {
8985
// just a hook point
9086
return { commandName, commandArguments, argv };
@@ -142,39 +138,16 @@ export class CommandDispatcher implements ICommandDispatcher {
142138
nativescriptCliVersion.latestVersion,
143139
{
144140
loose: true,
145-
}
141+
},
146142
)
147143
) {
148144
// up-to-date
149145
spinner.succeed("Up to date.");
150146
} else {
151147
spinner.info(
152-
`New version of NativeScript CLI is available (${nativescriptCliVersion.latestVersion}), run '${updateCommand}' to update.`
148+
`New version of NativeScript CLI is available (${nativescriptCliVersion.latestVersion}), run '${updateCommand}' to update.`,
153149
);
154150
}
155151
}
156152
}
157153
injector.register("commandDispatcher", CommandDispatcher);
158-
159-
class FutureDispatcher implements IFutureDispatcher {
160-
private actions: IQueue<any>;
161-
162-
public constructor(private $errors: IErrors) {}
163-
164-
public async run(): Promise<void> {
165-
if (this.actions) {
166-
this.$errors.fail("You cannot run a running future dispatcher.");
167-
}
168-
this.actions = new queue.Queue<any>();
169-
170-
while (true) {
171-
const action = await this.actions.dequeue();
172-
await action();
173-
}
174-
}
175-
176-
public dispatch(action: () => Promise<void>) {
177-
this.actions.enqueue(action);
178-
}
179-
}
180-
injector.register("dispatcher", FutureDispatcher, false);

0 commit comments

Comments
 (0)