@octaviaflow/upgrade 1.0.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.
Files changed (58) hide show
  1. package/README.md +97 -0
  2. package/bin/carbon-upgrade.js +48 -0
  3. package/cli.js +53573 -0
  4. package/package.json +56 -0
  5. package/telemetry.yml +17 -0
  6. package/transforms/ARCHITECTURE.md +47 -0
  7. package/transforms/__testfixtures__/featureflag-deprecate-flags-prop.input.js +143 -0
  8. package/transforms/__testfixtures__/featureflag-deprecate-flags-prop.output.js +133 -0
  9. package/transforms/__testfixtures__/ibm-products-update-userprofileimage.input.js +57 -0
  10. package/transforms/__testfixtures__/ibm-products-update-userprofileimage.output.js +50 -0
  11. package/transforms/__testfixtures__/icons-react-size-prop-object-key.input.js +25 -0
  12. package/transforms/__testfixtures__/icons-react-size-prop-object-key.output.js +25 -0
  13. package/transforms/__testfixtures__/icons-react-size-prop-rename.input.js +53 -0
  14. package/transforms/__testfixtures__/icons-react-size-prop-rename.output.js +53 -0
  15. package/transforms/__testfixtures__/icons-react-size-prop-with-prop.input.js +25 -0
  16. package/transforms/__testfixtures__/icons-react-size-prop-with-prop.output.js +28 -0
  17. package/transforms/__testfixtures__/refactor-light-to-layer.input.js +23 -0
  18. package/transforms/__testfixtures__/refactor-light-to-layer.output.js +23 -0
  19. package/transforms/__testfixtures__/refactor-to-callout.input.js +34 -0
  20. package/transforms/__testfixtures__/refactor-to-callout.output.js +32 -0
  21. package/transforms/__testfixtures__/refactor-to-callout2.input.js +13 -0
  22. package/transforms/__testfixtures__/refactor-to-callout2.output.js +13 -0
  23. package/transforms/__testfixtures__/refactor-to-callout3.input.js +14 -0
  24. package/transforms/__testfixtures__/refactor-to-callout3.output.js +14 -0
  25. package/transforms/__testfixtures__/refactor-to-callout4.input.js +12 -0
  26. package/transforms/__testfixtures__/refactor-to-callout4.output.js +12 -0
  27. package/transforms/__testfixtures__/size-prop-update.input.js +152 -0
  28. package/transforms/__testfixtures__/size-prop-update.output.js +152 -0
  29. package/transforms/__testfixtures__/small-to-size-prop.input.js +20 -0
  30. package/transforms/__testfixtures__/small-to-size-prop.output.js +19 -0
  31. package/transforms/__testfixtures__/sort-prop-types.input.js +16 -0
  32. package/transforms/__testfixtures__/sort-prop-types.output.js +16 -0
  33. package/transforms/__testfixtures__/sort-prop-types2.input.js +16 -0
  34. package/transforms/__testfixtures__/sort-prop-types2.output.js +16 -0
  35. package/transforms/__testfixtures__/update-carbon-components-react-import-to-scoped.input.js +17 -0
  36. package/transforms/__testfixtures__/update-carbon-components-react-import-to-scoped.output.js +17 -0
  37. package/transforms/__testfixtures__/update-carbon-icons-react-import-to-carbon-react.input.js +17 -0
  38. package/transforms/__testfixtures__/update-carbon-icons-react-import-to-carbon-react.output.js +17 -0
  39. package/transforms/__tests__/featureflag-deprecate-flags-prop-test.js +15 -0
  40. package/transforms/__tests__/ibm-products-update-userprofileimage-test.js +21 -0
  41. package/transforms/__tests__/icons-react-size-prop.js +67 -0
  42. package/transforms/__tests__/refactor-light-to-layer-test.js +14 -0
  43. package/transforms/__tests__/refactor-to-callout.js +18 -0
  44. package/transforms/__tests__/size-prop-update-test.js +15 -0
  45. package/transforms/__tests__/small-to-size-test.js +15 -0
  46. package/transforms/__tests__/sort-prop-types-test.js +16 -0
  47. package/transforms/__tests__/update-carbon-components-react-import-to-scoped.js +15 -0
  48. package/transforms/__tests__/update-carbon-icons-react-import-to-carbon-react.js +15 -0
  49. package/transforms/featureflag-deprecate-flags-prop.js +89 -0
  50. package/transforms/ibm-products-update-userprofileimage.js +134 -0
  51. package/transforms/icons-react-size-prop.js +327 -0
  52. package/transforms/refactor-light-to-layer.js +117 -0
  53. package/transforms/refactor-to-callout.js +160 -0
  54. package/transforms/size-prop-update.js +143 -0
  55. package/transforms/small-to-size-prop.js +59 -0
  56. package/transforms/sort-prop-types.js +91 -0
  57. package/transforms/update-carbon-components-react-import-to-scoped.js +42 -0
  58. package/transforms/update-carbon-icons-react-import-to-carbon-react.js +42 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ import { Add, Bee, Chevron as chevron } from '@octaviaflow/icons-react';
11
+
12
+ const mapped = {
13
+ default: Add,
14
+ size: props => <Bee size={24} {...props} />,
15
+ lowercase: props => React.createElement(chevron, {
16
+ size: 24,
17
+ ...props
18
+ }),
19
+ };
20
+
21
+ function RenderIconProp() {
22
+ return (
23
+ (<div>
24
+ <DefaultSize renderIcon={Add} />
25
+ <Size renderIcon={props => <Bee size={24} {...props} />} />
26
+ </div>)
27
+ );
28
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ import React from 'react';
11
+ import { Button, Layer } from '@octaviaflow/react';
12
+
13
+ function TestComponent() {
14
+ <div>
15
+ <Button light>Click me</Button>
16
+ <Button>Another button</Button>
17
+ <Layer>
18
+ <Button light>Nested light button</Button>
19
+ </Layer>
20
+ </div>;
21
+ }
22
+
23
+ export default TestComponent;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ import React from 'react';
11
+ import { Button, Layer } from '@octaviaflow/react';
12
+
13
+ function TestComponent() {
14
+ <div>
15
+ <Layer><Button>Click me</Button></Layer>
16
+ <Button>Another button</Button>
17
+ <Layer>
18
+ <Layer><Button>Nested light button</Button></Layer>
19
+ </Layer>
20
+ </div>;
21
+ }
22
+
23
+ export default TestComponent;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Typical imports
11
+ import { unstable__StaticNotification as StaticNotification } from '@octaviaflow/react';
12
+ import { unstable__StaticNotification } from '@octaviaflow/react';
13
+
14
+ // If they used a custom name
15
+ import { unstable__StaticNotification as SomeOtherName } from '@octaviaflow/react';
16
+
17
+ // If they already renamed it Callout
18
+ import { unstable__StaticNotification as Callout } from '@octaviaflow/react';
19
+
20
+ // Local renames like this are unlikely but technically possible
21
+ const LocallyRenamedStaticNotification = unstable__StaticNotification;
22
+
23
+ // Component usages
24
+ // prettier-ignore
25
+ const App = () => {
26
+ return (
27
+ <>
28
+ <StaticNotification title="Test" />
29
+ <SomeOtherName title="Test" />
30
+ <Callout title="Test" />
31
+ <LocallyRenamedStaticNotification title="Test" />
32
+ </>
33
+ );
34
+ };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Typical imports
11
+ import { unstable__Callout as Callout } from '@octaviaflow/react';
12
+ import { unstable__Callout } from '@octaviaflow/react';
13
+
14
+ // If they used a custom name
15
+ import { unstable__Callout as SomeOtherName } from '@octaviaflow/react';
16
+
17
+ // If they already renamed it Callout
18
+ import { unstable__Callout as Callout } from '@octaviaflow/react';
19
+
20
+ // Local renames like this are unlikely but technically possible
21
+ const LocallyRenamedStaticNotification = unstable__Callout;
22
+
23
+ // Component usages
24
+ // prettier-ignore
25
+ const App = () => {
26
+ return (<>
27
+ <Callout title="Test" />
28
+ <SomeOtherName title="Test" />
29
+ <Callout title="Test" />
30
+ <LocallyRenamedStaticNotification title="Test" />
31
+ </>);
32
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Existing usages should not be transformed
11
+ import { unstable__Callout } from '@octaviaflow/react';
12
+ import { unstable__Callout as Callout } from '@octaviaflow/react';
13
+ import { unstable__Callout as SomeOtherOtherName } from '@octaviaflow/react';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Existing usages should not be transformed
11
+ import { unstable__Callout } from '@octaviaflow/react';
12
+ import { unstable__Callout as Callout } from '@octaviaflow/react';
13
+ import { unstable__Callout as SomeOtherOtherName } from '@octaviaflow/react';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Do not transform potential naming collisions from local paths
11
+ import { unstable__Callout } from './my/local/project';
12
+ import { unstable__Callout as Callout } from './my/local/project';
13
+ import { unstable_StaticNotification } from './my/local/project';
14
+ import { unstable_StaticNotification as StaticNotification } from './my/local/project';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Do not transform potential naming collisions from local paths
11
+ import { unstable__Callout } from './my/local/project';
12
+ import { unstable__Callout as Callout } from './my/local/project';
13
+ import { unstable_StaticNotification } from './my/local/project';
14
+ import { unstable_StaticNotification as StaticNotification } from './my/local/project';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Do not transform potential naming collisions from local paths
11
+ import { Callout } from '../my/local/project';
12
+ import { StaticNotification } from './my/local/project';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ // Do not transform potential naming collisions from local paths
11
+ import { Callout } from '../my/local/project';
12
+ import { StaticNotification } from './my/local/project';
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ function Accordion() {
11
+ return (
12
+ <div>
13
+ <Accordion className="test" size="xl" />
14
+ <Accordion className="test" size="xl">
15
+ <AccordionItem>Test</AccordionItem>
16
+ </Accordion>
17
+ </div>
18
+ );
19
+ }
20
+
21
+ function Button() {
22
+ return (
23
+ <div>
24
+ <Button className="test" size="small" />
25
+ <Button className="test" size="field"></Button>
26
+ <Button className="test" size="default"></Button>
27
+ <Button className="test" size="lg"></Button>
28
+ <Button className="test" size="xl"></Button>
29
+ </div>
30
+ );
31
+ }
32
+
33
+ function ComboBox() {
34
+ return <ComboBox className="test" size="xl" />;
35
+ }
36
+
37
+ function ContentSwitcher() {
38
+ return (
39
+ <ContentSwitcher className="test" size="xl">
40
+ <Switch name="one" text="First section" />
41
+ <Switch name="two" text="Second section" />
42
+ <Switch name="three" text="Third section" />
43
+ </ContentSwitcher>
44
+ );
45
+ }
46
+
47
+ function Dropdown() {
48
+ return <Dropdown className="test" size="xl" />;
49
+ }
50
+
51
+ function DataTable() {
52
+ return (
53
+ <div>
54
+ <Table className="test" size="compact"></Table>
55
+ <Table className="test" size="short"></Table>
56
+ <Table className="test" size="tall"></Table>
57
+ <DataTable className="test" size="compact"></DataTable>
58
+ <DataTable className="test" size="short"></DataTable>
59
+ <DataTable className="test" size="tall"></DataTable>
60
+ </div>
61
+ );
62
+ }
63
+
64
+ function DatePicker() {
65
+ return (
66
+ <DatePicker datePickerType="single">
67
+ <DatePickerInput
68
+ size="xl"
69
+ id="datepicker"
70
+ labelText="Datepicker Test"></DatePickerInput>
71
+ </DatePicker>
72
+ );
73
+ }
74
+
75
+ function FileUploader() {
76
+ return (
77
+ <div>
78
+ <FileUploader size="small"></FileUploader>
79
+ <FileUploader size="field"></FileUploader>
80
+ <FileUploader size="default"></FileUploader>
81
+ <FileUploaderItem size="small"></FileUploaderItem>
82
+ <FileUploaderItem size="field"></FileUploaderItem>
83
+ <FileUploaderItem size="default"></FileUploaderItem>
84
+ <FileUploaderButton size="small"></FileUploaderButton>
85
+ <FileUploaderButton size="field"></FileUploaderButton>
86
+ <FileUploaderButton size="default"></FileUploaderButton>
87
+ <FileUploaderDropContainer size="small"></FileUploaderDropContainer>
88
+ <FileUploaderDropContainer size="field"></FileUploaderDropContainer>
89
+ <FileUploaderDropContainer size="default"></FileUploaderDropContainer>
90
+ </div>
91
+ );
92
+ }
93
+
94
+ function Link() {
95
+ return <Link size="lg" />;
96
+ }
97
+
98
+ function MultiSelect() {
99
+ return (
100
+ <div>
101
+ <MultiSelect
102
+ size="xl"
103
+ items={items}
104
+ itemToString={(item) => (item ? item.text : '')}
105
+ />
106
+ <MultiSelect.Filterable
107
+ size="xl"
108
+ items={items}
109
+ itemToString={(item) => (item ? item.text : '')}
110
+ />
111
+ </div>
112
+ );
113
+ }
114
+
115
+ function NumberInput() {
116
+ return <NumberInput size="xl" id="numberinput"></NumberInput>;
117
+ }
118
+
119
+ function OverflowMenu() {
120
+ return <OverflowMenu size="xl" className="test"></OverflowMenu>;
121
+ }
122
+
123
+ function Search() {
124
+ return (
125
+ <div>
126
+ <Search className="test" size="lg" />
127
+ <Search className="test" size="xl" />
128
+ </div>
129
+ );
130
+ }
131
+
132
+ function Select() {
133
+ return (
134
+ <div>
135
+ <Select className="test" size="lg" />
136
+ <Select className="test" size="xl" />
137
+ </div>
138
+ );
139
+ }
140
+
141
+ function TextInput() {
142
+ return (
143
+ <div>
144
+ <TextInput size="lg" id="textinput1" labelText="lg -> md"></TextInput>
145
+ <TextInput size="xl" id="textinput1" labelText="xl -> lg"></TextInput>
146
+ </div>
147
+ );
148
+ }
149
+
150
+ function TimePicker() {
151
+ return <TimePicker size="xl" id="timeinput" />;
152
+ }
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ function Accordion() {
11
+ return (
12
+ (<div>
13
+ <Accordion className="test" size="lg" />
14
+ <Accordion className="test" size="lg">
15
+ <AccordionItem>Test</AccordionItem>
16
+ </Accordion>
17
+ </div>)
18
+ );
19
+ }
20
+
21
+ function Button() {
22
+ return (
23
+ (<div>
24
+ <Button className="test" size="sm" />
25
+ <Button className="test" size="md"></Button>
26
+ <Button className="test" size="lg"></Button>
27
+ <Button className="test" size="xl"></Button>
28
+ <Button className="test" size="2xl"></Button>
29
+ </div>)
30
+ );
31
+ }
32
+
33
+ function ComboBox() {
34
+ return <ComboBox className="test" size="lg" />;
35
+ }
36
+
37
+ function ContentSwitcher() {
38
+ return (
39
+ (<ContentSwitcher className="test" size="lg">
40
+ <Switch name="one" text="First section" />
41
+ <Switch name="two" text="Second section" />
42
+ <Switch name="three" text="Third section" />
43
+ </ContentSwitcher>)
44
+ );
45
+ }
46
+
47
+ function Dropdown() {
48
+ return <Dropdown className="test" size="lg" />;
49
+ }
50
+
51
+ function DataTable() {
52
+ return (
53
+ (<div>
54
+ <Table className="test" size="xs"></Table>
55
+ <Table className="test" size="sm"></Table>
56
+ <Table className="test" size="xl"></Table>
57
+ <DataTable className="test" size="xs"></DataTable>
58
+ <DataTable className="test" size="sm"></DataTable>
59
+ <DataTable className="test" size="xl"></DataTable>
60
+ </div>)
61
+ );
62
+ }
63
+
64
+ function DatePicker() {
65
+ return (
66
+ (<DatePicker datePickerType="single">
67
+ <DatePickerInput
68
+ size="lg"
69
+ id="datepicker"
70
+ labelText="Datepicker Test"></DatePickerInput>
71
+ </DatePicker>)
72
+ );
73
+ }
74
+
75
+ function FileUploader() {
76
+ return (
77
+ (<div>
78
+ <FileUploader size="sm"></FileUploader>
79
+ <FileUploader size="md"></FileUploader>
80
+ <FileUploader size="lg"></FileUploader>
81
+ <FileUploaderItem size="sm"></FileUploaderItem>
82
+ <FileUploaderItem size="md"></FileUploaderItem>
83
+ <FileUploaderItem size="lg"></FileUploaderItem>
84
+ <FileUploaderButton size="sm"></FileUploaderButton>
85
+ <FileUploaderButton size="md"></FileUploaderButton>
86
+ <FileUploaderButton size="lg"></FileUploaderButton>
87
+ <FileUploaderDropContainer size="sm"></FileUploaderDropContainer>
88
+ <FileUploaderDropContainer size="md"></FileUploaderDropContainer>
89
+ <FileUploaderDropContainer size="lg"></FileUploaderDropContainer>
90
+ </div>)
91
+ );
92
+ }
93
+
94
+ function Link() {
95
+ return <Link size="lg" />;
96
+ }
97
+
98
+ function MultiSelect() {
99
+ return (
100
+ (<div>
101
+ <MultiSelect
102
+ size="lg"
103
+ items={items}
104
+ itemToString={(item) => (item ? item.text : '')}
105
+ />
106
+ <MultiSelect.Filterable
107
+ size="lg"
108
+ items={items}
109
+ itemToString={(item) => (item ? item.text : '')}
110
+ />
111
+ </div>)
112
+ );
113
+ }
114
+
115
+ function NumberInput() {
116
+ return <NumberInput size="lg" id="numberinput"></NumberInput>;
117
+ }
118
+
119
+ function OverflowMenu() {
120
+ return <OverflowMenu size="lg" className="test"></OverflowMenu>;
121
+ }
122
+
123
+ function Search() {
124
+ return (
125
+ (<div>
126
+ <Search className="test" size="md" />
127
+ <Search className="test" size="lg" />
128
+ </div>)
129
+ );
130
+ }
131
+
132
+ function Select() {
133
+ return (
134
+ (<div>
135
+ <Select className="test" size="md" />
136
+ <Select className="test" size="lg" />
137
+ </div>)
138
+ );
139
+ }
140
+
141
+ function TextInput() {
142
+ return (
143
+ (<div>
144
+ <TextInput size="md" id="textinput1" labelText="lg -> md"></TextInput>
145
+ <TextInput size="lg" id="textinput1" labelText="xl -> lg"></TextInput>
146
+ </div>)
147
+ );
148
+ }
149
+
150
+ function TimePicker() {
151
+ return <TimePicker size="lg" id="timeinput" />;
152
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ function Test1() {
11
+ return <Button className="test" small />;
12
+ }
13
+
14
+ function Test2() {
15
+ return (
16
+ <Button className="test" small>
17
+ Test
18
+ </Button>
19
+ );
20
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ function Test1() {
11
+ return <Button className="test" size="sm" />;
12
+ }
13
+
14
+ function Test2() {
15
+ return (
16
+ (<Button className="test" size="sm">Test
17
+ </Button>)
18
+ );
19
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ function MyComponent() {}
11
+
12
+ MyComponent.propTypes = {
13
+ a: PropTypes.string,
14
+ c: PropTypes.string,
15
+ b: PropTypes.string,
16
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ function MyComponent() {}
11
+
12
+ MyComponent.propTypes = {
13
+ a: PropTypes.string,
14
+ b: PropTypes.string,
15
+ c: PropTypes.string,
16
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ class A extends React.Component {
11
+ static propTypes = {
12
+ a: PropTypes.string,
13
+ c: PropTypes.string,
14
+ b: PropTypes.string,
15
+ };
16
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ class A extends React.Component {
11
+ static propTypes = {
12
+ a: PropTypes.string,
13
+ b: PropTypes.string,
14
+ c: PropTypes.string,
15
+ };
16
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright OctaviaFlow
3
+ * Author: Vishal Kumar
4
+ * Created: 11/November/2025
5
+ *
6
+ * This source code is licensed under the Apache-2.0 license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ //prettier-ignore
11
+ import { Button } from 'carbon-components-react';
12
+ //prettier-ignore
13
+ import { Tile, Tooltip } from 'carbon-components-react';
14
+ //prettier-ignore
15
+ import CodeSnippet from 'carbon-components-react';
16
+ import Something from 'somewhere-else';
17
+ import { SomethingElse } from 'somewhere-else';