public LocalModulesNode(NodejsProjectNode root, NodeModulesNode parent, string caption, string virtualName, DependencyType dependencyType)
     : base(root) {
     _parent = parent;
     _caption = caption;
     VirtualName = virtualName;
     PackagesDependencyType = dependencyType;
 }
Example #2
0
 public LocalModulesNode(NodejsProjectNode root, NodeModulesNode parent, string caption, string virtualName, DependencyType dependencyType)
     : base(root)
 {
     this._parent                = parent;
     this._caption               = caption;
     this.VirtualName            = virtualName;
     this.PackagesDependencyType = dependencyType;
 }
 public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e) {
     if (Url.Contains(AnalysisConstants.NodeModulesFolder)) {
         root.EnqueueForDelayedAnalysis(this);
     } else {
         Analyze();
     }
 }
Example #4
0
        public DependencyNode(
            NodejsProjectNode root,
            DependencyNode parent,
            IPackage package)
            : base(root)
        {
            _projectNode = root;
            _parent      = parent;
            Package      = package;

            var buff = new StringBuilder(package.Name);

            if (package.IsMissing)
            {
                buff.Append(" (missing)");
            }
            else
            {
                buff.Append('@');
                buff.Append(package.Version);

                if (!package.IsListedInParentPackageJson)
                {
                    buff.AppendFormat(" (not listed in {0})", NodejsConstants.PackageJsonFile);
                }
                else
                {
                    List <string> dependencyTypes = new List <string>(3);
                    if (package.IsDependency)
                    {
                        dependencyTypes.Add("standard");
                    }
                    if (package.IsDevDependency)
                    {
                        dependencyTypes.Add("dev");
                    }
                    if (package.IsOptionalDependency)
                    {
                        dependencyTypes.Add("optional");
                    }

                    if (package.IsDevDependency || package.IsOptionalDependency)
                    {
                        buff.Append(" (");
                        buff.Append(string.Join(", ", dependencyTypes.ToArray()));
                        buff.Append(")");
                    }
                }
            }

            if (package.IsBundledDependency)
            {
                buff.Append("[bundled]");
            }

            _displayString     = buff.ToString();
            ExcludeNodeFromScc = true;
        }
        public NodejsProjectLauncher(NodejsProjectNode project) {
            _project = project;

            var portNumber = _project.GetProjectProperty(NodejsConstants.NodejsPort);
            int portNum;
            if (Int32.TryParse(portNumber, out portNum)) {
                _testServerPort = portNum;
            }
        }
        public NodejsProjectLauncher(NodejsProjectNode project) {
            _project = project;

            var portNumber = _project.GetProjectProperty(NodeProjectProperty.NodejsPort);
            int portNum;
            if (Int32.TryParse(portNumber, out portNum)) {
                _testServerPort = portNum;
            }
        }
Example #7
0
        public NodeModulesNode(NodejsProjectNode root)
            : base(root) {
            _npmController = DefaultNpmController(_projectNode.ProjectHome, new NpmPathProvider(this));
            RegisterWithNpmController(_npmController);

            _devModulesNode = new LocalModulesNode(root, this, "dev", "DevelopmentModules", DependencyType.Development);
            AddChild(_devModulesNode);

            _optionalModulesNode = new LocalModulesNode(root, this, "optional", "OptionalModules", DependencyType.Optional);
            AddChild(_optionalModulesNode);
        }
Example #8
0
        public NodejsProjectLauncher(NodejsProjectNode project)
        {
            this._project = project;

            var portNumber = this._project.GetProjectProperty(NodeProjectProperty.NodejsPort);

            if (int.TryParse(portNumber, out var portNum))
            {
                this._testServerPort = portNum;
            }
        }
Example #9
0
        public DependencyNode(
            NodejsProjectNode root,
            DependencyNode parent,
            IPackage package)
            : base(root) {
            _projectNode = root;
            _parent = parent;
            Package = package;

            _displayString = GetInitialPackageDisplayString(package);
            ExcludeNodeFromScc = true;
        }
Example #10
0
        public NodeModulesNode(NodejsProjectNode root)
            : base(root)
        {
            this.NpmController = DefaultNpmController(this._projectNode.ProjectHome, new NpmPathProvider(this));
            RegisterWithNpmController(this.NpmController);

            this._devModulesNode = new LocalModulesNode(root, this, "dev", "DevelopmentModules", DependencyType.Development);
            AddChild(this._devModulesNode);

            this._optionalModulesNode = new LocalModulesNode(root, this, "optional", "OptionalModules", DependencyType.Optional);
            AddChild(this._optionalModulesNode);
        }
Example #11
0
 public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e)
 {
     if (Url.Contains(AnalysisConstants.NodeModulesFolder))
     {
         root.EnqueueForDelayedAnalysis(this);
     }
     else
     {
         Analyze();
     }
 }
        public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
            : base(root, e) {
            string referenceBaseName = Path.GetFileNameWithoutExtension(Caption);

#if FALSE
            CreateWatcher(Url);
#endif
            if (Url.Contains(AnalysisConstants.NodeModulesFolder)) {
                root.DelayedAnalysisQueue.Enqueue(this);
            } else {
                Analyze();
            }
        }
Example #13
0
        public NodeModulesNode(NodejsProjectNode root)
            : base(root) {
            CreateNpmController();

            _globalModulesNode = new GlobalModulesNode(root, this);
            AddChild(_globalModulesNode);

            _devModulesNode = new LocalModulesNode(root, this, "dev", "DevelopmentModules", DependencyType.Development);
            AddChild(_devModulesNode);

            _optionalModulesNode = new LocalModulesNode(root, this, "optional", "OptionalModules", DependencyType.Optional);
            AddChild(_optionalModulesNode);
        }
Example #14
0
        public DependencyNode(
            NodejsProjectNode root,
            DependencyNode parent,
            IPackage package)
            : base(root)
        {
            _projectNode = root;
            _parent      = parent;
            Package      = package;

            _displayString     = GetInitialPackageDisplayString(package);
            ExcludeNodeFromScc = true;
        }
Example #15
0
        public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
            : base(root, e) {
            string referenceBaseName = Path.GetFileNameWithoutExtension(Caption);

#if FALSE
            CreateWatcher(Url);
#endif
            if (ShouldAnalyze) {
                root.Analyzer.AnalyzeFile(Url, !IsNonMemberItem);
                root._requireCompletionCache.Clear();
            }
            
            ItemNode.ItemTypeChanged += ItemNode_ItemTypeChanged;
        }
Example #16
0
        public NodeModulesNode(NodejsProjectNode root)
            : base(root)
        {
            CreateNpmController();

            _globalModulesNode = new GlobalModulesNode(root, this);
            AddChild(_globalModulesNode);

            _devModulesNode = new LocalModulesNode(root, this, "dev", "DevelopmentModules", DependencyType.Development);
            AddChild(_devModulesNode);

            _optionalModulesNode = new LocalModulesNode(root, this, "optional", "OptionalModules", DependencyType.Optional);
            AddChild(_optionalModulesNode);
        }
Example #17
0
        public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
            : base(root, e)
        {
#if FALSE
            CreateWatcher(Url);
#endif
            if (Url.Contains(AnalysisConstants.NodeModulesFolder))
            {
                root.DelayedAnalysisQueue.Enqueue(this);
            }
            else
            {
                Analyze();
            }
        }
Example #18
0
        public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
            : base(root, e)
        {
            string referenceBaseName = Path.GetFileNameWithoutExtension(Caption);

#if FALSE
            CreateWatcher(Url);
#endif
            if (ShouldAnalyze)
            {
                root.Analyzer.AnalyzeFile(Url, !IsNonMemberItem);
                root._requireCompletionCache.Clear();
            }

            ItemNode.ItemTypeChanged += ItemNode_ItemTypeChanged;
        }
Example #19
0
        public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
            : base(root, e)
        {
            string referenceBaseName = Path.GetFileNameWithoutExtension(Caption);

#if FALSE
            CreateWatcher(Url);
#endif
            if (Url.Contains(AnalysisConstants.NodeModulesFolder))
            {
                root.DelayedAnalysisQueue.Enqueue(this);
            }
            else
            {
                Analyze();
            }
        }
Example #20
0
        public DependencyNode(
            NodejsProjectNode root,
            DependencyNode parent,
            IPackage package)
            : base(root) {
            _projectNode = root;
            _parent = parent;
            Package = package;

            var buff = new StringBuilder(package.Name);
            if (package.IsMissing) {
                buff.Append(" (missing)");
            } else {
                buff.Append('@');
                buff.Append(package.Version);

                if (!package.IsListedInParentPackageJson) {
                    buff.AppendFormat(" (not listed in {0})", NodejsConstants.PackageJsonFile);
                } else {
                    List<string> dependencyTypes = new List<string>(3);
                    if (package.IsDependency) {
                        dependencyTypes.Add("standard");
                    }
                    if (package.IsDevDependency) {
                        dependencyTypes.Add("dev");
                    }
                    if (package.IsOptionalDependency) {
                        dependencyTypes.Add("optional");
                    }

                    if (package.IsDevDependency || package.IsOptionalDependency) {
                        buff.Append(" (");
                        buff.Append(string.Join(", ", dependencyTypes.ToArray()));
                        buff.Append(")");
                    }
                }
            }

            if (package.IsBundledDependency) {
                buff.Append("[bundled]");
            }

            _displayString = buff.ToString();
            ExcludeNodeFromScc = true;
        }
 public GlobalModulesNode(NodejsProjectNode root, NodeModulesNode parent)
     : base(root) {
     _parent = parent;
 }
 internal override ProjectNode CreateProject() {
     NodejsProjectNode project = new NodejsProjectNode((NodejsProjectPackage)Site);
     return project;
 }
 public NodejsTypeScriptFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e)
 {
 }
 public PackageJsonFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e) {
     CreateWatcher(Url);
     FileContentsChanged(this, null);
 }
 public NodejsTypeScriptFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e) {
 }
Example #26
0
        public static void Show(NodejsProjectNode projectNode)
        {
            var serviceProvider = projectNode.Site;

            serviceProvider.GetUIThread().MustBeCalledFromUIThread();

            var vsShell          = (IVsShell)serviceProvider.GetService(typeof(SVsShell));
            var infoBarUIFactory = (IVsInfoBarUIFactory)serviceProvider.GetService(typeof(SVsInfoBarUIFactory));

            if (ErrorHandler.Failed(vsShell.GetProperty((int)__VSSPROPID7.VSSPROPID_MainWindowInfoBarHost, out var tmp)))
            {
                // we don't want to crash just because we can't show the error bar
                return;
            }
            var infoBarHost = (IVsInfoBarHost)tmp;

            // make sure we close the previous infobar
            CurrentInfoBarElement?.Close();

            Action downloadNode     = DownloadNode;
            Action openProjectProps = ShowProjectProperties;

            var actionItems = new[]
            {
                new InfoBarHyperlink(Resources.ConfigureProjectProperties, openProjectProps),
                new InfoBarHyperlink(Resources.DownloadNodejs, downloadNode),
            };

            var infoBarModel = new InfoBarModel(Resources.NodejsNotInstalledInfoBar, actionItems, isCloseButtonVisible: true, image: KnownMonikers.StatusError);

            uint eventCookie = 0;

            CurrentInfoBarElement = infoBarUIFactory.CreateInfoBar(infoBarModel);
            CurrentInfoBarElement.Advise(new InfoBarUIEvents(OnClose), out eventCookie);

            infoBarHost.AddInfoBar(CurrentInfoBarElement);

            void OnClose()
            {
                CurrentInfoBarElement.Unadvise(eventCookie);
            }

            void DownloadNode()
            {
                const string url = @"https://aka.ms/downloadnode";

                VsShellUtilities.OpenBrowser(url, (uint)__VSOSPFLAGS.OSP_LaunchNewBrowser);
            }

            void ShowProjectProperties()
            {
                // open Project Properties
                var logicalView = VSConstants.LOGVIEWID_Primary;

                if (ErrorHandler.Succeeded(projectNode.GetGuidProperty(VSConstants.VSITEMID_ROOT, (int)VsHierarchyPropID.ProjectDesignerEditor, out var editorType)) &&
                    ErrorHandler.Succeeded(projectNode.OpenItemWithSpecific(VSConstants.VSITEMID_ROOT, 0, ref editorType, "", ref logicalView, (IntPtr)(-1), out var frame)))
                {
                    frame?.Show();
                }
            }
        }
Example #27
0
 protected AbstractNpmNode(NodejsProjectNode root)
     : base(root)
 {
     _projectNode = root;
     ExcludeNodeFromScc = true;
 }
Example #28
0
 public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e) {
 }
Example #29
0
 public PackageJsonFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e)
 {
     CreateWatcher(Url);
     FileContentsChanged(this, null);
 }
Example #30
0
 public NodejsFileNode(NodejsProjectNode root, ProjectElement e)
     : base(root, e)
 {
 }
Example #31
0
 public GlobalModulesNode(NodejsProjectNode root, NodeModulesNode parent)
     : base(root)
 {
     _parent = parent;
 }
 protected AbstractNpmNode(NodejsProjectNode root)
     : base(root)
 {
     _projectNode       = root;
     ExcludeNodeFromScc = true;
 }