Skip to content

Commit 89fb016

Browse files
author
Armando Aguirre
committed
Added Vue project and file templates
1 parent bb98c32 commit 89fb016

30 files changed

+701
-0
lines changed

Nodejs/Product/Nodejs/Nodejs.csproj

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,7 @@
558558
<ConditionalEmbeddedResource Include="VSPackage.resx">
559559
<MergeWithCTO>true</MergeWithCTO>
560560
<LogicalName>VSPackage.Resources</LogicalName>
561+
<SubType>Designer</SubType>
561562
</ConditionalEmbeddedResource>
562563
</ItemGroup>
563564
<ItemGroup>
@@ -585,6 +586,18 @@
585586
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
586587
<IncludeInVSIX>true</IncludeInVSIX>
587588
</Content>
589+
<TypeScriptProject Include="ProjectTemplates\TypeScriptVuejsApp\TypeScriptVuejsApp.vstemplate">
590+
<SubType>Designer</SubType>
591+
</TypeScriptProject>
592+
<Content Include="ProjectTemplates\TypeScriptVuejsApp\.postcssrc.js" />
593+
<Resource Include="ProjectTemplates\TypeScriptVuejsApp\favicon.ico" />
594+
<Content Include="ProjectTemplates\TypeScriptVuejsApp\index.html" />
595+
<Content Include="ProjectTemplates\VuejsApp\.postcssrc.js" />
596+
<Resource Include="ProjectTemplates\VuejsApp\favicon.ico" />
597+
<Content Include="ProjectTemplates\VuejsApp\index.html" />
598+
<TypeScriptProject Include="ProjectTemplates\VuejsApp\VuejsApp.vstemplate" />
599+
<ZipItem Include="Templates\Files\JavaScriptVueComponent\JavaScriptVueComponent.vstemplate" />
600+
<ZipItem Include="Templates\Files\TypeScriptVueComponent\TypeScriptVueComponent.vstemplate" />
588601
<Content Include="Workspace\OpenFolderSchema.json">
589602
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
590603
<IncludeInVSIX>true</IncludeInVSIX>
@@ -639,6 +652,24 @@
639652
<ZipItem Include="Templates\Files\EmptyPug\EmptyPug.pug" />
640653
<Compile Include="SharedProject\CommonProjectNode.DiskMerger.cs" />
641654
<ZipItem Include="Templates\Files\TypeScriptJsConfig\jsconfig.json" />
655+
<TypeScriptProject Include="ProjectTemplates\TypeScriptVuejsApp\TypeScriptVuejsApp.njsproj">
656+
<SubType>Designer</SubType>
657+
</TypeScriptProject>
658+
<None Include="ProjectTemplates\TypeScriptVuejsApp\.babelrc" />
659+
<None Include="ProjectTemplates\TypeScriptVuejsApp\App.vue" />
660+
<None Include="ProjectTemplates\TypeScriptVuejsApp\Home.vue" />
661+
<None Include="ProjectTemplates\TypeScriptVuejsApp\package.json" />
662+
<None Include="ProjectTemplates\TypeScriptVuejsApp\README.md" />
663+
<None Include="ProjectTemplates\TypeScriptVuejsApp\tsconfig.json" />
664+
<None Include="ProjectTemplates\VuejsApp\.babelrc" />
665+
<None Include="ProjectTemplates\VuejsApp\App.vue" />
666+
<None Include="ProjectTemplates\VuejsApp\Home.vue" />
667+
<None Include="ProjectTemplates\VuejsApp\package.json" />
668+
<None Include="ProjectTemplates\VuejsApp\README.md" />
669+
<TypeScriptProject Include="ProjectTemplates\VuejsApp\VuejsApp.njsproj">
670+
<SubType>Designer</SubType>
671+
</TypeScriptProject>
672+
<None Include="Templates\Files\TypeScriptVueComponent\TypeScriptVueComponent.vue" />
642673
<None Include="Theme\contrast.vstheme">
643674
<SubType>Designer</SubType>
644675
</None>
@@ -1232,6 +1263,12 @@
12321263
<ItemGroup>
12331264
<ZipItem Include="Templates\Files\TypeScriptJasmineUnitTest\UnitTest.ts" />
12341265
</ItemGroup>
1266+
<ItemGroup>
1267+
<TypeScriptCompile Include="ProjectTemplates\TypeScriptVuejsApp\main.ts" />
1268+
<TypeScriptCompile Include="ProjectTemplates\TypeScriptVuejsApp\shims.d.ts" />
1269+
<Content Include="ProjectTemplates\VuejsApp\main.js" />
1270+
<None Include="Templates\Files\JavaScriptVueComponent\JavaScriptVueComponent.vue" />
1271+
</ItemGroup>
12351272
<PropertyGroup>
12361273
<!--
12371274
To specify a different registry root to register your package, uncomment the TargetRegistryRoot
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"presets": [
3+
"@vue/app"
4+
]
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module.exports = {
2+
plugins: {
3+
autoprefixer: {}
4+
}
5+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<template>
2+
<div id="app">
3+
<Home msg="Hello world!" />
4+
</div>
5+
</template>
6+
7+
<script lang="ts">
8+
import { Component, Vue } from 'vue-property-decorator';
9+
import Home from './components/Home.vue';
10+
11+
@Component({
12+
components: {
13+
Home
14+
},
15+
})
16+
export default class App extends Vue { }
17+
</script>
18+
19+
<style>
20+
#app {
21+
font-family: 'Avenir', Helvetica, Arial, sans-serif;
22+
-webkit-font-smoothing: antialiased;
23+
-moz-osx-font-smoothing: grayscale;
24+
text-align: center;
25+
color: #2c3e50;
26+
margin-top: 60px;
27+
}
28+
</style>
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<template>
2+
<div class="home">
3+
<h1>{{ msg }}</h1>
4+
<p>Welcome to your new single-page application, built with <a href="https://vuejs.org" target="_blank">Vue.js</a> and <a href="http://www.typescriptlang.org/" target="_blank">TypeScript</a>.</p>
5+
</div>
6+
</template>
7+
8+
<script lang="ts">
9+
import { Component, Prop, Vue } from 'vue-property-decorator';
10+
11+
@Component
12+
export default class Home extends Vue {
13+
@Prop() private msg!: string;
14+
}
15+
</script>
16+
17+
<!-- Add "scoped" attribute to limit CSS to this component only -->
18+
<style scoped>
19+
h3 {
20+
margin: 40px 0 0;
21+
}
22+
23+
ul {
24+
list-style-type: none;
25+
padding: 0;
26+
}
27+
28+
li {
29+
display: inline-block;
30+
margin: 0 10px;
31+
}
32+
33+
a {
34+
color: #42b983;
35+
}
36+
</style>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# $projectname$
2+
3+
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
3+
<PropertyGroup>
4+
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">14.0</VisualStudioVersion>
5+
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
6+
</PropertyGroup>
7+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
8+
<PropertyGroup>
9+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
10+
<SchemaVersion>2.0</SchemaVersion>
11+
<ProjectGuid>$guid1$</ProjectGuid>
12+
<ProjectHome>.</ProjectHome>
13+
<StartupFile>node_modules\@vue\cli-service\bin\vue-cli-service.js</StartupFile>
14+
<StartWebBrowser>True</StartWebBrowser>
15+
<SearchPath></SearchPath>
16+
<WorkingDirectory>.</WorkingDirectory>
17+
<OutputPath>.</OutputPath>
18+
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
19+
<ProjectTypeGuids>{3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}</ProjectTypeGuids>
20+
<NodejsPort>1337</NodejsPort>
21+
<TypeScriptSourceMap>true</TypeScriptSourceMap>
22+
<TypeScriptModuleKind>CommonJS</TypeScriptModuleKind>
23+
<TypeScriptToolsVersion>$typescriptversion$</TypeScriptToolsVersion>
24+
<EnableTypeScript>true</EnableTypeScript>
25+
<StartWebBrowser>true</StartWebBrowser>
26+
<ScriptArguments>serve</ScriptArguments>
27+
</PropertyGroup>
28+
29+
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
30+
<DebugSymbols>true</DebugSymbols>
31+
<NODE_ENV>development</NODE_ENV>
32+
</PropertyGroup>
33+
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
34+
<DebugSymbols>true</DebugSymbols>
35+
<NODE_ENV>production</NODE_ENV>
36+
</PropertyGroup>
37+
38+
<ItemGroup>
39+
<Content Include=".babelrc" />
40+
<Content Include="public\favicon.ico" />
41+
<Content Include="public\index.html" />
42+
<Content Include="src\App.vue" />
43+
<Content Include="src\components\Home.vue" />
44+
<Content Include="tsconfig.json" />
45+
<Content Include="package.json" />
46+
<Content Include="README.md" />
47+
</ItemGroup>
48+
<ItemGroup>
49+
<Folder Include="dist\" />
50+
<Folder Include="public\" />
51+
<Folder Include="src\" />
52+
<Folder Include="src\assets\" />
53+
<Folder Include="src\components\" />
54+
</ItemGroup>
55+
<ItemGroup>
56+
<TypeScriptCompile Include="src\main.ts" />
57+
<TypeScriptCompile Include="src\shims.d.ts" />
58+
</ItemGroup>
59+
<ItemGroup>
60+
<Compile Include=".postcssrc.js" />
61+
</ItemGroup>
62+
63+
<!-- Do not delete the following Import Project. While this appears to do nothing it is a marker for setting TypeScript properties before our import that depends on them. -->
64+
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="False" />
65+
<PropertyGroup>
66+
<PostBuildEvent>
67+
npm run build
68+
</PostBuildEvent>
69+
</PropertyGroup>
70+
<Import Project="$(VSToolsPath)\Node.js Tools\Microsoft.NodejsTools.targets" />
71+
72+
<ProjectExtensions>
73+
<VisualStudio>
74+
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
75+
<WebProjectProperties>
76+
<UseIIS>False</UseIIS>
77+
<AutoAssignPort>True</AutoAssignPort>
78+
<DevelopmentServerPort>0</DevelopmentServerPort>
79+
<DevelopmentServerVPath>/</DevelopmentServerVPath>
80+
<IISUrl>http://localhost:48022/</IISUrl>
81+
<NTLMAuthentication>False</NTLMAuthentication>
82+
<UseCustomServer>True</UseCustomServer>
83+
<CustomServerUrl>http://localhost:1337</CustomServerUrl>
84+
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
85+
</WebProjectProperties>
86+
</FlavorProperties>
87+
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}" User="">
88+
<WebProjectProperties>
89+
<StartPageUrl>
90+
</StartPageUrl>
91+
<StartAction>CurrentPage</StartAction>
92+
<AspNetDebugging>True</AspNetDebugging>
93+
<SilverlightDebugging>False</SilverlightDebugging>
94+
<NativeDebugging>False</NativeDebugging>
95+
<SQLDebugging>False</SQLDebugging>
96+
<ExternalProgram>
97+
</ExternalProgram>
98+
<StartExternalURL>
99+
</StartExternalURL>
100+
<StartCmdLineArguments>
101+
</StartCmdLineArguments>
102+
<StartWorkingDirectory>
103+
</StartWorkingDirectory>
104+
<EnableENC>False</EnableENC>
105+
<AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
106+
</WebProjectProperties>
107+
</FlavorProperties>
108+
</VisualStudio>
109+
</ProjectExtensions>
110+
</Project>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<VSTemplate Version="3.0.0" Type="Project" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
2+
<TemplateData>
3+
<Name Package="{FE8A8C3D-328A-476D-99F9-2A24B75F8C7F}" ID="4009"/>
4+
<Description Package="{FE8A8C3D-328A-476D-99F9-2A24B75F8C7F}" ID="4010"/>
5+
<Icon Package="{FE8A8C3D-328A-476D-99F9-2A24B75F8C7F}" ID="412"/>
6+
<ProjectType>TypeScript</ProjectType>
7+
<TemplateID>Microsoft.TypeScript.VuejsApp</TemplateID>
8+
<SortOrder>130</SortOrder>
9+
<CreateNewFolder>true</CreateNewFolder>
10+
<DefaultName>VuejsApp</DefaultName>
11+
<ProvideDefaultName>true</ProvideDefaultName>
12+
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
13+
<PromptForSaveOnCreation>true</PromptForSaveOnCreation>
14+
<PreviewImage>Preview.png</PreviewImage>
15+
<TemplateGroupID>Node.jss</TemplateGroupID>
16+
</TemplateData>
17+
<TemplateContent>
18+
<Project File="TypeScriptVuejsApp.njsproj" ReplaceParameters="true">
19+
<Folder Name="dist" />
20+
<Folder Name="public">
21+
<ProjectItem>favicon.ico</ProjectItem>
22+
<ProjectItem>index.html</ProjectItem>
23+
</Folder>
24+
<Folder Name="src">
25+
<Folder Name="assets" />
26+
<Folder Name="components">
27+
<ProjectItem>Home.vue</ProjectItem>
28+
</Folder>
29+
<ProjectItem>App.vue</ProjectItem>
30+
<ProjectItem OpenInEditor="true">main.ts</ProjectItem>
31+
<ProjectItem>shims.d.ts</ProjectItem>
32+
</Folder>
33+
<ProjectItem>.babelrc</ProjectItem>
34+
<ProjectItem>.postcssrc.js</ProjectItem>
35+
<ProjectItem ReplaceParameters="true">package.json</ProjectItem>
36+
<ProjectItem ReplaceParameters="true">README.md</ProjectItem>
37+
<ProjectItem>tsconfig.json</ProjectItem>
38+
</Project>
39+
</TemplateContent>
40+
<WizardExtension>
41+
<Assembly>Microsoft.NodejsTools.ProjectWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
42+
<FullClassName>Microsoft.NodejsTools.ProjectWizard.NpmWizardExtension</FullClassName>
43+
</WizardExtension>
44+
<WizardExtension>
45+
<Assembly>Microsoft.NodejsTools.ProjectWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
46+
<FullClassName>Microsoft.NodejsTools.ProjectWizard.NodejsPackageParametersExtension</FullClassName>
47+
</WizardExtension>
48+
</VSTemplate>
Binary file not shown.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width,initial-scale=1.0">
7+
<link rel="shortcut icon" href="<%= webpackConfig.output.publicPath %>favicon.ico">
8+
<title>vue2</title>
9+
</head>
10+
<body>
11+
<noscript>
12+
<strong>We're sorry but vue2 doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
13+
</noscript>
14+
<div id="app"></div>
15+
<!-- built files will be auto injected -->
16+
</body>
17+
</html>

0 commit comments

Comments
 (0)