@cparra/apexdocs 3.2.2 → 3.3.0

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.
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var logger$1 = require('../logger-DIyKhj0a.js');
4
+ var index = require('../Apexdocs-BXshUaEK.js');
5
+ var module$1 = require('module');
5
6
  var cosmiconfig = require('cosmiconfig');
6
- var yargs = require('yargs');
7
7
  var E = require('fp-ts/Either');
8
8
  var cosmiconfigTypescriptLoader = require('cosmiconfig-typescript-loader');
9
9
  var _function = require('fp-ts/function');
@@ -19,29 +19,35 @@ require('handlebars');
19
19
  require('fp-ts/boolean');
20
20
  require('fs');
21
21
  require('fp-ts/lib/TaskEither');
22
- require('minimatch');
23
22
  require('chalk');
23
+ require('minimatch');
24
24
 
25
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
25
26
  function _interopNamespaceDefault(e) {
26
- var n = Object.create(null);
27
- if (e) {
28
- Object.keys(e).forEach(function (k) {
29
- if (k !== 'default') {
30
- var d = Object.getOwnPropertyDescriptor(e, k);
31
- Object.defineProperty(n, k, d.get ? d : {
32
- enumerable: true,
33
- get: function () { return e[k]; }
34
- });
35
- }
36
- });
37
- }
38
- n.default = e;
39
- return Object.freeze(n);
27
+ var n = Object.create(null);
28
+ if (e) {
29
+ Object.keys(e).forEach(function (k) {
30
+ if (k !== 'default') {
31
+ var d = Object.getOwnPropertyDescriptor(e, k);
32
+ Object.defineProperty(n, k, d.get ? d : {
33
+ enumerable: true,
34
+ get: function () { return e[k]; }
35
+ });
36
+ }
37
+ });
38
+ }
39
+ n.default = e;
40
+ return Object.freeze(n);
40
41
  }
41
42
 
42
- var yargs__namespace = /*#__PURE__*/_interopNamespaceDefault(yargs);
43
43
  var E__namespace = /*#__PURE__*/_interopNamespaceDefault(E);
44
44
 
45
+ var require$1 = (
46
+ false
47
+ ? /* @__PURE__ */ module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('cli/generate.js', document.baseURI).href)))
48
+ : require
49
+ );
50
+
45
51
  const markdownOptions = {
46
52
  sourceDir: {
47
53
  type: "string",
@@ -52,19 +58,19 @@ const markdownOptions = {
52
58
  targetDir: {
53
59
  type: "string",
54
60
  alias: "t",
55
- default: logger$1.markdownDefaults.targetDir,
61
+ default: index.markdownDefaults.targetDir,
56
62
  describe: "The directory location where documentation will be generated to."
57
63
  },
58
64
  scope: {
59
65
  type: "string",
60
66
  array: true,
61
67
  alias: "p",
62
- default: logger$1.markdownDefaults.scope,
68
+ default: index.markdownDefaults.scope,
63
69
  describe: "A list of scopes to document. Values should be separated by a space, e.g --scope global public namespaceaccessible. Annotations are supported and should be passed lowercased and without the @ symbol, e.g. namespaceaccessible auraenabled."
64
70
  },
65
71
  defaultGroupName: {
66
72
  type: "string",
67
- default: logger$1.markdownDefaults.defaultGroupName,
73
+ default: index.markdownDefaults.defaultGroupName,
68
74
  describe: "Defines the @group name to be used when a file does not specify it."
69
75
  },
70
76
  namespace: {
@@ -74,23 +80,23 @@ const markdownOptions = {
74
80
  sortAlphabetically: {
75
81
  type: "boolean",
76
82
  describe: "Whether to sort files and members alphabetically.",
77
- default: logger$1.markdownDefaults.sortAlphabetically
83
+ default: index.markdownDefaults.sortAlphabetically
78
84
  },
79
85
  includeMetadata: {
80
86
  type: "boolean",
81
87
  describe: "Whether to include the file's meta.xml information: Whether it is active and and the API version",
82
- default: logger$1.markdownDefaults.includeMetadata
88
+ default: index.markdownDefaults.includeMetadata
83
89
  },
84
90
  linkingStrategy: {
85
91
  type: "string",
86
92
  describe: "The strategy to use when linking to other documentation pages.",
87
93
  choices: ["relative", "no-link", "none"],
88
- default: logger$1.markdownDefaults.linkingStrategy
94
+ default: index.markdownDefaults.linkingStrategy
89
95
  },
90
96
  referenceGuideTitle: {
91
97
  type: "string",
92
98
  describe: "The title of the reference guide.",
93
- default: logger$1.markdownDefaults.referenceGuideTitle
99
+ default: index.markdownDefaults.referenceGuideTitle
94
100
  }
95
101
  };
96
102
 
@@ -104,12 +110,12 @@ const openApiOptions = {
104
110
  targetDir: {
105
111
  type: "string",
106
112
  alias: "t",
107
- default: logger$1.openApiDefaults.targetDir,
113
+ default: index.openApiDefaults.targetDir,
108
114
  describe: "The directory location where the OpenApi file will be generated."
109
115
  },
110
116
  fileName: {
111
117
  type: "string",
112
- default: logger$1.openApiDefaults.fileName,
118
+ default: index.openApiDefaults.fileName,
113
119
  describe: "The name of the OpenApi file to be generated."
114
120
  },
115
121
  namespace: {
@@ -118,12 +124,12 @@ const openApiOptions = {
118
124
  },
119
125
  title: {
120
126
  type: "string",
121
- default: logger$1.openApiDefaults.title,
127
+ default: index.openApiDefaults.title,
122
128
  describe: "The title of the OpenApi file."
123
129
  },
124
130
  apiVersion: {
125
131
  type: "string",
126
- default: logger$1.openApiDefaults.apiVersion,
132
+ default: index.openApiDefaults.apiVersion,
127
133
  describe: "The version of the OpenApi file."
128
134
  }
129
135
  };
@@ -144,20 +150,25 @@ const changeLogOptions = {
144
150
  targetDir: {
145
151
  type: "string",
146
152
  alias: "t",
147
- default: logger$1.changeLogDefaults.targetDir,
153
+ default: index.changeLogDefaults.targetDir,
148
154
  describe: "The directory location where the changelog file will be generated."
149
155
  },
150
156
  fileName: {
151
157
  type: "string",
152
- default: logger$1.changeLogDefaults.fileName,
158
+ default: index.changeLogDefaults.fileName,
153
159
  describe: "The name of the changelog file to be generated."
154
160
  },
155
161
  scope: {
156
162
  type: "string",
157
163
  array: true,
158
164
  alias: "s",
159
- default: logger$1.changeLogDefaults.scope,
165
+ default: index.changeLogDefaults.scope,
160
166
  describe: "The list of scope to respect when generating the changelog. Values should be separated by a space, e.g --scope global public namespaceaccessible. Annotations are supported and should be passed lowercased and without the @ symbol, e.g. namespaceaccessible auraenabled."
167
+ },
168
+ skipIfNoChanges: {
169
+ type: "boolean",
170
+ default: index.changeLogDefaults.skipIfNoChanges,
171
+ describe: "Skip the changelog generation if there are no changes between the previous and current version."
161
172
  }
162
173
  };
163
174
 
@@ -200,6 +211,7 @@ var __async$1 = (__this, __arguments, generator) => {
200
211
  step((generator = generator.apply(__this, __arguments)).next());
201
212
  });
202
213
  };
214
+ const yargs = require$1("yargs");
203
215
  const configOnlyMarkdownDefaults = {
204
216
  targetGenerator: "markdown",
205
217
  excludeTags: [],
@@ -265,22 +277,32 @@ function extractArgsForCommandProvidedThroughCli(extractFromProcessFn, config) {
265
277
  }
266
278
  }
267
279
  function extractArgsForCommandsProvidedInConfig(extractFromProcessFn, config) {
268
- const configs = Object.entries(config).map(([generator, generatorConfig]) => {
280
+ const providedThroughCli = yargs.parseSync(extractFromProcessFn());
281
+ const hasACommandBeenProvided = providedThroughCli._.length > 0;
282
+ const configs = Object.entries(config).filter(([generator]) => hasACommandBeenProvided ? providedThroughCli._[0] === generator : true).map(([generator, generatorConfig]) => {
269
283
  switch (generator) {
270
284
  case "markdown":
271
285
  return _function.pipe(
272
- validateMultiCommandConfig(extractFromProcessFn, "markdown", generatorConfig),
273
- E__namespace.map(() => __spreadValues(__spreadValues({}, configOnlyMarkdownDefaults), generatorConfig))
286
+ extractMultiCommandConfig(extractFromProcessFn, "markdown", generatorConfig),
287
+ E__namespace.map((cliArgs) => {
288
+ console.log("markdown", cliArgs);
289
+ return cliArgs;
290
+ }),
291
+ E__namespace.map((cliArgs) => __spreadValues(__spreadValues(__spreadValues({}, configOnlyMarkdownDefaults), generatorConfig), cliArgs))
274
292
  );
275
293
  case "openapi":
276
294
  return _function.pipe(
277
- validateMultiCommandConfig(extractFromProcessFn, "openapi", generatorConfig),
278
- E__namespace.map(() => __spreadValues(__spreadValues({}, configOnlyOpenApiDefaults), generatorConfig))
295
+ extractMultiCommandConfig(extractFromProcessFn, "openapi", generatorConfig),
296
+ E__namespace.map((cliArgs) => __spreadValues(__spreadValues(__spreadValues({}, configOnlyOpenApiDefaults), generatorConfig), cliArgs))
279
297
  );
280
298
  case "changelog":
281
299
  return _function.pipe(
282
- validateMultiCommandConfig(extractFromProcessFn, "changelog", generatorConfig),
283
- E__namespace.map(() => __spreadValues(__spreadValues({}, configOnlyChangelogDefaults), generatorConfig))
300
+ extractMultiCommandConfig(extractFromProcessFn, "changelog", generatorConfig),
301
+ E__namespace.map((cliArgs) => {
302
+ console.log("changelog", cliArgs);
303
+ return cliArgs;
304
+ }),
305
+ E__namespace.map((cliArgs) => __spreadValues(__spreadValues(__spreadValues({}, configOnlyChangelogDefaults), generatorConfig), cliArgs))
284
306
  );
285
307
  }
286
308
  });
@@ -307,21 +329,21 @@ function getConfigType(config) {
307
329
  return E__namespace.right({ _type: "single-command-config" });
308
330
  }
309
331
  function extractYargsDemandingCommand(extractFromProcessFn, config) {
310
- return yargs__namespace.config(config.config).command(
332
+ return yargs.config(config.config).command(
311
333
  "markdown",
312
334
  "Generate documentation from Apex classes as a Markdown site.",
313
335
  (yargs2) => yargs2.options(markdownOptions)
314
336
  ).command(
315
337
  "openapi",
316
338
  "Generate an OpenApi REST specification from Apex classes.",
317
- () => yargs__namespace.options(openApiOptions)
339
+ () => yargs.options(openApiOptions)
318
340
  ).command(
319
341
  "changelog",
320
342
  "Generate a changelog from 2 versions of the source code.",
321
- () => yargs__namespace.options(changeLogOptions)
343
+ () => yargs.options(changeLogOptions)
322
344
  ).demandCommand().parseSync(extractFromProcessFn());
323
345
  }
324
- function validateMultiCommandConfig(extractFromProcessFn, command, config) {
346
+ function extractMultiCommandConfig(extractFromProcessFn, command, config) {
325
347
  function getOptions(generator) {
326
348
  switch (generator) {
327
349
  case "markdown":
@@ -333,19 +355,11 @@ function validateMultiCommandConfig(extractFromProcessFn, command, config) {
333
355
  }
334
356
  }
335
357
  const options = getOptions(command);
358
+ console.log("config", config);
336
359
  return E__namespace.tryCatch(() => {
337
- yargs__namespace.config(config).options(options).check((argv) => {
338
- if (argv._.length > 0) {
339
- throw new Error(
340
- `Unexpected command "${argv._[0]}".
341
- The command name should be provided in the configuration when using the current configuration format.`
342
- );
343
- } else {
344
- return true;
345
- }
346
- }).fail((msg) => {
360
+ return yargs(extractFromProcessFn()).config(config).options(options).fail((msg) => {
347
361
  throw new Error(`Invalid configuration for command "${command}": ${msg}`);
348
- }).parse(extractFromProcessFn());
362
+ }).parseSync();
349
363
  }, E__namespace.toError);
350
364
  }
351
365
 
@@ -369,7 +383,7 @@ var __async = (__this, __arguments, generator) => {
369
383
  step((generator = generator.apply(__this, __arguments)).next());
370
384
  });
371
385
  };
372
- const logger = new logger$1.StdOutLogger();
386
+ const logger = new index.StdOutLogger();
373
387
  function main() {
374
388
  function parseResult(result) {
375
389
  E__namespace.match(catchUnexpectedError, (successMessage) => {
@@ -383,7 +397,7 @@ function main() {
383
397
  extractArgs().then((maybeConfigs) => __async(this, null, function* () {
384
398
  E__namespace.match(catchUnexpectedError, (configs) => __async(this, null, function* () {
385
399
  for (const config of configs) {
386
- yield logger$1.Apexdocs.generate(config, logger).then(parseResult);
400
+ yield index.Apexdocs.generate(config, logger).then(parseResult);
387
401
  }
388
402
  }))(maybeConfigs);
389
403
  })).catch(catchUnexpectedError);
package/dist/index.d.ts CHANGED
@@ -45,6 +45,7 @@ type UserDefinedChangelogConfig = {
45
45
  fileName: string;
46
46
  scope: string[];
47
47
  exclude: string[];
48
+ skipIfNoChanges: boolean;
48
49
  };
49
50
 
50
51
  type UserDefinedConfig = UserDefinedMarkdownConfig | UserDefinedOpenApiConfig | UserDefinedChangelogConfig;
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./logger-DIyKhj0a.js');
4
- var E = require('fp-ts/Either');
3
+ var index = require('./Apexdocs-BXshUaEK.js');
5
4
  require('fp-ts/function');
6
5
  require('fp-ts/TaskEither');
6
+ require('fp-ts/Either');
7
7
  require('js-yaml');
8
8
  require('path');
9
9
  require('fp-ts/Task');
@@ -15,136 +15,13 @@ require('handlebars');
15
15
  require('fp-ts/boolean');
16
16
  require('fs');
17
17
  require('fp-ts/lib/TaskEither');
18
- require('minimatch');
19
18
  require('chalk');
19
+ require('minimatch');
20
20
 
21
- function _interopNamespaceDefault(e) {
22
- var n = Object.create(null);
23
- if (e) {
24
- Object.keys(e).forEach(function (k) {
25
- if (k !== 'default') {
26
- var d = Object.getOwnPropertyDescriptor(e, k);
27
- Object.defineProperty(n, k, d.get ? d : {
28
- enumerable: true,
29
- get: function () { return e[k]; }
30
- });
31
- }
32
- });
33
- }
34
- n.default = e;
35
- return Object.freeze(n);
36
- }
37
-
38
- var E__namespace = /*#__PURE__*/_interopNamespaceDefault(E);
39
-
40
- var __defProp$1 = Object.defineProperty;
41
- var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
42
- var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
43
- var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
44
- var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
45
- var __spreadValues$1 = (a, b) => {
46
- for (var prop in b || (b = {}))
47
- if (__hasOwnProp$1.call(b, prop))
48
- __defNormalProp$1(a, prop, b[prop]);
49
- if (__getOwnPropSymbols$1)
50
- for (var prop of __getOwnPropSymbols$1(b)) {
51
- if (__propIsEnum$1.call(b, prop))
52
- __defNormalProp$1(a, prop, b[prop]);
53
- }
54
- return a;
55
- };
56
- var __async = (__this, __arguments, generator) => {
57
- return new Promise((resolve, reject) => {
58
- var fulfilled = (value) => {
59
- try {
60
- step(generator.next(value));
61
- } catch (e) {
62
- reject(e);
63
- }
64
- };
65
- var rejected = (value) => {
66
- try {
67
- step(generator.throw(value));
68
- } catch (e) {
69
- reject(e);
70
- }
71
- };
72
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
73
- step((generator = generator.apply(__this, __arguments)).next());
74
- });
75
- };
76
- function process(config) {
77
- return __async(this, null, function* () {
78
- const logger$1 = new logger.NoLogger();
79
- const configWithDefaults = __spreadValues$1(__spreadValues$1({}, getDefault(config)), config);
80
- if (!configWithDefaults.sourceDir) {
81
- throw new Error("sourceDir is required");
82
- }
83
- const result = yield logger.Apexdocs.generate(configWithDefaults, logger$1);
84
- E__namespace.match(
85
- (errors) => {
86
- throw errors;
87
- },
88
- () => {
89
- }
90
- )(result);
91
- });
92
- }
93
- function getDefault(config) {
94
- switch (config.targetGenerator) {
95
- case "markdown":
96
- return logger.markdownDefaults;
97
- case "openapi":
98
- return logger.openApiDefaults;
99
- case "changelog":
100
- return logger.changeLogDefaults;
101
- default:
102
- throw new Error("Unknown target generator");
103
- }
104
- }
105
21
 
106
- var __defProp = Object.defineProperty;
107
- var __defProps = Object.defineProperties;
108
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
109
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
110
- var __hasOwnProp = Object.prototype.hasOwnProperty;
111
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
112
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
113
- var __spreadValues = (a, b) => {
114
- for (var prop in b || (b = {}))
115
- if (__hasOwnProp.call(b, prop))
116
- __defNormalProp(a, prop, b[prop]);
117
- if (__getOwnPropSymbols)
118
- for (var prop of __getOwnPropSymbols(b)) {
119
- if (__propIsEnum.call(b, prop))
120
- __defNormalProp(a, prop, b[prop]);
121
- }
122
- return a;
123
- };
124
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
125
- function defineMarkdownConfig(config) {
126
- return __spreadProps(__spreadValues(__spreadValues({}, logger.markdownDefaults), config), {
127
- targetGenerator: "markdown"
128
- });
129
- }
130
- function defineOpenApiConfig(config) {
131
- return __spreadProps(__spreadValues(__spreadValues({}, logger.openApiDefaults), config), {
132
- targetGenerator: "openapi"
133
- });
134
- }
135
- function defineChangelogConfig(config) {
136
- return __spreadProps(__spreadValues(__spreadValues({}, logger.changeLogDefaults), config), {
137
- targetGenerator: "changelog"
138
- });
139
- }
140
- function skip() {
141
- return {
142
- _tag: "Skip"
143
- };
144
- }
145
22
 
146
- exports.defineChangelogConfig = defineChangelogConfig;
147
- exports.defineMarkdownConfig = defineMarkdownConfig;
148
- exports.defineOpenApiConfig = defineOpenApiConfig;
149
- exports.process = process;
150
- exports.skip = skip;
23
+ exports.defineChangelogConfig = index.defineChangelogConfig;
24
+ exports.defineMarkdownConfig = index.defineMarkdownConfig;
25
+ exports.defineOpenApiConfig = index.defineOpenApiConfig;
26
+ exports.process = index.process;
27
+ exports.skip = index.skip;