diff --git a/lib/definitions/platform.d.ts b/lib/definitions/platform.d.ts index 5d29921748..ac8874cea1 100644 --- a/lib/definitions/platform.d.ts +++ b/lib/definitions/platform.d.ts @@ -284,7 +284,6 @@ interface INodeModulesBuilderData { interface INodeModulesBuilder { prepareNodeModules(opts: INodeModulesBuilderData): Promise; prepareJSNodeModules(opts: INodeModulesBuilderData): Promise; - cleanNodeModules(absoluteOutputPath: string): void; } interface INodeModulesDependenciesBuilder { diff --git a/lib/tools/node-modules/node-modules-builder.ts b/lib/tools/node-modules/node-modules-builder.ts index aad4a34fdd..17f1c27317 100644 --- a/lib/tools/node-modules/node-modules-builder.ts +++ b/lib/tools/node-modules/node-modules-builder.ts @@ -1,4 +1,3 @@ -import * as shelljs from "shelljs"; import { TnsModulesCopy, NpmPluginPrepare } from "./node-modules-dest-copy"; export class NodeModulesBuilder implements INodeModulesBuilder { @@ -23,20 +22,14 @@ export class NodeModulesBuilder implements INodeModulesBuilder { const { nodeModulesData } = opts; const productionDependencies = this.$nodeModulesDependenciesBuilder.getProductionDependencies(nodeModulesData.projectData.projectDir); - if (opts.copyNodeModules) { + if (opts.copyNodeModules && !nodeModulesData.appFilesUpdaterOptions.bundle) { this.initialPrepareNodeModules(opts, productionDependencies); - } else if (nodeModulesData.appFilesUpdaterOptions.bundle) { - this.cleanNodeModules(nodeModulesData.absoluteOutputPath); } return productionDependencies; } - public cleanNodeModules(absoluteOutputPath: string): void { - shelljs.rm("-rf", absoluteOutputPath); - } - - private initialPrepareNodeModules(opts: INodeModulesBuilderData, productionDependencies: IDependencyData[]): IDependencyData[] { + private initialPrepareNodeModules(opts: INodeModulesBuilderData, productionDependencies: IDependencyData[]): void { const { nodeModulesData, release } = opts; if (!this.$fs.exists(nodeModulesData.absoluteOutputPath)) { @@ -44,16 +37,11 @@ export class NodeModulesBuilder implements INodeModulesBuilder { nodeModulesData.lastModifiedTime = null; } - if (!nodeModulesData.appFilesUpdaterOptions.bundle) { - const tnsModulesCopy: TnsModulesCopy = this.$injector.resolve(TnsModulesCopy, { - outputRoot: nodeModulesData.absoluteOutputPath - }); - tnsModulesCopy.copyModules({ dependencies: productionDependencies, release }); - } else { - this.cleanNodeModules(nodeModulesData.absoluteOutputPath); - } + const tnsModulesCopy: TnsModulesCopy = this.$injector.resolve(TnsModulesCopy, { + outputRoot: nodeModulesData.absoluteOutputPath + }); - return productionDependencies; + tnsModulesCopy.copyModules({ dependencies: productionDependencies, release }); } } diff --git a/test/npm-support.ts b/test/npm-support.ts index e917bf4dd3..cb6bb86eed 100644 --- a/test/npm-support.ts +++ b/test/npm-support.ts @@ -294,28 +294,6 @@ describe("Npm support tests", () => { assert.isTrue(filteredResults.length === 1); }); - - it("Ensures that tns_modules absent when bundling", async () => { - const fs = testInjector.resolve("fs"); - const options = testInjector.resolve("options"); - const tnsModulesFolderPath = path.join(appDestinationFolderPath, "app", "tns_modules"); - - try { - options.bundle = false; - await preparePlatform(testInjector); - assert.isTrue(fs.exists(tnsModulesFolderPath), "tns_modules created first"); - - options.bundle = true; - await preparePlatform(testInjector); - assert.isFalse(fs.exists(tnsModulesFolderPath), "tns_modules deleted when bundling"); - - options.bundle = false; - await preparePlatform(testInjector); - assert.isTrue(fs.exists(tnsModulesFolderPath), "tns_modules recreated"); - } finally { - options.bundle = false; - } - }); }); describe("Flatten npm modules tests", () => {