├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── Bug_report.md │ ├── Feature_request.md │ └── Support.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── stale.yml └── workflows │ ├── ci.yml │ └── prerelease.yml ├── .gitignore ├── Content ├── .editorconfig ├── .template.config │ └── template.json ├── ClientApp │ ├── babel.config.js │ ├── jsconfig.json │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ └── index.html │ ├── src │ │ ├── App.vue │ │ ├── assets │ │ │ └── logo.png │ │ ├── components │ │ │ └── HelloWorld.vue │ │ └── main.js │ └── vue.config.js ├── Controllers │ └── MainController.cs ├── Program.cs ├── Startup.cs ├── Views │ ├── Main │ │ ├── Error.cshtml │ │ └── Index.cshtml │ ├── Shared │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── Vue.Simple.Template.csproj ├── Vue.Simple.Template.sln ├── appsettings.Development.json ├── appsettings.json └── wwwroot │ └── .gitkeep ├── LICENSE ├── Readme.md ├── Vue.Simple.Project.Template.csproj ├── appveyor.yml └── icon.png /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to contribute 2 | 3 | I've tried to keep the requirements to the minimum possible. 4 | 5 | ## Pull requests 6 | 7 | * Please dont use a master branch for PRs. 8 | * Rebase any relevant changes from upstream before asking for PRs. 9 | * If various commits are submitted please try and rebase them on a cohesive structure. 10 | 11 | ## Styles 12 | 13 | Just following the .editorconfig guidelines will suffice for now. 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F41E Bug report" 3 | about: Report an issue you're experiencing 4 | title: '' 5 | labels: bug 6 | assignees: Jaxelr 7 | 8 | --- 9 | 10 | # Describe the bug 11 | 12 | 13 | 14 | ## Steps to reproduce 15 | 16 | 17 | 18 | ## Expected behavior 19 | 20 | 21 | 22 | - Dotnet version: [net5.0, dotnet472] 23 | - Library version: [0.1.0] 24 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F4A1 Feature request" 3 | about: Suggest a new feature for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: Jaxelr 7 | 8 | --- 9 | 10 | # Describe the feature 11 | 12 | 13 | 14 | ## Is this feature related to a problem, describe 15 | 16 | 17 | 18 | ## Additional context 19 | 20 | 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/Support.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "\U0001F4DA Support" 3 | about: Ask a question or request help with the library 4 | title: '' 5 | labels: question 6 | assignees: Jaxelr 7 | 8 | --- 9 | 10 | # Describe the question 11 | 12 | 13 | 14 | ## Steps to reproduce (if applicable) 15 | 16 | 17 | 18 | - Dotnet version: [net5.0, dotnet472] 19 | - Library version: [0.1.0] 20 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | ## Type of change 4 | 5 | Please delete options that are not relevant. 6 | 7 | - [ ] Bug fix (non-breaking change which fixes an issue) 8 | - [ ] New feature (non-breaking change which adds functionality) 9 | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) 10 | - [ ] This change requires a documentation update 11 | 12 | ## Checklist 13 | 14 | - [ ] My code follows the style guidelines of this project 15 | - [ ] I have performed a self-review of my own code 16 | - [ ] I have commented my code, particularly in hard-to-understand areas 17 | - [ ] I have made corresponding changes to the documentation 18 | - [ ] My changes generate no new warnings 19 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # generated by dependadotnet 2 | version: 2 3 | updates: 4 | - package-ecosystem: "nuget" 5 | directory: "/Content" #Vue.Simple.Template.csproj 6 | schedule: 7 | interval: "weekly" 8 | day: "thursday" 9 | commit-message: 10 | prefix: "deps" 11 | open-pull-requests-limit: 5 12 | labels: 13 | - "dependencies" 14 | 15 | -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Number of days of inactivity before an issue becomes stale 2 | daysUntilStale: 60 3 | # Number of days of inactivity before a stale issue is closed 4 | daysUntilClose: 7 5 | # Issues with these labels will never be considered stale 6 | exemptLabels: 7 | - pinned 8 | - security 9 | # Label to use when marking an issue as stale 10 | staleLabel: wontfix 11 | # Comment to post when marking an issue as stale. Set to `false` to disable 12 | markComment: > 13 | This issue has been automatically marked as stale because it has not had 14 | recent activity. It will be closed if no further activity occurs. Thank you 15 | for your contributions. 16 | # Comment to post when closing a stale issue. Set to `false` to disable 17 | closeComment: > 18 | Closing since no response was posted. 19 | 20 | Feel free to ping owner if there is a need to reopen -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: .NET 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | - name: Setup .NET 17 | uses: actions/setup-dotnet@v1 18 | with: 19 | dotnet-version: 6.0.x 20 | - name: Build Reason 21 | run: echo ${{github.ref}} and ${{github.event_name}} 22 | - name: Build Content 23 | run: dotnet build ./Content/Vue.Simple.Template.sln -v quiet 24 | - name: Build Template 25 | run: dotnet build Vue.Simple.Project.Template.csproj -v quiet 26 | env: 27 | DOTNET_CLI_TELEMETRY_OPTOUT: 1 28 | DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 29 | -------------------------------------------------------------------------------- /.github/workflows/prerelease.yml: -------------------------------------------------------------------------------- 1 | name: Prerelease 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*.*.*' 7 | 8 | jobs: 9 | build: 10 | 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - uses: actions/checkout@v2 15 | - name: Setup .NET 16 | uses: actions/setup-dotnet@v1 17 | with: 18 | dotnet-version: 6.0.x 19 | - name: Build Reason 20 | run: echo ${{github.ref}} and ${{github.event_name}} 21 | - name: Build Content 22 | run: dotnet build ./Content/Vue.Simple.Template.sln -v quiet 23 | - name: Pack 24 | run: dotnet pack Vue.Simple.Project.Template.csproj -v quiet -o $NUPKGS --include-symbols 25 | - name: Publish to Github Package 26 | run: dotnet nuget push "$NUPKGS/*.nupkg" --skip-duplicate -s $GH_FEED -k ${{ secrets.GH_PACKAGES_KEY }} 27 | - name: Publish to Myget Package 28 | run: dotnet nuget push "$NUPKGS/*.nupkg" --skip-duplicate -s $MYGET_FEED -k ${{ secrets.MYGET_PACKAGES_KEY }} 29 | env: 30 | DOTNET_CLI_TELEMETRY_OPTOUT: 1 31 | DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 32 | GH_FEED: https://nuget.pkg.github.com/jaxelr/index.json 33 | MYGET_FEED: https://www.myget.org/F/vue-simple-template/api/v2/package 34 | NUPKGS: ./.nupkgs 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # MSTest test Results 33 | [Tt]est[Rr]esult*/ 34 | [Bb]uild[Ll]og.* 35 | 36 | # NUNIT 37 | *.VisualState.xml 38 | TestResult.xml 39 | 40 | # Build Results of an ATL Project 41 | [Dd]ebugPS/ 42 | [Rr]eleasePS/ 43 | dlldata.c 44 | 45 | # .NET Core 46 | project.lock.json 47 | project.fragment.lock.json 48 | artifacts/ 49 | **/Properties/launchSettings.json 50 | 51 | *_i.c 52 | *_p.c 53 | *_i.h 54 | *.ilk 55 | *.meta 56 | *.obj 57 | *.pch 58 | *.pdb 59 | *.pgc 60 | *.pgd 61 | *.rsp 62 | *.sbr 63 | *.tlb 64 | *.tli 65 | *.tlh 66 | *.tmp 67 | *.tmp_proj 68 | *.log 69 | *.vspscc 70 | *.vssscc 71 | .builds 72 | *.pidb 73 | *.svclog 74 | *.scc 75 | 76 | # Chutzpah Test files 77 | _Chutzpah* 78 | 79 | # Visual C++ cache files 80 | ipch/ 81 | *.aps 82 | *.ncb 83 | *.opendb 84 | *.opensdf 85 | *.sdf 86 | *.cachefile 87 | *.VC.db 88 | *.VC.VC.opendb 89 | 90 | # Visual Studio profiler 91 | *.psess 92 | *.vsp 93 | *.vspx 94 | *.sap 95 | 96 | # TFS 2012 Local Workspace 97 | $tf/ 98 | 99 | # Guidance Automation Toolkit 100 | *.gpState 101 | 102 | # ReSharper is a .NET coding add-in 103 | _ReSharper*/ 104 | *.[Rr]e[Ss]harper 105 | *.DotSettings.user 106 | 107 | # JustCode is a .NET coding add-in 108 | .JustCode 109 | 110 | # TeamCity is a build add-in 111 | _TeamCity* 112 | 113 | # DotCover is a Code Coverage Tool 114 | *.dotCover 115 | 116 | # Visual Studio code coverage results 117 | *.coverage 118 | *.coveragexml 119 | 120 | # NCrunch 121 | _NCrunch_* 122 | .*crunch*.local.xml 123 | nCrunchTemp_* 124 | 125 | # MightyMoose 126 | *.mm.* 127 | AutoTest.Net/ 128 | 129 | # Web workbench (sass) 130 | .sass-cache/ 131 | 132 | # Installshield output folder 133 | [Ee]xpress/ 134 | 135 | # DocProject is a documentation generator add-in 136 | DocProject/buildhelp/ 137 | DocProject/Help/*.HxT 138 | DocProject/Help/*.HxC 139 | DocProject/Help/*.hhc 140 | DocProject/Help/*.hhk 141 | DocProject/Help/*.hhp 142 | DocProject/Help/Html2 143 | DocProject/Help/html 144 | 145 | # Click-Once directory 146 | publish/ 147 | 148 | # Publish Web Output 149 | *.[Pp]ublish.xml 150 | *.azurePubxml 151 | # TODO: Comment the next line if you want to checkin your web deploy settings 152 | # but database connection strings (with potential passwords) will be unencrypted 153 | *.pubxml 154 | *.publishproj 155 | 156 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 157 | # checkin your Azure Web App publish settings, but sensitive information contained 158 | # in these scripts will be unencrypted 159 | PublishScripts/ 160 | 161 | # NuGet Packages 162 | # *.nupkg 163 | # The packages folder can be ignored because of Package Restore 164 | **/packages/* 165 | # except build/, which is used as an MSBuild target. 166 | !**/packages/build/ 167 | # Uncomment if necessary however generally it will be regenerated when needed 168 | #!**/packages/repositories.config 169 | # NuGet v3's project.json files produces more ignorable files 170 | *.nuget.props 171 | *.nuget.targets 172 | 173 | # Microsoft Azure Build Output 174 | csx/ 175 | *.build.csdef 176 | 177 | # Microsoft Azure Emulator 178 | ecf/ 179 | rcf/ 180 | 181 | # Windows Store app package directories and files 182 | AppPackages/ 183 | BundleArtifacts/ 184 | Package.StoreAssociation.xml 185 | _pkginfo.txt 186 | 187 | # Visual Studio cache files 188 | # files ending in .cache can be ignored 189 | *.[Cc]ache 190 | # but keep track of directories ending in .cache 191 | !*.[Cc]ache/ 192 | 193 | # Others 194 | ClientBin/ 195 | ~$* 196 | *~ 197 | *.dbmdl 198 | *.dbproj.schemaview 199 | *.jfm 200 | *.pfx 201 | *.publishsettings 202 | orleans.codegen.cs 203 | 204 | # Since there are multiple workflows, uncomment next line to ignore bower_components 205 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 206 | #bower_components/ 207 | 208 | # RIA/Silverlight projects 209 | Generated_Code/ 210 | 211 | # Backup & report files from converting an old project file 212 | # to a newer Visual Studio version. Backup files are not needed, 213 | # because we have git ;-) 214 | _UpgradeReport_Files/ 215 | Backup*/ 216 | UpgradeLog*.XML 217 | UpgradeLog*.htm 218 | 219 | # SQL Server files 220 | *.mdf 221 | *.ldf 222 | *.ndf 223 | 224 | # Business Intelligence projects 225 | *.rdl.data 226 | *.bim.layout 227 | *.bim_*.settings 228 | 229 | # Microsoft Fakes 230 | FakesAssemblies/ 231 | 232 | # GhostDoc plugin setting file 233 | *.GhostDoc.xml 234 | 235 | # Node.js Tools for Visual Studio 236 | .ntvs_analysis.dat 237 | node_modules/ 238 | 239 | # Typescript v1 declaration files 240 | typings/ 241 | 242 | # Visual Studio 6 build log 243 | *.plg 244 | 245 | # Visual Studio 6 workspace options file 246 | *.opt 247 | 248 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 249 | *.vbw 250 | 251 | # Visual Studio LightSwitch build output 252 | **/*.HTMLClient/GeneratedArtifacts 253 | **/*.DesktopClient/GeneratedArtifacts 254 | **/*.DesktopClient/ModelManifest.xml 255 | **/*.Server/GeneratedArtifacts 256 | **/*.Server/ModelManifest.xml 257 | _Pvt_Extensions 258 | 259 | # Paket dependency manager 260 | .paket/paket.exe 261 | paket-files/ 262 | 263 | # FAKE - F# Make 264 | .fake/ 265 | 266 | # JetBrains Rider 267 | .idea/ 268 | *.sln.iml 269 | 270 | # CodeRush 271 | .cr/ 272 | 273 | # Python Tools for Visual Studio (PTVS) 274 | __pycache__/ 275 | *.pyc 276 | 277 | # Cake - Uncomment if you are using it 278 | # tools/** 279 | # !tools/packages.config 280 | 281 | # Telerik's JustMock configuration file 282 | *.jmconfig 283 | 284 | # BizTalk build output 285 | *.btp.cs 286 | *.btm.cs 287 | *.odx.cs 288 | *.xsd.cs 289 | 290 | 291 | .vscode/ 292 | .ionide/ -------------------------------------------------------------------------------- /Content/.editorconfig: -------------------------------------------------------------------------------- 1 | # Root 2 | root = true 3 | 4 | #All Files 5 | [*] 6 | end_of_line = crlf 7 | indent_size = 4 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | 12 | # Visual Studio 13 | [*.sln] 14 | indent_style = tab 15 | 16 | # Visual Studio XML Project Files 17 | [*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] 18 | indent_size = 2 19 | 20 | # XML Configuration Files 21 | [*.{xml,config,props,targets,nuspec,resx,ruleset,vsixmanifest,vsct}] 22 | indent_size = 2 23 | 24 | # JSON Files 25 | [*.{json,json5}] 26 | indent_size = 2 27 | 28 | # YAML Files 29 | [*.{yml,yaml}] 30 | indent_size = 2 31 | 32 | # Markdown Files 33 | [*.md] 34 | trim_trailing_whitespace = false 35 | 36 | # Web Files 37 | [*.{htm,html,js,jsx,ts,tsx,css,sass,scss,less,svg,vue}] 38 | indent_style = space 39 | indent_size = 2 40 | trim_trailing_whitespace = true 41 | insert_final_newline = true 42 | 43 | # Batch Files 44 | [*.{cmd,bat}] 45 | 46 | # Bash Files 47 | [*.sh] 48 | end_of_line = lf 49 | 50 | # CSharp code style settings: 51 | [*.cs] 52 | # Indentation 53 | csharp_indent_block_contents = true 54 | csharp_indent_braces = false 55 | csharp_indent_case_contents = true 56 | csharp_indent_switch_labels = true 57 | 58 | # New Lines 59 | csharp_new_line_before_catch = true 60 | csharp_new_line_before_else = true 61 | csharp_new_line_before_finally = true 62 | csharp_new_line_before_members_in_anonymous_types = true 63 | csharp_new_line_before_members_in_object_initializers = true 64 | csharp_new_line_before_open_brace = all 65 | csharp_new_line_between_query_expression_clauses = true 66 | csharp_preserve_single_line_blocks = true 67 | csharp_preserve_single_line_statements = true 68 | 69 | # Space Management 70 | csharp_space_after_cast = true 71 | csharp_space_after_colon_in_inheritance_clause = true 72 | csharp_space_after_comma = true 73 | csharp_space_after_dot = false 74 | csharp_space_after_keywords_in_control_flow_statements = true 75 | csharp_space_after_semicolon_in_for_statement = true 76 | csharp_space_around_binary_operators = before_and_after 77 | csharp_space_around_declaration_statements = do_not_ignore 78 | csharp_space_before_colon_in_inheritance_clause = true 79 | csharp_space_before_comma = false 80 | csharp_space_before_dot = false 81 | csharp_space_before_open_square_brackets = false 82 | csharp_space_before_semicolon_in_for_statement = false 83 | csharp_space_between_empty_square_brackets = false 84 | csharp_space_between_method_call_empty_parameter_list_parentheses = false 85 | csharp_space_between_method_call_name_and_opening_parenthesis = false 86 | csharp_space_between_method_call_parameter_list_parentheses false 87 | csharp_space_between_method_declaration_empty_parameter_list_parentheses = false 88 | csharp_space_between_method_declaration_name_and_open_parenthesis = false 89 | csharp_space_between_method_declaration_parameter_list_parentheses = false 90 | csharp_space_between_square_brackets = false 91 | 92 | # C# Language Style 93 | csharp_style_conditional_delegate_call = true:suggestion 94 | csharp_style_expression_bodied_accessors = true:suggestion 95 | csharp_style_expression_bodied_indexers = true:suggestion 96 | csharp_style_expression_bodied_methods = true:suggestion 97 | csharp_style_expression_bodied_operators = true:suggestion 98 | csharp_style_expression_bodied_properties = true:suggestion 99 | csharp_style_inlined_variable_declaration = true:suggestion 100 | csharp_style_pattern_matching_over_as_with_null_check = true:suggestion 101 | csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion 102 | csharp_style_throw_expression = true:suggestion 103 | csharp_style_var_for_built_in_types = false:suggestion 104 | csharp_style_var_when_type_is_apparent = true:suggestion 105 | 106 | # Organize usings 107 | dotnet_sort_system_directives_first = true 108 | 109 | # Dotnet Style 110 | dotnet_style_coalesce_expression = true:suggestion 111 | dotnet_style_collection_initializer = true:suggestion 112 | dotnet_style_explicit_tuple_names = true:suggestion 113 | dotnet_style_null_propagation = true:suggestion 114 | dotnet_style_object_initializer = true:suggestion 115 | dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion 116 | dotnet_style_predefined_type_for_member_access = true:suggestion 117 | dotnet_style_qualification_for_event = false:suggestion 118 | dotnet_style_qualification_for_field = false:suggestion 119 | dotnet_style_qualification_for_method = false:suggestion 120 | dotnet_style_qualification_for_property = false:suggestion 121 | 122 | # .NET Naming conventions 123 | 124 | [*.{cs,csx,cake,vb}] 125 | # Naming Symbols 126 | dotnet_naming_symbols.constant_fields.applicable_kinds = field 127 | dotnet_naming_symbols.constant_fields.required_modifiers = const 128 | dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected 129 | dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field 130 | dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly 131 | dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field 132 | dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly 133 | dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private 134 | dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field 135 | dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly 136 | dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal 137 | dotnet_naming_symbols.public_internal_fields.applicable_kinds = field 138 | dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected 139 | dotnet_naming_symbols.private_protected_fields.applicable_kinds = field 140 | dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal 141 | dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate 142 | dotnet_naming_symbols.parameters.applicable_kinds = parameter 143 | dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate 144 | dotnet_naming_symbols.interface_types.applicable_kinds = interface 145 | 146 | # Naming Styles 147 | dotnet_naming_style.camel_case.capitalization = camel_case 148 | dotnet_naming_style.pascal_case.capitalization = pascal_case 149 | dotnet_naming_style.first_upper.capitalization = first_word_upper 150 | dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case 151 | dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I 152 | 153 | # Naming Rules 154 | dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning 155 | dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields 156 | dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case 157 | dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning 158 | dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields 159 | dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case 160 | dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning 161 | dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields 162 | dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case 163 | dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning 164 | dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields 165 | dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case 166 | dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning 167 | dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields 168 | dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case 169 | dotnet_naming_rule.public_members_must_be_capitalized.severity = warning 170 | dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols 171 | dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper 172 | dotnet_naming_rule.parameters_must_be_camel_case.severity = warning 173 | dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters 174 | dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case 175 | dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning 176 | dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types 177 | dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case 178 | dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning 179 | dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types 180 | dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i 181 | -------------------------------------------------------------------------------- /Content/.template.config/template.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/template", 3 | "author": "Jaxel Rojas", 4 | "classifications": [ 5 | "Vue.Js", 6 | "SPA" 7 | ], 8 | "name": "Minimal ASP.Net Core with Vue.js", 9 | "identity": "Vue.Simple.Template", 10 | "shortName": "simplevue", 11 | "tags": { 12 | "language": "C#" 13 | }, 14 | "sourceName": "Vue.Simple.Template", 15 | "preferNameDirectory": true, 16 | "symbols":{ 17 | "skipRestore": { 18 | "type": "parameter", 19 | "datatype": "bool", 20 | "description": "If specified, skips the automatic restore of the project on create.", 21 | "defaultValue": "false" 22 | } 23 | }, 24 | "postActions": [ 25 | { 26 | "condition": "(!skipRestore)", 27 | "description": "Restore NuGet packages required by this project.", 28 | "manualInstructions": [ 29 | { "text": "Run 'dotnet restore'" } 30 | ], 31 | "actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025", 32 | "continueOnError": true 33 | }], 34 | "primaryOutputs": [ 35 | { "path": "Vue.Simple.Template.csproj" } 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /Content/ClientApp/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /Content/ClientApp/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "esnext", 5 | "baseUrl": "./", 6 | "moduleResolution": "node", 7 | "paths": { 8 | "@/*": [ 9 | "src/*" 10 | ] 11 | }, 12 | "lib": [ 13 | "esnext", 14 | "dom", 15 | "dom.iterable", 16 | "scripthost" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Content/ClientApp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-simple-template", 3 | "version": "0.7.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint" 9 | }, 10 | "dependencies": { 11 | "core-js": "^3.8.3", 12 | "vue": "^3.2.13" 13 | }, 14 | "devDependencies": { 15 | "@babel/core": "^7.12.16", 16 | "@babel/eslint-parser": "^7.12.16", 17 | "@vue/cli-plugin-babel": "~5.0.0", 18 | "@vue/cli-plugin-eslint": "~5.0.0", 19 | "@vue/cli-service": "~5.0.0", 20 | "eslint": "^7.32.0", 21 | "eslint-plugin-vue": "^8.0.3" 22 | }, 23 | "eslintConfig": { 24 | "root": true, 25 | "env": { 26 | "node": true 27 | }, 28 | "extends": [ 29 | "plugin:vue/vue3-essential", 30 | "eslint:recommended" 31 | ], 32 | "parserOptions": { 33 | "parser": "@babel/eslint-parser" 34 | }, 35 | "rules": {} 36 | }, 37 | "browserslist": [ 38 | "> 1%", 39 | "last 2 versions", 40 | "not dead", 41 | "not ie 11" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /Content/ClientApp/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaxelr/VueSimpleTemplate/1929c1ec57391a5c8531bca738bbbcfa7c46c98f/Content/ClientApp/public/favicon.ico -------------------------------------------------------------------------------- /Content/ClientApp/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Content/ClientApp/src/App.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 16 | 17 | 27 | -------------------------------------------------------------------------------- /Content/ClientApp/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaxelr/VueSimpleTemplate/1929c1ec57391a5c8531bca738bbbcfa7c46c98f/Content/ClientApp/src/assets/logo.png -------------------------------------------------------------------------------- /Content/ClientApp/src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 41 | 42 | 43 | 59 | -------------------------------------------------------------------------------- /Content/ClientApp/src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | 4 | createApp(App).mount('#app') 5 | -------------------------------------------------------------------------------- /Content/ClientApp/vue.config.js: -------------------------------------------------------------------------------- 1 | const { defineConfig } = require('@vue/cli-service') 2 | module.exports = defineConfig({ 3 | transpileDependencies: true 4 | }) 5 | -------------------------------------------------------------------------------- /Content/Controllers/MainController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc; 2 | 3 | namespace VueTemplate.Controllers 4 | { 5 | public class MainController : Controller 6 | { 7 | public IActionResult Index() => View(); 8 | 9 | public IActionResult Error() => View(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Content/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore; 2 | using Microsoft.AspNetCore.Hosting; 3 | using System.IO; 4 | 5 | namespace VueTemplate 6 | { 7 | public static class Program 8 | { 9 | public static void Main(string[] args) => CreateWebHostBuilder(args).Build().Run(); 10 | 11 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) => 12 | WebHost.CreateDefaultBuilder(args) 13 | .UseStartup() 14 | .UseContentRoot(Directory.GetCurrentDirectory()) 15 | .UseIISIntegration(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Content/Startup.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.AspNetCore.Hosting; 3 | using Microsoft.AspNetCore.SpaServices; 4 | using Microsoft.Extensions.Configuration; 5 | using Microsoft.Extensions.DependencyInjection; 6 | using Microsoft.Extensions.Hosting; 7 | using Microsoft.Extensions.Logging; 8 | using VueCliMiddleware; 9 | 10 | namespace VueTemplate 11 | { 12 | public class Startup 13 | { 14 | public Startup(IWebHostEnvironment env) 15 | { 16 | var builder = new ConfigurationBuilder() 17 | .SetBasePath(env.ContentRootPath) 18 | .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) 19 | .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true) 20 | .AddEnvironmentVariables(); 21 | 22 | Configuration = builder.Build(); 23 | } 24 | 25 | public IConfigurationRoot Configuration { get; } 26 | 27 | public void ConfigureServices(IServiceCollection services) 28 | { 29 | services.AddSpaStaticFiles(configuration => configuration.RootPath = "ClientApp/dist"); 30 | 31 | services.AddControllersWithViews(); 32 | 33 | services.AddLogging(opt => 34 | { 35 | opt.AddConsole(); 36 | opt.AddDebug(); 37 | opt.AddConfiguration(Configuration.GetSection("Logging")); 38 | }); 39 | } 40 | 41 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env) 42 | { 43 | bool success = int.TryParse(Configuration.GetSection("ClientAppPort").Value, out int port); 44 | 45 | if (env.IsDevelopment()) 46 | { 47 | app.UseDeveloperExceptionPage(); 48 | } 49 | else 50 | { 51 | app.UseExceptionHandler("/Main/Error"); 52 | app.UseHsts(); 53 | } 54 | 55 | app.UseStaticFiles(); 56 | app.UseSpaStaticFiles(); 57 | 58 | app.UseRouting(); 59 | 60 | app.UseAuthorization(); 61 | 62 | app.UseEndpoints(endpoints => 63 | { 64 | endpoints.MapControllerRoute( 65 | name: "default", 66 | pattern: "{controller=Main}/{action=Index}/{id?}"); 67 | 68 | if (System.Diagnostics.Debugger.IsAttached) 69 | { 70 | endpoints.MapToVueCliProxy 71 | ( 72 | "{*path}", 73 | new SpaOptions { SourcePath = "ClientApp" }, 74 | npmScript: "serve", 75 | regex: "Compiled successfully", 76 | port: port, 77 | forceKill: true 78 | ); 79 | } 80 | }); 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Content/Views/Main/Error.cshtml: -------------------------------------------------------------------------------- 1 |
2 | This is a custom error page left blank intentionally. 3 |
4 | -------------------------------------------------------------------------------- /Content/Views/Main/Index.cshtml: -------------------------------------------------------------------------------- 1 |
2 | Your web api logic comes from this path. 3 | Check the vue-cli port generated for the ui. 4 |
5 | -------------------------------------------------------------------------------- /Content/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | @RenderBody() 9 | 10 | 11 | @RenderSection("scripts", required: false) 12 | 13 | 14 | -------------------------------------------------------------------------------- /Content/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" 2 | @addTagHelper "*, Microsoft.AspNetCore.SpaServices" 3 | -------------------------------------------------------------------------------- /Content/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /Content/Vue.Simple.Template.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | ClientApp\ 5 | net6.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | %(DistFiles.Identity) 37 | PreserveNewest 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Content/Vue.Simple.Template.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2026 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vue.Simple.Template", "Vue.Simple.Template.csproj", "{7C2946B1-91FE-4E0D-BEC7-1E456A600105}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {32A123D0-E673-4CD1-84CB-10E43B63FC76} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /Content/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | }, 10 | "ClientAppPort": 8080 11 | } 12 | -------------------------------------------------------------------------------- /Content/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Warning" 6 | } 7 | }, 8 | "ClientAppPort": 8080 9 | } 10 | -------------------------------------------------------------------------------- /Content/wwwroot/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaxelr/VueSimpleTemplate/1929c1ec57391a5c8531bca738bbbcfa7c46c98f/Content/wwwroot/.gitkeep -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 Jaxel Rojas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Vue Simple Template [![Mit License][mit-img]][mit] 2 | 3 | This template was created to interact with a vue.js project inside an asp.net core app using the [Spa Services](https://github.com/aspnet/AspNetCore/tree/7269dbb73f4aa0ebf5ebb8bc07a076ee181851be/src/Middleware/SpaServices) library. It aims to be minimalistic with its approach. It also favors Vue's single file component over Typescript, since one of the efforts is to minimize friction when transitioning from a vue-cli project into this template. 4 | 5 | This template targets net 6.0 6 | 7 | ## Builds 8 | 9 | | Appveyor | Branch | 10 | | :---: | :---: | 11 | | [![Build status][build-master-img]][build-master] | master | 12 | 13 | ## Packages 14 | 15 | | NuGet (Stable) | MyGet (Prerelease) | Gh Packages (Mirror) | 16 | | :---: | :---: | :---: | 17 | | [![NuGet][nuget-img]][nuget] | [![MyGet][myget-img]][myget] | [![Github][ghpkg-img]][ghpkg] | 18 | 19 | ## Prerequisites 20 | 21 | You must have net 6.0 installed. It also depends on Node.js (version 14) and npm (version 6) must exist in order to use the Vue Client App. The project will not compile if Node.js or Npm aren't present. 22 | 23 | ## Installation 24 | 25 | To install the template, via command line simply using nuget: 26 | 27 | `dotnet new -i "Vue.Simple.Template::*"` 28 | 29 | where * is the equivalent of the latest version of the template. 30 | 31 | If you would like to tinker with the code locally, you can clone the repository and execute the following command with the dotnet command, using the path of the repo: 32 | 33 | `dotnet new -i "$PATH_OF_NUPKG_FILE"` 34 | 35 | Alternatively, you can use the myget prerelease package, by installing using the following command: 36 | 37 | `dotnet new -i "Vue.Simple.Template::*" --nuget-source https://www.myget.org/F/vue-simple-template/api/v3/index.json` 38 | 39 | Once installed as a template you can properly create your own custom projects using the template using the following command: 40 | 41 | `dotnet new simplevue -o MyAppName` 42 | 43 | It will generate the following folder structure: 44 | 45 | ``` tree 46 | $ 47 | . 48 | ├── .editorconfig 49 | ├── appsettings.Development.json 50 | ├── appsettings.json 51 | ├── Program.cs 52 | ├── Startup.cs 53 | ├── {ProjectName}.csproj 54 | ├── {ProjectName}.sln 55 | ├── /ClientApp 56 | │ ├── package.json 57 | │ ├── package-lock.json 58 | │ ├── jsconfig.json 59 | │ ├── babel.config.js 60 | │ ├── vue.config.js 61 | │ ├── /public 62 | │ │ ├── favicon.ico 63 | │ │ └── index.html 64 | │ ├── /src 65 | │ │ ├── main.js 66 | │ │ ├── App.vue 67 | │ │ ├── /assets 68 | │ │ │ └── logo.png 69 | │ │ └── /views 70 | │ │ └── HelloWorld.vue 71 | │ │ 72 | │ └── /node_modules 73 | ├── /Controllers 74 | │ └── MainController.cs 75 | └── /Views 76 | ├── _ViewStart.cshtml 77 | ├── _ViewImports.cshtml 78 | ├── /Shared 79 | │ └── _Layout.cshtml 80 | └── /Main 81 | └── Index.cshtml 82 | ``` 83 | 84 | Then proceed to: 85 | 86 | ``` bash 87 | cd MyAppName 88 | npm install 89 | ``` 90 | 91 | The ClientApp folder includes the default project created using the vue-cli 3.0. You can (optionally) replace the contents of the clientApp folder with your own custom vue project, since this template interacts directly with the vue commands, for building and debugging purposes. 92 | 93 | For more information on how to interact with the new vue-cli 3.0, you can [check this tutorial](https://www.vuemastery.com/courses/real-world-vue-js/vue-cli/) 94 | 95 | Vue-Cli also has the ability to scaffold an app using [vue ui](https://scotch.io/tutorials/creating-vue-apps-with-the-vue-ui-tool) which is an alternative to the command line vue installation. 96 | 97 | --- 98 | 99 | ## Uninstalling 100 | 101 | The syntax for uninstalling from the command line is the following: 102 | 103 | `dotnet new -u "Vue.Simple.Template"` 104 | 105 | Or 106 | 107 | `dotnet new -u "$PATH_OF_NUPKG_FILE"` 108 | 109 | ## Previous Versions 110 | 111 | The table below includes the latest template version alongside the netcore version which it targets 112 | 113 | | net(core) version | template version | 114 | | -- | -- | 115 | | 6.0 | latest | 116 | | 5.0 | 0.6.1 | 117 | | 3.1 | 0.5.0 | 118 | | 3.0 | 0.4.1 | 119 | | 2.2 | 0.3.6 | 120 | | 2.1 | 0.2.3 | 121 | 122 | These are all available on nuget 123 | 124 | ### Further info 125 | 126 | For More information on how to manage dotnet custom templates see the [docs.microsoft documentation](https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates) 127 | 128 | ## Contributing 129 | 130 | Check the [contribution guide](https://github.com/Jaxelr/VueSimpleTemplate/blob/master/.github/CONTRIBUTING.md) 131 | 132 | [mit-img]: http://img.shields.io/badge/License-MIT-blue.svg 133 | [mit]: https://github.com/Jaxelr/VueSimpleTemplate/blob/master/LICENSE 134 | [build-master-img]: https://github.com/Jaxelr/VueSimpleTemplate/actions/workflows/ci.yml/badge.svg 135 | [build-master]: https://github.com/Jaxelr/VueSimpleTemplate/actions/workflows/ci.yml 136 | [nuget-img]: https://img.shields.io/nuget/v/Vue.Simple.Template.svg 137 | [nuget]: https://www.nuget.org/packages/Vue.Simple.Template/ 138 | [myget-img]: https://img.shields.io/myget/vue-simple-template/v/Vue.Simple.Template.svg 139 | [myget]: https://www.myget.org/feed/vue-simple-template/package/nuget/Vue.Simple.Template 140 | [ghpkg-img]: https://img.shields.io/myget/vue-simple-template/v/Vue.Simple.Template.svg 141 | [ghpkg]: https://github.com/Jaxelr/VueSimpleTemplate/packages/1447090 -------------------------------------------------------------------------------- /Vue.Simple.Project.Template.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net6.0 5 | MIT 6 | Template 7 | true 8 | 0.7.0 9 | Vue.Simple.Template 10 | Vue dotnet new templates 11 | Jaxel Rojas 12 | A minimal template for Vue Js using .Net 6 as backend 13 | template;vue;vuejs 14 | https://github.com/Jaxelr/VueSimpleTemplate 15 | https://github.com/Jaxelr/VueSimpleTemplate 16 | true 17 | false 18 | Content 19 | true 20 | NU5128 21 | Target to net 6.0 22 | icon.png 23 | readme.md 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: '0.7.0.{build}' 2 | image: Visual Studio 2022 3 | environment: 4 | nodejs_version: "12" 5 | branches: 6 | only: 7 | - master 8 | init: 9 | - cmd: git config --global core.autocrlf true 10 | install: 11 | - ps: Install-Product node $env:nodejs_version 12 | before_build: 13 | - cmd: dotnet --version 14 | - cmd: node --version 15 | - cmd: npm --version 16 | build_script: 17 | - cmd: dotnet build ./Content/Vue.Simple.Template.sln -v quiet 18 | after_build: 19 | - cmd: dotnet pack Vue.Simple.Project.Template.csproj -v quiet 20 | artifacts: 21 | - path: '**/*.nupkg' 22 | skip_commits: 23 | files: 24 | - '**/*.md' 25 | deploy: 26 | - provider: NuGet 27 | server: https://www.myget.org/F/vue-simple-template/api/v2/package 28 | on: 29 | branch: master 30 | api_key: 31 | secure: 6xhHSsDvB9arsrSDLuynnbxaVS+BwaoJU96RfQenc5FOnUYvP8SHM6kbvrmpvja2 32 | skip_symbols: false 33 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Jaxelr/VueSimpleTemplate/1929c1ec57391a5c8531bca738bbbcfa7c46c98f/icon.png --------------------------------------------------------------------------------