create-powerapps-project 0.16.0 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,67 @@
2
2
  "name": "create-powerapps-project",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 07 Feb 2022 22:01:59 GMT",
5
+ "date": "Fri, 11 Feb 2022 16:59:07 GMT",
6
+ "tag": "create-powerapps-project_v0.16.4",
7
+ "version": "0.16.4",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "derek.finlinson@journeyteam.com",
12
+ "package": "create-powerapps-project",
13
+ "commit": "19a5d1442fef02d2f260e59d2779d6f85df51630",
14
+ "comment": "Comment out pcf plop for now"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Wed, 09 Feb 2022 16:19:05 GMT",
21
+ "tag": "create-powerapps-project_v0.16.3",
22
+ "version": "0.16.3",
23
+ "comments": {
24
+ "patch": [
25
+ {
26
+ "author": "derek.finlinson@journeyteam.com",
27
+ "package": "create-powerapps-project",
28
+ "commit": "cdab4698564ece9f40c5a45327a38270a6d1c16d",
29
+ "comment": "Catch errors on commands"
30
+ }
31
+ ]
32
+ }
33
+ },
34
+ {
35
+ "date": "Tue, 08 Feb 2022 18:47:13 GMT",
36
+ "tag": "create-powerapps-project_v0.16.2",
37
+ "version": "0.16.2",
38
+ "comments": {
39
+ "patch": [
40
+ {
41
+ "author": "derek.finlinson@journeyteam.com",
42
+ "package": "create-powerapps-project",
43
+ "commit": "70380beb0078b8c1ab669bf5f3e4eacbbcd99ba7",
44
+ "comment": "Update symbols"
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "date": "Tue, 08 Feb 2022 18:13:53 GMT",
51
+ "tag": "create-powerapps-project_v0.16.1",
52
+ "version": "0.16.1",
53
+ "comments": {
54
+ "patch": [
55
+ {
56
+ "author": "derek.finlinson@journeyteam.com",
57
+ "package": "create-powerapps-project",
58
+ "commit": "cfa9121f50ea731b9ef639154153b01dc81fff85",
59
+ "comment": "Fix logger and file paths"
60
+ }
61
+ ]
62
+ }
63
+ },
64
+ {
65
+ "date": "Mon, 07 Feb 2022 22:02:33 GMT",
6
66
  "tag": "create-powerapps-project_v0.16.0",
7
67
  "version": "0.16.0",
8
68
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,17 +1,49 @@
1
1
  # Change Log - create-powerapps-project
2
2
 
3
- This log was last generated on Mon, 07 Feb 2022 22:01:59 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 11 Feb 2022 16:59:07 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## 0.16.0
7
+ ## 0.16.4
8
8
 
9
- Mon, 07 Feb 2022 22:01:59 GMT
9
+ Fri, 11 Feb 2022 16:59:07 GMT
10
10
 
11
- ### Minor changes
11
+ ### Patches
12
12
 
13
- - Add support for PCF projects (derek.finlinson@journeyteam.com)
13
+ - Comment out pcf plop for now (derek.finlinson@journeyteam.com)
14
14
 
15
+ ## 0.16.3
16
+
17
+ Wed, 09 Feb 2022 16:19:05 GMT
18
+
19
+ ### Patches
20
+
21
+ - Catch errors on commands (derek.finlinson@journeyteam.com)
22
+
23
+ ## 0.16.2
24
+
25
+ Tue, 08 Feb 2022 18:47:13 GMT
26
+
27
+ ### Patches
28
+
29
+ - Update symbols (derek.finlinson@journeyteam.com)
30
+
31
+ ## 0.16.1
32
+
33
+ Tue, 08 Feb 2022 18:13:53 GMT
34
+
35
+ ### Patches
36
+
37
+ - Fix logger and file paths (derek.finlinson@journeyteam.com)
38
+
39
+ ## 0.16.0
40
+
41
+ Mon, 07 Feb 2022 22:02:33 GMT
42
+
43
+ ### Minor changes
44
+
45
+ - Add support for PCF projects (derek.finlinson@journeyteam.com)
46
+
15
47
  ## 0.15.6
16
48
 
17
49
  Mon, 17 Jan 2022 15:43:56 GMT
@@ -29,7 +29,7 @@ const path_1 = __importDefault(require("path"));
29
29
  const plop_1 = require("./plop");
30
30
  const pkg = __importStar(require("./packageManager"));
31
31
  const getEnvInfo_1 = require("./getEnvInfo");
32
- const logger_1 = require("../../../logger");
32
+ const logger_1 = require("./logger");
33
33
  exports.default = async (type) => {
34
34
  await (0, getEnvInfo_1.initialize)();
35
35
  const name = path_1.default.basename(process.cwd());
@@ -54,10 +54,18 @@ exports.default = async (type) => {
54
54
  const xrmVersions = await (0, nuget_1.getNugetPackageVersions)('JourneyTeam.Xrm');
55
55
  config.xrmVersion = xrmVersions.shift();
56
56
  }
57
- logger_1.logger.info('get plop generator');
57
+ else if (type === 'webresource') {
58
+ config.name = name;
59
+ }
58
60
  const generator = await (0, plop_1.getGenerator)(type, name);
59
61
  logger_1.logger.info(`run powerapps-project-${type} code generator`);
60
- await (0, plop_1.runGenerator)(generator, config);
62
+ try {
63
+ await (0, plop_1.runGenerator)(generator, config);
64
+ }
65
+ catch (ex) {
66
+ logger_1.logger.error(ex.message);
67
+ return;
68
+ }
61
69
  logger_1.logger.info('initialize project');
62
70
  if (type !== 'pcf' || config.react) {
63
71
  pkg.install(process.cwd(), type);
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const commander_1 = require("commander");
8
- const kleur_1 = __importDefault(require("kleur"));
9
8
  const createDataverseProject_1 = __importDefault(require("./createDataverseProject"));
10
9
  // eslint-disable-next-line @typescript-eslint/no-var-requires
11
10
  const packageJson = require('../package');
@@ -13,7 +12,7 @@ const program = new commander_1.Command(packageJson.name);
13
12
  program
14
13
  .version(packageJson.version)
15
14
  .description('Create new Dataverse project')
16
- .usage(kleur_1.default.green('[type]'))
15
+ .usage('[type]')
17
16
  .argument('[type]', 'Type of project to generate')
18
17
  .action(type => {
19
18
  (0, createDataverseProject_1.default)(type);
package/lib/logger.js CHANGED
@@ -7,10 +7,10 @@ exports.logger = exports.icons = void 0;
7
7
  const kleur_1 = __importDefault(require("kleur"));
8
8
  const isTest = process.env.JEST_WORKER_ID !== undefined;
9
9
  exports.icons = {
10
- done: kleur_1.default.green(''),
11
- info: kleur_1.default.cyan('!'),
10
+ done: kleur_1.default.green(''),
11
+ info: kleur_1.default.cyan(''),
12
12
  error: kleur_1.default.red('⨂'),
13
- warn: kleur_1.default.yellow('')
13
+ warn: kleur_1.default.yellow('')
14
14
  };
15
15
  exports.logger = {
16
16
  info(...args) {
@@ -30,7 +30,7 @@ exports.logger = {
30
30
  },
31
31
  done(...args) {
32
32
  if (!isTest) {
33
- console.info(exports.icons.info, ...args);
33
+ console.info(exports.icons.done, ...args);
34
34
  }
35
35
  },
36
36
  };
@@ -41,7 +41,7 @@ function getPackages(type) {
41
41
  '@fluentui/react'
42
42
  ],
43
43
  devDependencies: [
44
- `powerapps-project-${type}`,
44
+ //`powerapps-project-${type}`,
45
45
  '@types/react',
46
46
  '@types/react-dom'
47
47
  ]
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.runGenerator = exports.getGenerator = void 0;
7
7
  const node_plop_1 = __importDefault(require("node-plop"));
8
8
  const path_1 = __importDefault(require("path"));
9
- const logger_1 = require("../../../logger");
9
+ const logger_1 = require("./logger");
10
10
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
11
  const getGenerator = async (type, name) => {
12
12
  let plopFile = path_1.default.resolve(__dirname, 'plopfile.js');
@@ -21,11 +21,11 @@ exports.getGenerator = getGenerator;
21
21
  const runGenerator = async (generator, args) => {
22
22
  const results = await generator.runActions(args, {
23
23
  onComment: (comment) => {
24
- logger_1.logger.done(comment);
24
+ logger_1.logger.info(comment);
25
25
  }
26
26
  });
27
27
  if (results.failures && results.failures.length > 0) {
28
- throw new Error('Error: ' + results.failures[0].error);
28
+ throw new Error(results.failures[0].error);
29
29
  }
30
30
  // do something after the actions have run
31
31
  for (const change of results.changes) {
@@ -6,13 +6,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
7
  const child_process_1 = require("child_process");
8
8
  const fs_1 = __importDefault(require("fs"));
9
+ const didSucceed = (code) => `${code}` === '0';
9
10
  /* eslint-disable @typescript-eslint/no-explicit-any */
10
11
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
11
12
  exports.default = (plop) => {
12
13
  plop.setActionType('signAssembly', (answers) => {
13
14
  const keyPath = path_1.default.resolve(process.cwd(), `${answers.name}.snk`);
14
- (0, child_process_1.spawnSync)(path_1.default.resolve(__dirname, '../', 'bin', 'sn.exe'), ['-q', '-k', keyPath], { stdio: 'inherit' });
15
- return 'signed assembly';
15
+ return new Promise((resolve, reject) => {
16
+ if (process.env.JEST_WORKER_ID !== undefined) {
17
+ resolve('Testing so no need to sign');
18
+ }
19
+ const sign = (0, child_process_1.spawn)(path_1.default.resolve(__dirname, '../', 'bin', 'sn.exe'), ['-q', '-k', keyPath], { stdio: 'inherit' });
20
+ sign.on('close', (code) => {
21
+ if (didSucceed(code)) {
22
+ resolve('signed assembly');
23
+ }
24
+ else {
25
+ reject('Failed to sign assembly');
26
+ }
27
+ });
28
+ });
16
29
  });
17
30
  plop.setActionType('runPcf', (answers) => {
18
31
  const args = ['pcf', 'init', '-ns', answers.namespace, '-n', answers.name, '-t', answers.template];
@@ -23,15 +36,24 @@ exports.default = (plop) => {
23
36
  if (process.env.JEST_WORKER_ID !== undefined) {
24
37
  args.push('-npm', 'false');
25
38
  }
26
- (0, child_process_1.spawnSync)('pac', args, { stdio: 'inherit' });
27
- return 'pcf project created';
39
+ return new Promise((resolve, reject) => {
40
+ const pac = (0, child_process_1.spawn)('pac', args, { stdio: 'inherit' });
41
+ pac.on('close', (code) => {
42
+ if (didSucceed(code)) {
43
+ resolve('pcf project created');
44
+ }
45
+ else {
46
+ reject('Ensure the Power Platform CLI is installed. Command must be run from within VS Code if using the Power Platform Extension');
47
+ }
48
+ });
49
+ });
28
50
  });
29
- plop.setActionType('addGenScript', () => {
51
+ plop.setActionType('addGenScript', async () => {
30
52
  const packagePath = path_1.default.resolve(process.cwd(), 'package.json');
31
53
  // eslint-disable-next-line @typescript-eslint/no-var-requires
32
54
  const packageJson = require(packagePath);
33
55
  packageJson.scripts.gen = 'plop';
34
- fs_1.default.writeFileSync(packagePath, JSON.stringify(packageJson, null, 4), 'utf8');
56
+ await fs_1.default.promises.writeFile(packagePath, JSON.stringify(packageJson, null, 4), 'utf8');
35
57
  return 'added plop script to package.json';
36
58
  });
37
59
  plop.setGenerator('webresource', {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-powerapps-project",
3
3
  "description": "💧 plop generator for Dataverse development",
4
- "version": "0.16.0",
4
+ "version": "0.16.4",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
7
7
  "bin": {