ligershark / pecan-waffle Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Need ability to change folder names just like file names get changed currently
The project seems to be multi-purpose tool:
consuming
I mean using tool by end-user, just like in VS studio to create new project/new item from templates. While enhancing
means adding new value to content, just like when adding new template for Item/Project to Side Waffle.In VSTemplate files it is possible to define SolutionFolder nodes. Would it be possible to add this option to Pecan waffle also?
Update the wizard to pass the packages directory a the PackagesDir
property. Here is code to get that value https://github.com/ligershark/template-builder/blob/e801f5ef53a18739a3fb11b0c9b22d1e57bc00b5/src/TemplateBuilder/FixNuGetPackageHintPathsWizard.cs.
We should update pecan-add-template-to-vsix.ps1
to load the pecan-waffle module from the same folder that it's in.
Switch to robocopy.exe for the copy operation to avoid long path issues.
Update to add asset tag to source.extension.manifest
The template source project has a flat folder structure where the .sln file, packages folder, .vs folder, and all project folders (Droid, iOS, Win, etc) are all live in the root folder of the solution. The problem is that in the generated solution has a generated folder structure where the .sln file, packages folder, and .vs folder are in the root folder but the project folders are pushed down a level under a second root folder.
Why isn’t that source folder structure translating "as is" to generated folder structure?
Ensure _project.vstemplate
doesn't ship get included in the project
We need an option for users to pass in template options. I was thinking to add an -properties
parameter which is a hash table. The values there will override other values.
We should have a nuget package which contains the following.
hi, Is there any list with all commands?
Trying to remove a single template from the show-templates list but all i can find is the clearAllTemplates-cmd.
I've found it hard to find out available features of pecan-waffle module - list of cmdlets that actually are core features of module, one directly related to Project and Item (Show-Templates
, Add-Project
, etc)
The good source of these core cmdlets is test script btw.
I think this is crucial to help people play with this module.
Expose include/exclude in replace shorthand, currently to use include/exclude you have to call the actual replace function instead of the helper.
Also the same for update_filename.
Need a way to add templates to a vsix
Today the caller is responsible for passing in -noNewFolder
. We should make an update to allow this behavior to be defaulted by the template in the pw-templateInfo
file.This is useful when you're creating a multi-project template.
For example.
$templateInfo = New-Object -TypeName psobject -Property @{
Name = 'template-name'
Type = 'ProjectTemplate'
CreateNewFolder = $false
}
First let me say thank you. I know this is still just a POC but I really like where you guys are headed with this. It is simple and straight forward, and makes creating a new project out of any existing project a snap. I have been looking for something just like this.
Anyway, I just tried to create a project from my first project template and ran into the long file name issue. I noticed that the long file names were for node modules which I don't want to copy anyway. I added node_modules and bowerPackages to the excluded-folder list, but it is still trying to copy those folders.
Some of the module's cmldets have a little confusing names I think (Add-
where New-
would be better). Just by adding some documentation to core cmdlets will help to better play with module using get-help
cmldet.
For the contents below the package replacement is not working.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Reference Include="GalaSoft.MvvmLight, Version=5.2.0.37222, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL">
<HintPath>..\..\packages\MvvmLightLibs.5.2.0.0\lib\portable-net45+wp8+wpa81+netcore45+monoandroid1+xamarin.ios10\GalaSoft.MvvmLight.dll</HintPath>
<Private>True</Private>
</Reference>
<None Include="packages.config" />
<None Include="Views\packages.config" />
</ItemGroup>
<ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<Import Project="..\..\packages\Xamarin.Forms.2.2.0.31\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.2.2.0.31\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
</Project>
The issue here is the views\packages.config
is being matched which results in an extra replacement of packages
being defined. The replacement regex that's used to pick up the packages needs to be more specific.
For VS templates we have a hard coded icon, users should be able to specify their own icon.
The install script (and script used by the wizard) should be updated to skip install based on a specific version.
FYI last week I made a video of creating vs templates with pecan-waffle https://youtu.be/ysvTROB963k
Hi!
I really like pecan-waffle and planning to use it on all of my template projects, but today I ran into this "path is too long"-exception (Windows has never been a fan of long paths).
I could easily build a workaround by excluding my jspm-package folder but i think this kind of tool should be able to handle even the craziest of paths so I'll report it as an issue. :)
*Error message: *
Get-ChildItem : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the d
irectory name must be less than 248 characters.
At C:\Users\x\Documents\WindowsPowerShell\Modules\pecan-waffle\pecan-waffle.psm1:1232 char:18
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When using pacan template, the project will be placed in a sub-folder containing the project name. This results in the following folder structure:
Projects folder: C:\Projects
Project name: SampleProject
C:\Projects\SampleProject\SampleProject\
When creating projects in VS, they are placed in the first folder ex. no sub-folder created.
I could uncheck "Create directory for solution", this then results in packages folder in:
C:\projects\packages
This is also a common problem with VSTemplates. Could this be changed with pacan waffle templates?
Possible solution on Stackoverflow
http://stackoverflow.com/questions/3882764/issue-with-visual-studio-template-directory-creation
When changing pwTemplateZipRelDir in pecan-waffle-settings.props multiple times, the VSIX (zip) contains "VsTemplateProj1.project.zip" in every previously defined location.
I haven't been able to find where this information is stored.
We don't have a good way to support updating the namespace declaration for item templates. We need a better story here.
FYI I created a video of what I currently have https://youtu.be/Xi5Kn4Lq6Xg.
The exported commands have some extra functions listed which users are not interested in. See #29
We should create a NuGet "metapackage" named pecan-waffle.vs
which has the following.
Most multi-projects would need a specific Startup project (ex. web project). Would it be possible to make this configurable ex. by $ProjectId (guid)?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.