@nimbus-ds/scripts 1.2.1 → 1.4.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  This package is intended for internal use in generating custom script builds at design system build time.
4
4
 
5
+ ## 2023-07-07 `1.4.0`
6
+
7
+ #### 🎉 New features
8
+
9
+ - Added new script to run builds on npm packages and github actions. ([#172](https://github.com/TiendaNube/nimbus-design-system/pull/172) by [@juniorconquista](https://github.com/juniorconquista))
10
+
11
+ ## 2023-05-24 `1.3.0`
12
+
13
+ #### 🎉 New features
14
+
15
+ - Added the `packageName` and `version` props to the documentation generation script. ([#165](https://github.com/TiendaNube/nimbus-design-system/pull/165) by [@juniorconquista](https://github.com/juniorconquista))
16
+
5
17
  ## 2023-04-11 `1.2.1`
6
18
 
7
19
  #### 🐛 Bug fixes
@@ -5,10 +5,7 @@ export declare class Docgen {
5
5
  private options;
6
6
  private generator;
7
7
  private paths;
8
- private sourceComponent;
9
- private componentName;
10
- private componentId;
11
- private componentPath;
8
+ private component;
12
9
  static defaultOptions: {
13
10
  settings: Partial<TJS.Args>;
14
11
  compilerOptions: Omit<TJS.CompilerOptions, "jsx"> & {
@@ -22,10 +19,12 @@ export declare class Docgen {
22
19
  private getSchema;
23
20
  private getSource;
24
21
  private getComponentName;
22
+ private getPackageName;
23
+ private getVersion;
24
+ private generateDocLink;
25
25
  private getPolymorphicProps;
26
26
  private getComponentId;
27
27
  private getSubComponentsNames;
28
28
  private getComponentPath;
29
29
  private getSubComponents;
30
30
  }
31
- export declare const docgen: Docgen;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.docgen = exports.Docgen = void 0;
3
+ exports.Docgen = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const path_1 = tslib_1.__importDefault(require("path"));
6
6
  const TJS = tslib_1.__importStar(require("typescript-json-schema"));
@@ -13,10 +13,13 @@ class Docgen {
13
13
  options = {};
14
14
  generator = null;
15
15
  paths = { components: [], subComponents: [] };
16
- sourceComponent = "";
17
- componentName = "";
18
- componentId = "";
19
- componentPath = "";
16
+ component = {
17
+ id: "",
18
+ name: "",
19
+ path: "",
20
+ source: "",
21
+ sourcePackage: "",
22
+ };
20
23
  static defaultOptions = {
21
24
  settings: docgen_definitions_1.defaultSettings,
22
25
  compilerOptions: docgen_definitions_1.defaultCompilerOptions,
@@ -41,22 +44,29 @@ class Docgen {
41
44
  console.log("Done!");
42
45
  }
43
46
  createDoc(path) {
44
- this.componentName = this.getComponentName(path);
45
- this.componentPath = this.getComponentPath(path);
46
- this.componentId = this.getComponentId();
47
- this.sourceComponent = this.getSource(`${this.componentPath}/${this.componentName}.tsx`);
47
+ this.component.name = this.getComponentName(path);
48
+ this.component.path = this.getComponentPath(path);
49
+ this.component.id = this.getComponentId();
50
+ this.component.source = this.getSource(`${this.component.path}/${this.component.name}.tsx`);
51
+ this.component.sourcePackage = this.getSource(`${this.component.path.replace(`${this.component.name}/src`, this.component.name)}/package.json`);
48
52
  const polymorphicProps = this.getPolymorphicProps();
49
- const schema = this.getSchema(`${this.componentName}Properties`);
53
+ const schema = this.getSchema(`${this.component.name}Properties`);
50
54
  const props = this.formatProps(schema, polymorphicProps);
55
+ const packageName = this.getPackageName();
56
+ const version = this.getVersion();
57
+ const docLink = this.generateDocLink();
51
58
  const subComponents = this.getSubComponents();
52
59
  const doc = {
53
- id: this.componentId,
54
- name: this.componentName,
60
+ id: this.component.id,
61
+ name: this.component.name,
55
62
  totalProps: props.length,
63
+ packageName,
64
+ version,
65
+ docLink,
56
66
  props,
57
67
  subComponents,
58
68
  };
59
- const dist = `${this.componentPath}/${this.componentId}.docs.json`;
69
+ const dist = `${this.component.path}/${this.component.id}.docs.json`;
60
70
  (0, fs_1.writeFileSync)(dist, JSON.stringify(doc, null, 2));
61
71
  console.log(`created ${dist} ✅`);
62
72
  }
@@ -71,7 +81,7 @@ class Docgen {
71
81
  return prev;
72
82
  }, []);
73
83
  if (!!polymorphicProps?.length) {
74
- const asDefault = this.sourceComponent.match(/As = "(\w+)",/m)?.[1] ?? "";
84
+ const asDefault = this.component.source.match(/As = "(\w+)",/m)?.[1] ?? "";
75
85
  props.unshift({
76
86
  default: asDefault,
77
87
  description: "The underlying element to render — either a HTML element name or a React component.",
@@ -97,18 +107,32 @@ class Docgen {
97
107
  return (0, fs_1.readFileSync)(path, "utf8");
98
108
  }
99
109
  getComponentName(path) {
100
- const fullPatch = path.match(/(\w+)\.types\.ts/gm)?.[0] ?? "";
110
+ const regex = RegExp("(\\w+)\\.types\\.ts", "gm");
111
+ const fullPatch = regex.exec(path)?.[0] ?? "";
101
112
  return (0, change_case_1.pascalCase)(fullPatch.replace(".types.ts", ""));
102
113
  }
114
+ getPackageName() {
115
+ const regex = RegExp('"name": "(.+)"', "m");
116
+ return regex.exec(this.component.sourcePackage)?.[1] ?? "";
117
+ }
118
+ getVersion() {
119
+ const regex = RegExp('"version": "(.+)"', "m");
120
+ return regex.exec(this.component.sourcePackage)?.[1] ?? "";
121
+ }
122
+ generateDocLink() {
123
+ const context = this.component.path.split("/")?.[3] || "";
124
+ return `https://nimbus.nuvemshop.com.br/documentation/${context}-components/${(0, change_case_1.paramCase)(this.component.id)}`;
125
+ }
103
126
  getPolymorphicProps() {
104
- const match = this.sourceComponent.match(/PolymorphicForwardRefComponent<(.+),.+> &$/m)?.[1];
127
+ const regex = RegExp("PolymorphicForwardRefComponent<(.+),.+> &$", "m");
128
+ const match = regex.exec(this.component.source)?.[1] ?? "";
105
129
  return match ? match.replace(/[" ]/gm, "").split("|") : [];
106
130
  }
107
131
  getComponentId() {
108
- return (0, change_case_1.camelCase)(this.componentName);
132
+ return (0, change_case_1.camelCase)(this.component.name);
109
133
  }
110
134
  getSubComponentsNames() {
111
- return Array.from(this.sourceComponent.matchAll(/^\w+\.\w+\.displayName =\n?.+"(.+)";/gm), (m) => m[1]);
135
+ return Array.from(this.component.source.matchAll(/^\w+\.\w+\.displayName =\n?.+"(.+)";/gm), (m) => m[1]);
112
136
  }
113
137
  getComponentPath(path) {
114
138
  return path.match(/([A-z\/]+src)/gm)?.[0] ?? "";
@@ -130,5 +154,4 @@ class Docgen {
130
154
  }
131
155
  }
132
156
  exports.Docgen = Docgen;
133
- exports.docgen = new Docgen();
134
157
  //# sourceMappingURL=Docgen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Docgen.js","sourceRoot":"","sources":["../../src/docgen/Docgen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Docgen.js","sourceRoot":"","sources":["../../src/docgen/Docgen.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from "./docgen";
2
+ export * from "./packageBuilder";
package/dist/index.js CHANGED
@@ -2,4 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./docgen"), exports);
5
+ tslib_1.__exportStar(require("./packageBuilder"), exports);
5
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,2DAAiC"}
@@ -0,0 +1,10 @@
1
+ export declare class PackageBuilder {
2
+ getPackagesToBuild(path: string): string[];
3
+ private processVersions;
4
+ getCommmandBuildNPM(packages: string[], removePackages?: string[]): string;
5
+ execCommand(command: string): void;
6
+ triggerBuildGithubAction(url: string, body: {
7
+ [key: string]: string;
8
+ }): Promise<void>;
9
+ private getContentVersions;
10
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PackageBuilder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = tslib_1.__importDefault(require("fs"));
6
+ const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
7
+ const child_process_1 = require("child_process");
8
+ /* eslint no-console: "off" */
9
+ class PackageBuilder {
10
+ getPackagesToBuild(path) {
11
+ const content = this.getContentVersions(path);
12
+ return this.processVersions(content);
13
+ }
14
+ processVersions(content) {
15
+ const regex = /^ {2}"?([^":]+)"?:/gm;
16
+ return Array.from(content.matchAll(regex), (match) => match[1].replace(/"/g, ""));
17
+ }
18
+ getCommmandBuildNPM(packages, removePackages = []) {
19
+ const filteredPackages = packages.filter((pack) => !removePackages.includes(pack));
20
+ const removeFilters = removePackages
21
+ .map((pack) => `--filter=!${pack}`)
22
+ .join(" ");
23
+ return filteredPackages.reduce((prev, curr) => {
24
+ prev = prev + ` --filter=${curr}...`;
25
+ return prev;
26
+ }, `turbo run build ${removeFilters}`);
27
+ }
28
+ execCommand(command) {
29
+ console.log(`\x1b[32m 🏃‍♂️ Running building packages... \x1b[0m`);
30
+ (0, child_process_1.execSync)(command, { stdio: "inherit" });
31
+ }
32
+ async triggerBuildGithubAction(url, body) {
33
+ try {
34
+ if (!process.env.GITHUB_TOKEN) {
35
+ throw new Error("You need to set an environment variable called GITHUB_TOKEN with your personal git token");
36
+ }
37
+ await (0, node_fetch_1.default)(url, {
38
+ method: "POST",
39
+ headers: {
40
+ "Content-Type": "application/json",
41
+ Authorization: `token ${process.env.GITHUB_TOKEN}`,
42
+ },
43
+ body: JSON.stringify(body),
44
+ });
45
+ console.log(`\x1b[32m 🏃‍♂️ Running building github action... \x1b[0m`);
46
+ }
47
+ catch (error) {
48
+ throw new Error(`An error occurred while executing an action: ${error.message}`);
49
+ }
50
+ }
51
+ getContentVersions(path) {
52
+ try {
53
+ return fs_1.default.readFileSync(path, "utf8");
54
+ }
55
+ catch (error) {
56
+ throw new Error("The versions file was not found so it was not possible to perform the build...");
57
+ }
58
+ }
59
+ }
60
+ exports.PackageBuilder = PackageBuilder;
61
+ //# sourceMappingURL=PackageBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageBuilder.js","sourceRoot":"","sources":["../../src/packageBuilder/PackageBuilder.ts"],"names":[],"mappings":";;;;AAAA,oDAAoB;AACpB,oEAA+B;AAC/B,iDAAyC;AAEzC,8BAA8B;AAC9B,MAAa,cAAc;IAClB,kBAAkB,CAAC,IAAY;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,MAAM,KAAK,GAAG,sBAAsB,CAAC;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CACnD,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,CAAC;IACJ,CAAC;IAEM,mBAAmB,CACxB,QAAkB,EAClB,iBAA2B,EAAE;QAE7B,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzC,CAAC;QAEF,MAAM,aAAa,GAAG,cAAc;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC;aAClC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,GAAG,IAAI,GAAG,aAAa,IAAI,KAAK,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,mBAAmB,aAAa,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,WAAW,CAAC,OAAe;QAChC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,IAAA,wBAAQ,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,wBAAwB,CACnC,GAAW,EACX,IAA+B;QAE/B,IAAI;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;gBAC7B,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;aACH;YAED,MAAM,IAAA,oBAAK,EAAC,GAAG,EAAE;gBACf,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,SAAS,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;iBACnD;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;SAC1E;QAAC,OAAO,KAAU,EAAE;YACnB,MAAM,IAAI,KAAK,CACb,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAChE,CAAC;SACH;IACH,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,IAAI;YACF,OAAO,YAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACtC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;SACH;IACH,CAAC;CACF;AAxED,wCAwEC"}
@@ -0,0 +1 @@
1
+ export * from "./PackageBuilder";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./PackageBuilder"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/packageBuilder/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbus-ds/scripts",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "files": [