Git Product home page Git Product logo

powerapps-project-template's Introduction

Power Apps Project Generator

Build Status npm (scoped)

A Yeoman based generator that scaffolds Power Platform Projects.

Power Apps Project Generator is an open-source tool designed to make it easier for developers working with Power Apps to quickly get up and running with new projects. It helps to ensure best practices are employed from the start, allowing developers to focus on the task at hand. The generator scaffolds source code for deployment, automated testing, build tasks, and more. In addition, it will configure an Azure DevOps repository, and associated build and release pipelines along with other Azure DevOps components. This allows developers to get up and running quickly and with confidence, and make their projects a success.

The generator scaffolds:

  • An Azure DevOps project (pipelines, releases, variable groups, service connections, etc.)
  • Build tasks
  • Solution metadata source code
  • Web resource project source code
  • Custom workflow activity/plug-in assembly project source code
  • Reference/configuration data migration project source code
  • Power BI project source code

Table of Contents

Prerequisites

You must have the following installed globally before you can use this generator:

If you already have Node installed, install Yeoman:

npm install -g yo

Installation

Install the generator package

Install the @capgeminiuk/generator-powerapps-project package globally:

npm install -g @capgeminiuk/generator-powerapps-project

Usage

Ensure that you have updated to the latest version of the generator and that your shell's current working directory is an empty folder (when running the generator for the first time) or your scaffolded repository (when using sub-generators).

Scaffold a project

A new project can be scaffolded using the main generator:

yo @capgeminiuk/powerapps-project

This generator requires you to enter some information about your project. The scaffolded artifacts include:

  • IDE configuration files
  • Boilerplate source code

Scaffold Azure DevOps

An Azure DevOps project can be scaffolded using the azuredevops sub-generator:

yo @capgeminiuk/powerapps-project:azuredevops

This generator requires you to enter some information about your project as well as an Azure DevOps personal access token and a tenant ID, application ID, and client secret of an Azure service principal. The scaffolded artifacts include:

  • Azure DevOps repository
  • Azure DevOps extensions
  • Azure DevOps variables
  • Azure DevOps service connections
  • Azure DevOps build pipelines
  • Azure DevOps release pipeline

You can easily generate the service principal using the script provided by Microsoft here. This will output the information required for the scaffolder.

Scaffold a solution

A new solution within the package can be scaffolded using the solution sub-generator:

yo @capgeminiuk/powerapps-project:solution

This sub-generator requires some information about your solution and generates the source code required to support the source control, build, and deployment of this solution.

This does not create a solution within the Common Data Service environment. The corresponding solution must be created manually and extracted after scaffolding.

Running this sub-generator:

  • Creates a corresponding folder within the src/solutions directory. This folder contains:
    • A MappingFile.xml file which is used when packing the solution with the solution packager
    • A spkl.json file which is used to contain spkl task runner configuration
    • An environment.json file which stores information regarding the development and staging (if applicable) environments for the solution
  • Updates the ImportConfig.xml file within the deployment project is updated to include the scaffolded solution in the deployment
  • Updates the .vscode/tasks.json file to allow for build tasks to be ran against the new solution

Scaffold a web resource project for a solution

This sub-generator generates the source code required to support the development of script web resources. A new web resource project can be generated within a solution using the scripts sub-generator:

yo @capgeminiuk/powerapps-project:scripts

Running this sub-generator:

  • Creates a WebResources/Scripts folder within the specified solution folder. This folder contains:
    • A tsconfig.json file for TypeScript configuration
    • A tslint.json file for TSLint configuration
    • A package.json file for managing npm dependencies
  • Updates the spkl.json file to include an empty webresource array which can be used to deploy the web resources with the spkl task runner
  • Updates the MappingFile.xml file to include a wildcard file mapping of all WebResources files. This will cause the Solution Packager to replace the web resources with the TypeScript compilation output when packing the solution

Scaffold a custom workflow activity/plug-in assembly for a solution

This sub-generator generates the source code required to support the development of custom workflow activities and plug-ins. A new custom workflow activity/plug-in project can be generated within a solution using the pluginassembly sub-generator:

yo @capgeminiuk/powerapps-project:pluginassembly

Running this sub-generator:

  • Creates a C# class library project targeting .NET Framework 4.6.2 within the specified solution folder. This project is pre-configured with required packages and code analysers.
  • Updates the spkl.json file to include the assembly built by the newly created project. This allows the assembly to be deployed using the spkl task runner.
  • Updates the MappingFile.xml file to include a file mapping of the plug-in assembly .dll. This will cause the Solution Packager to replace the assembly with the class library project build output when packing the solution

Scaffold reference/configuration data migration for a solution

This sub-generator generates the source code required to support the migration of reference or configuration data. This can be done using the data sub-generator:

yo @capgeminiuk/powerapps-project:data

Creates a data folder which contains the DataExport.json, DataImport.json, and DataSchema.xml files for use with the Capgemini XRM Data Migrator tool. The ImportConfig.xml is also updated to include the import of the data.

Scaffold a Power BI assembly for a solution

This sub-generator generates the source code required to support the migration of Power BI components. A new powerbi project can be generated within a solution using the powerbi sub-generator:

yo @capgeminiuk/powerapps-project:powerbi

Running this sub-generator:

  • Creates a C# class library project targeting .NET Framework 4.6.2 within the specified solution folder. This project is pre-configured with required powershell module and scripts which enables to deploy powerbi reports, updates required parameters and connections.
  • Creates two folders under the C# project. One is for the pbix files and the other folder is for the powershell files.
  • Updates the include-build-stage.yml file to include the assembly built by the newly created project. This allows the reports and powershell files to be included in the build artifact so that release pipelines for reports can access the required files.
  • Details regarding scripts, prerequisites and setting up a release pipeline for a report can be found in README file under src/generators/powerbi folder.
  • This set up does not require Premium license and it is fully functioning with Pro license.

Contributing

Please refer to the Contributing guide.

License

The Power Apps Project Template is released under the MIT license.

powerapps-project-template's People

Contributors

ahmet269 avatar dave-robertson92 avatar dependabot[bot] avatar ewingjm avatar filcole avatar joaozorro avatar krutarth12 avatar ksulikow avatar lukebenting avatar markcunninghamuk avatar satyarkar avatar tdashworth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

powerapps-project-template's Issues

Repo didn't roll back

When running the Azure DevOps generator, when an error occurs, the repo fails to roll back. So is because of the below issue:

    TypeError: Cannot read property 'rmdir' of undefined
    at RepoGenerator.rollback (C:\Users\***\Documents\Projects\alm-labs\powerapps-project-template\generators\azuredevops\generator\RepoGenerator.js:32:29)
    at process._tickCallback (internal/process/next_tick.js:178:7)

Review ADO Pipelines and Release

I don't think both Pipelines and Releases are required - we should just move to Pipelines.

There are multiple issues with the pipelines:

  • Is the Extract pipeline necessary?
  • References to pipeline templates
  • References to scripts

List Pre-Requisites

Is your feature request related to a problem? Please describe.
It can be frustrating for new users to become stuck partway through due to not having the answers required.

Describe the solution you'd like
Listing these high-level requirements upfronts give the user time to acquire these before running the generator.

Describe alternatives you've considered
Currently, the user would just leave the generator running or quit and re-run it later.

Pushing initialized repo fails

Describe the bug

In azure devops set up at step of pushing initialized repo fails with URL using bad/illegal format or missing URL

To reproduce

Run yo @capgeminiuk/powerapps-project:azuredevops in powershell
Enter necessary values as prompted
After providing password, code starts azure devops set up
It fails at step of pushing repo with error URL using bad/illegal format or missing URL

Expected behaviour

Successful push of initialized repo

Fails when extensions already installed

Describe the bug

The Azure DevOps sub-generator is failing if the extensions are installed in the organisation. Initially it complaint about gittools.gittools, I uninstalled and run again, Now it is erroring for sariftools.sarif-viewer-build-tab. I hope it works even if the extension are installed in the organisation. Just checking what is the case at your end, not sure if there is any problem at my side.

To reproduce

Run Azure DevOps generator with any of the extensions already installed.

Expected behaviour

Extensions are not to be installed if they are already installed.

Screenshots

Creating pipelines/azure-pipelines-pull-request.yml build...
Creating pipelines/azure-pipelines.yml build...
Extension: PowerPlatform-BuildTools is already installed.
Extension: sarif-viewer-build-tab is already installed.
Extension: gittools is already installed.
Installing 'PowerPlatform-BuildTools' from 'microsoft-IsvExpTools' extension...
Installing 'sarif-viewer-build-tab' from 'sariftools' extension...
Installing 'gittools' from 'gittools' extension...
Package generator encountered an error.
Error: TF1590010: Extension gittools.gittools is already installed in this organization.
at RestClient.<anonymous> (C:\Users\satkar\AppData\Roaming\npm\node_modules\@capgeminiuk\generator-powerapps-project\node_modules\typed-rest-client\RestClient.js:200:31)
at Generator.next (<anonymous>)
at fulfilled (C:\Users\satkar\AppData\Roaming\npm\node_modules\@capgeminiuk\generator-powerapps-project\node_modules\typed-rest-client\RestClient.js:6:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
statusCode: 409,
result: {
'$id': '1',
innerException: null,
message: 'TF1590010: Extension gittools.gittools is already installed in this organization.',
typeName: 'Microsoft.VisualStudio.Services.ExtensionManagement.WebApi.ExtensionAlreadyInstalledException, Microsoft.VisualStudio.Services.ExtensionManagement.WebApi',
typeKey: 'ExtensionAlreadyInstalledException',
errorCode: 0,
eventId: 3000
}
}

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version

Additional context

Add any other context about the problem here.

'Sarif Viewer Build Tab' is deprecated

Describe the bug

The 'Sarif Viewer Build Tab' used by yo @capgeminiuk/powerapps-project:azuredevops is deprecated, and replaced by 'SARIF SAST Scans Tab'

To reproduce

Run yo @capgeminiuk/powerapps-project:azuredevops notice 'Sarif Viewer Build Tab' extension is installed

Expected behaviour

SARIF SAST Scans Tab is installed
https://marketplace.visualstudio.com/items?itemName=sariftools.scans

Screenshots

image

Environment (please complete the following information):

Fails to create Service Connection

Describe the bug

When running the Azure DevOps generator, it fails with the below error.

To reproduce

Run the Azure DevOps generator.

Expected behaviour

Service Connection to be created.

Screenshots

Error: Unable to find service connection type 'powerplatform-spn' using authentication scheme 'None'.
    at RestClient.<anonymous> (C:\code\capgemini\powerapps-project-template\node_modules\typed-rest-client\RestClient.js:200:31)
    at Generator.next (<anonymous>)
    at fulfilled (C:\code\capgemini\powerapps-project-template\node_modules\typed-rest-client\RestClient.js:6:58)
    at processTicksAndRejections (internal/process/task_queues.js:93:5) {
  statusCode: 400,
  result: {
    '$id': '1',
    innerException: null,
    message: "Unable to find service connection type 'powerplatform-spn' using authentication scheme 'None'.",
    typeName: 'Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi.ServiceEndpointException, Microsoft.VisualStudio.Services.ServiceEndpoints.WebApi',
    typeKey: 'ServiceEndpointException',
    errorCode: 0,
    eventId: 3000
  }
}

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version

Additional context

Add any other context about the problem here.

A new generator for creating an Application Users

Could there be a new generator that creates a new application registration in Azure Active Directory and linked application user in a given Power Platform environment?

This would require high privileges in AAD and PP.

Missing Data Tasks

With the move to Nuke, we are missing our Data Migration tasks for importing/exporting data.

Similar to Cake, we can't use the engine directly since it's .NET Framework and Nuke is .NET Core. Cake bypassed that by building a CLI tool which is called by Cake. The source for the CLI tool is open here but it's not currently a public package we can consume. An issue for this has been raised which this issue is dependent on.

Ask to create Git repo when generating the base project

I think it would be useful to initialise and commit after the initial project generation and again commit/stage after each sub generation. This keeps track of the exact changes made by the generator.

If should be opt in which additional question at the end.

Error during rollback hides the actual error that caused the rollback

Describe the bug

If an error occurs while rolling back the Azure DevOps changes, the original error is not shown.

To reproduce

In this case, the auth token didn't have the right permissions.

Expected behaviour

Both errors are to be shown in the log.

Screenshots

Setting up Azure DevOps...
Generating variable groups...
Creating CI Environment - Core variable group...
Creating Integration Tests - Core variable group...
Package generator encountered an error.
Rolling back all generated objects in Orion...
Rolling back 0 repositories...
Rolling back 0 build definitions...
Rolling back 0 releases definitions...
Rolling back 0 variable groups...
Rolling back 0 extensions...
Rolling back 0 service connections...
(node:23436) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
(Use `node --trace-deprecation ...` to show where the warning was created)
Error @capgeminiuk/powerapps-project:azuredevops
ENOENT: no such file or directory, stat 'C:\.git'

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version

Prepare for Open-Source

This issue will be used to track any activities for open-sourcing this repository.

  • Add LICENSE to repo
  • Add LICENSE to README
  • Add LICENSE to NPM package
  • Add repo to NPM package
  • Add homepage to NPM packge
  • Add description to NPM package
  • Make this repo public
  • Add SonarCloud to analyse during build
  • Add SonarCloud badges to README
  • Integrate issues and PRs with MS Teams
  • Move Known Issues from README to Issues

Option to provide full solution name, rather than templating one

Is your feature request related to a problem? Please describe.
Often when the solution sub-generator is run, the solution already exists but does not match the templated solution name. This involves a number of manual changes to ensure the project still functions.

Describe the solution you'd like
I see one of two options:

  1. the solution unique name can be overridden in the solution.json file (this would require additional work to ensure it is used everywhere)
  2. update the generator to ask if the solution exists and what the solution unique name is (this is less intrusive)

Describe alternatives you've considered
Please see above (manual and two solutions).

Install failure for scripts

Describe the bug

A clear and concise description of what the bug is.
Install scripts dependencies fail after generation.

npm ERR!
npm ERR! While resolving: undefined@undefined
npm ERR! Found: [email protected]
npm ERR! node_modules/tslint
npm ERR! dev tslint@"^6.1.2" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer tslint@"^5.11.0" from [email protected]
npm ERR! node_modules/tslint-config-airbnb
npm ERR! dev tslint-config-airbnb@"^5.11.2" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\[redacted]\AppData\Local\npm-cache\eresolve-report.txt for
a full report.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\[redacted]\AppData\Local\npm-cache\_logs\2021-11-01T17_12_54_054Z-debug.log

To reproduce

Steps to reproduce the behaviour.

  1. Generate a new project
  2. Generate a new solution
  3. Generate scripts for solution
  4. Run Compile task

Expected behaviour

A clear and concise description of what you expected to happen.
Build to succeed.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version
  • Node version v17.01

Variables Groups didn't roll back

While running the Azure DevOps generator, if an error occurs, the variable groups don't always rollback.

I'm not sure what the exact cause of this is so will require some investigation.

Rename tool to `generator-powerapps-project`

I think a name change to generator-powerapps-project fits better than the legacy generator-cdspackage since the common data service is being phased out.

I have avoided 'package' so that we don't conflict with Power Apps Solutions/Packages.

[WIP] Verify multiple solution generation does not cause any adverse effects

Describe the bug

A clear and concise description of what the bug is.

To reproduce

Steps to reproduce the behaviour.

Expected behaviour

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version

Additional context

Add any other context about the problem here.

Import Config File Parsing Error

The following error message is thrown when deploying with the Package Deployer.

Import of [redacted].Deployment.dll failed: System.Management.Automation.CmdletInvocationException: Config File Parsing Error ---> System.Exception: Config File Parsing Error

I believe this to be the below corruption to the ImportConfig.xml file.

What is generated:

  <templateconfig>&#xD;
  &#xD;
  </templateconfig>

What should be generated:

  <templateconfig>
  </templateconfig>

Vulnerability: handlebars-4.7.6.js

Vulnerability Library Description Top Fix Exists In Build Definitions
High9.8CVE-2021-23383May-04-2021 handlebars-4.7.6.js The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to compile templates coming from an untrusted source. Upgrade to version handlebars - 4.7.7https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23383 powerapps-project-template
High9.8CVE-2021-23383May-04-2021 handlebars-4.7.6.min.js The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to compile templates coming from an untrusted source. Upgrade to version handlebars - 4.7.7https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23383 powerapps-project-template

Early warning if ADO extensions aren't installed

Is your feature request related to a problem? Please describe.
If the required extensions aren't installed, the generator will attempt to do so. If the user does not have the required permissions, this will fail the entire (sub)generation process.

Describe the solution you'd like
After the ADO details have been entered (org and pac), the existence of extensions can be checked, and if the user doesn't have permissions, notify the user and quit the process.

Rollback of repo fails when repo was never initialised

Describe the bug

If an issue arises during the AzureDevOps sub-generator before the repo is initialised, the rollback of the repo fails before it expects the repo to exist.

To reproduce

In this scenario, the auth token did not have the correct permissions which failed the creation of variable groups.

Expected behaviour

Rollback to be successful, skipping the deletion of ./.git folder.

Screenshots

Setting up Azure DevOps...
Generating variable groups...
Creating CI Environment - Core variable group...
Creating Integration Tests - Core variable group...
Package generator encountered an error.
Rolling back all generated objects in Orion...
Rolling back 0 repositories...
Rolling back 0 build definitions...
Rolling back 0 releases definitions...
Rolling back 0 variable groups...
Rolling back 0 extensions...
Rolling back 0 service connections...
(node:23436) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
(Use `node --trace-deprecation ...` to show where the warning was created)
Error @capgeminiuk/powerapps-project:azuredevops
ENOENT: no such file or directory, stat 'C:\.git'

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version

Failed to create repo in ADO of it already exists

When using the Azure DevOps generator and specifying the package name the same as the ADO project name, creating the new repo to push to fails.

When this happens, the following options should be made available:

  • if it's an empty repo (no commits on default branch), then skip creation and push to that repo
  • if it's not empty, ask the user for a new repo name

A further question here could be to always ask for a repo name and valid it doesn't exist when questioning.

"Generate" an existing solution

Could we extend the solution generator to ask if the solution already exists? If so, we can authenticate with the environment, give the user a selection then read the existing values.

XRM Toolbox UI

Would be good to have a XRM toolbox plugin as alternative to use the CLI.

Recursive builds before solution has been generated [WIP]

Describe the bug

A clear and concise description of what the bug is.

To reproduce

Steps to reproduce the behaviour.

Expected behaviour

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version

Additional context

Add any other context about the problem here.

Fails to push repo to ADO when initial is not "master"

When initialising a git repo with a default branch anything other than master (e.g. main) then the generator will fail to push the repo to ADO. Please see the below log output.

A workaround for this is to initialise the repo yourself with git init -b master or if you have already done that, create a new branch git checkout -b master then run the generator.

The fix for this would be to use the branch the init command creates or we could ask the question then use the appropriate git command to init and push.

Creating [redacted] repository...
Pushing initial commit to https://[redacted].visualstudio.com/[redacted]/_git/[redacted]
error: src refspec master does not match any
error: failed to push some refs to 'https://[redacted].visualstudio.com/[redacted]/_git/[redacted]'

Package generator encountered an error.
Rolling back all generated objects in [redacted]...
Rolling back 1 repositories...
Rolling back 0 build definitions...
Rolling back 0 releases definitions...
Rolling back 3 variable groups...
Rolling back 0 extensions...
Rolling back 0 service connections...
Error: error: src refspec master does not match any
error: failed to push some refs to 'https://[redacted].visualstudio.com/[redacted]/_git/[redacted]'

    at toError (C:\code\capgemini\powerapps-project-template\node_modules\simple-git\promise.js:90:14)
    at C:\code\capgemini\powerapps-project-template\node_modules\simple-git\promise.js:61:36
    at Git.<anonymous> (C:\code\capgemini\powerapps-project-template\node_modules\simple-git\src\git.js:937:21)
    at Function.Git.fail (C:\code\capgemini\powerapps-project-template\node_modules\simple-git\src\git.js:1475:18)
    at fail (C:\code\capgemini\powerapps-project-template\node_modules\simple-git\src\git.js:1433:20)
    at C:\code\capgemini\powerapps-project-template\node_modules\simple-git\src\git.js:1442:16
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

`.gitignore` not generated

It appears that npm packages the package without the .gitignore file under src/generators/app/templates/source/.

I think we need to rename the file in source and rename it back when generating.

Summary

would be good to have a short summary of the tools functionality and why should one use it

Azure DevOps pre validation

After answering the questions, could the generator check privileges/prerequisites before starting the actual generation?

This could include:

  • user privileges (project administrator)
  • existing ADO extensions

Unable to register plugins as the assemblypath is incorrect.

I noticed that the assemblypath in the spkl.json file is missing one folder layer (dotnet version) as highlighted below. When running the task to deploy plugins, nothing is registered.

e.g. PluginAssemblies\{PROJECT}\bin\Debug\net462\{ASSEMBLYFILE}

Optional ADO extensions

Is your feature request related to a problem? Please describe.
The generator currently required 3 extensions to be installed. While some are required (for builds/releases), some are optional.

Describe the solution you'd like
The generator should ask if they would like each optional extension installed (currently only the sarif viewer).

Tying in with #76, if the user does not have permission to install, and they aren't currently installed, the user should be notified that they are recommended and not try to install them.

Could ADO service connections be reused?

When using the Azure DevOps generator, the CI environment Service Connection is always created.

Could the generator first check if a matching Connection exists and ask if it could be reused?

Release tool

This tool is currently available internally on a private NPM feed which isn't the easiest to connect to.

Ideally this tool would be easier to install and run without connecting to another feed or building from source.

What needs to happen to make this happen?

Enhance the documentation

What do all the generators do exactly?

What are each of the questions for? What are they used for?

What if I make a typo?

`&#xD;` artefact when modifying `ImportConfig.xml`

Describe the bug

When running the solution sub-generator, the deploy/ImportConfig.xml file is updated to include the new solution. The XML parser code leaves the below artefact after the generation.

&#xD;

To reproduce

Run the main generator then the solution generator.

Expected behaviour

This artefact should not exist.

Environment (please complete the following information):

  • yo version
  • generator-powerapps-project version
  • Power Apps CLI version
  • Power Apps environment version

Additional context

Add any other context about the problem here.

use/reference of Azure DevOps Power Platform build tools version 0 which is no longer available/working prevents scaffolling new ADO projects

Describe the bug

use/reference of Azure DevOps Power Platform build tool's tasks version 0 which is no longer available/working prevents scaffolling new ADO projects
for example in the file here

To reproduce

Steps to reproduce the behaviour.
Scaffolder Azure Devops:
yo @capgeminiuk/powerapps-project:azuredevops

Expected behaviour

to Scaffolder Azure Devops:

Additional context

tested local fix of updating references to version 2
for example in the file here
update "PowerPlatformToolInstaller@0" to "PowerPlatformToolInstaller@2" and
update "PowerPlatformChecker@2" to "PowerPlatformChecker@2"

Yeoman Permissions error

This happens when you have a .yo-rc-global file in the root of your user directory. It tries to scaffold to this location which is not ideal. To solve this remove this file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.