Esempio n. 1
0
    public async Task AddAngularPackageAsync(string directory, NpmPackageInfo npmPackage, string version = null,
                                             bool withSourceCode = false)
    {
        var packageJsonFilePath = Path.Combine(directory, "package.json");

        if (!File.Exists(packageJsonFilePath))
        {
            Logger.LogError($"package.json not found!");
            return;
        }

        Logger.LogInformation($"Installing '{npmPackage.Name}' package to the project '{packageJsonFilePath}'...");

        if (!File.ReadAllText(packageJsonFilePath).Contains($"\"{npmPackage.Name}\""))
        {
            var versionPostfix = version != null ? $"@{version}" : string.Empty;

            using (DirectoryHelper.ChangeCurrentDirectory(directory))
            {
                Logger.LogInformation("yarn add " + npmPackage.Name + versionPostfix);
                CmdHelper.RunCmd("yarn add " + npmPackage.Name + versionPostfix);
            }
        }
        else
        {
            Logger.LogInformation($"'{npmPackage.Name}' is already installed.");
        }

        if (withSourceCode)
        {
            await DownloadAngularSourceCode(directory, npmPackage, version);

            await AngularSourceCodeAdder.AddAsync(directory, npmPackage);
        }
    }
Esempio n. 2
0
    private async Task AddAngularSourceCode(string modulesFolderInSolution, string solutionFilePath, string moduleName, bool newTemplate)
    {
        var angularPath = Path.Combine(Path.GetDirectoryName(Path.GetDirectoryName(solutionFilePath)), "angular");

        if (!Directory.Exists(angularPath))
        {
            DeleteAngularDirectoriesInModulesFolder(modulesFolderInSolution);
            return;
        }

        await PublishEventAsync(9, $"Adding angular source code");

        await AngularSourceCodeAdder.AddFromModuleAsync(solutionFilePath, angularPath);
    }
Esempio n. 3
0
 public ProjectNpmPackageAdder(CliHttpClientFactory cliHttpClientFactory,
                               IJsonSerializer jsonSerializer,
                               SourceCodeDownloadService sourceCodeDownloadService,
                               AngularSourceCodeAdder angularSourceCodeAdder,
                               IRemoteServiceExceptionHandler remoteServiceExceptionHandler,
                               ICmdHelper cmdHelper)
 {
     JsonSerializer                = jsonSerializer;
     SourceCodeDownloadService     = sourceCodeDownloadService;
     AngularSourceCodeAdder        = angularSourceCodeAdder;
     RemoteServiceExceptionHandler = remoteServiceExceptionHandler;
     CmdHelper             = cmdHelper;
     _cliHttpClientFactory = cliHttpClientFactory;
     Logger = NullLogger <ProjectNpmPackageAdder> .Instance;
 }
Esempio n. 4
0
 public SolutionModuleAdder(
     IJsonSerializer jsonSerializer,
     ProjectNugetPackageAdder projectNugetPackageAdder,
     DbContextFileBuilderConfigureAdder dbContextFileBuilderConfigureAdder,
     EfCoreMigrationManager efCoreMigrationManager,
     DerivedClassFinder derivedClassFinder,
     ProjectNpmPackageAdder projectNpmPackageAdder,
     NpmGlobalPackagesChecker npmGlobalPackagesChecker,
     IRemoteServiceExceptionHandler remoteServiceExceptionHandler,
     SourceCodeDownloadService sourceCodeDownloadService,
     SolutionFileModifier solutionFileModifier,
     NugetPackageToLocalReferenceConverter nugetPackageToLocalReferenceConverter,
     AngularSourceCodeAdder angularSourceCodeAdder,
     NewCommand newCommand,
     BundleCommand bundleCommand,
     CliHttpClientFactory cliHttpClientFactory,
     ICmdHelper cmdHelper,
     ILocalEventBus localEventBus)
 {
     JsonSerializer                        = jsonSerializer;
     ProjectNugetPackageAdder              = projectNugetPackageAdder;
     DbContextFileBuilderConfigureAdder    = dbContextFileBuilderConfigureAdder;
     EfCoreMigrationManager                = efCoreMigrationManager;
     DerivedClassFinder                    = derivedClassFinder;
     ProjectNpmPackageAdder                = projectNpmPackageAdder;
     NpmGlobalPackagesChecker              = npmGlobalPackagesChecker;
     RemoteServiceExceptionHandler         = remoteServiceExceptionHandler;
     SourceCodeDownloadService             = sourceCodeDownloadService;
     SolutionFileModifier                  = solutionFileModifier;
     NugetPackageToLocalReferenceConverter = nugetPackageToLocalReferenceConverter;
     AngularSourceCodeAdder                = angularSourceCodeAdder;
     NewCommand            = newCommand;
     BundleCommand         = bundleCommand;
     CmdHelper             = cmdHelper;
     LocalEventBus         = localEventBus;
     _cliHttpClientFactory = cliHttpClientFactory;
     Logger = NullLogger <SolutionModuleAdder> .Instance;
 }