Skip to content
This repository was archived by the owner on Feb 18, 2024. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
node_modules
.eslintcache
dist
# dist
localTest
228 changes: 228 additions & 0 deletions dist/atomicComponent.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/atomicComponent.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/index.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions dist/templates/component_class_based.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{{> withClassNameImport }};
import { Component } from 'react';

{{#if styledComponents}}
{{> styleImport }};

{{/if}}
interface State {}

{{ withClassNameProps }} {}

export class {{pascalCase name }} extends Component<Props, State> {
constructor(props: Props) {
super(props);

this.state = {};
}

render() {
return (
<{{ templateBaseComponent }} {{> withClassNameClassName }} {{> testId }}={"{{kebabCase name }}-root"}>
{{ name }}
</{{ templateBaseComponent }}>
);
}
}
18 changes: 18 additions & 0 deletions dist/templates/component_functional.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{> withClassNameImport }};
import React, { PropsWithChildren } from 'react';

{{#if styledComponents}}
{{> styleImport }};

{{/if}}
{{ withClassNameProps }} {}

const {{ pascalCase name }}: React.FC<Props> = (props: PropsWithChildren<Props>): React.ReactElement => {
return (
<{{ templateBaseComponent }} {{> withClassNameClassName }} {{> testId }}={"{{kebabCase name }}-root"}>
{{ name }}
</{{ templateBaseComponent }}>
);
}

export { {{ pascalCase name }} }
3 changes: 3 additions & 0 deletions dist/templates/index.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { {{pascalCase name}} } from './{{pascalCase name}}';

export default {{pascalCase name }};
9 changes: 9 additions & 0 deletions dist/templates/story.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { {{ pascalCase name }} } from './{{ pascalCase name }}';

const StorybookSettings = {
title: 'Design System/{{ type }}s/{{ name }}'
};

export default StorybookSettings;

export const Basic{{ pascalCase name }} = () => <{{ pascalCase name }} />;
3 changes: 3 additions & 0 deletions dist/templates/styles.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import styled from '{{ styledComponentsType }}';

export const Root = styled.{{ baseComponent }}``;
12 changes: 12 additions & 0 deletions dist/templates/test.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {render, screen} from '@testing-library/react';
{{ componentImport }}

const elementName = '{{kebabCase name }}';
const basicElement = <{{pascalCase name }}>{{ name }}</{{pascalCase name }}>;

test('element exists', () => {
render(basicElement);

const root = screen.getByTestId(elementName + '-root');
expect(root).toBeInTheDocument();
});
15 changes: 15 additions & 0 deletions dist/types.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions dist/types.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 29 additions & 0 deletions dist/types/atomicComponent.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { NodePlopAPI } from "node-plop";
import { GeneratorConfig } from "./index";
declare const atomicComponent: (
config: Partial<GeneratorConfig>,
plop: NodePlopAPI
) => {
description: string;
prompts: (
| {
type: string;
name: string;
message: string;
choices: string[];
}
| {
type: string;
name: string;
message: string;
choices?: undefined;
}
)[];
actions: {
type: string;
path: string;
templateFile: string;
data: {};
}[];
};
export default atomicComponent;
Loading