Skip to content

Commit

Permalink
14 fix import (#15)
Browse files Browse the repository at this point in the history
* Fix error when creating component with a different path

* Fix imports

* Add helpers.ts file
  • Loading branch information
alex-dishen authored Jun 15, 2023
1 parent 07fc3df commit 8733a13
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 17 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ $ yarn global add moris
<tr>
<td><code>--size</code></td>
<td><code>-s</code></td>
<td align='center'><code>m</code></td>
<td align='center'><code>s</code></td>
<td><code>moris c c Example -s l</code></td>
<td>Optional argument that is used to specify a size of the component. <code>s</code> - index.tsx, styles.ts. <code>m</code> - index.tsx, styles.ts, types.ts. <code>l</code> - index.tsx, styles.ts, types.ts, useExample.ts. <code>xl</code> - index.tsx, styles.ts, types.ts, useExample.ts, constants.ts</td>
<td>Optional argument that is used to specify a size of the component. <code>xs</code> - index.tsx, styles.ts. <code>s</code> - index.tsx, styles.ts, types.ts. <code>m</code> - index.tsx, styles.ts, types.ts, useExample.ts. <code>l</code> - index.tsx, styles.ts, types.ts, useExample.ts, constants.ts <code>xl</code> - index.tsx, styles.ts, types.ts, useExample.ts, constants.ts, helpers.ts</td>
</tr>
</table>

Expand Down Expand Up @@ -167,7 +167,7 @@ moris.json
<tr>
<td>defaultComponentSet</td>
<td><code>"defaultComponentSet": "l"</code></td>
<td><code>s</code> <code>m</code> <code>l</code> <code>xl</code></td>
<td><code>xs</code> <code>s</code> <code>m</code> <code>l</code> <code>xl</code></td>
</tr>
<tr>
<td>defaultPath</td>
Expand Down
15 changes: 12 additions & 3 deletions src/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,18 +82,27 @@ export const returnDefaultContent = (
const propsName = `${name}Props`;
const stylesName = `${name}Wrapper`;

const typesPath = useAbsolutePath ? `${modifiedPath}/types` : './types';
const stylesPath = useAbsolutePath ? `${modifiedPath}/styles` : './styles';
// IMPORT PATHS

const typesPath = useAbsolutePath
? `${modifiedPath}/${name}/types`
: './types';
const stylesPath = useAbsolutePath
? `${modifiedPath}/${name}/styles`
: './styles';
const hookPath = useAbsolutePath
? `${modifiedPath}/${hookName}`
? `${modifiedPath}/${name}/${hookName}`
: `./${hookName}`;

// IMPORTS

const hookImport = displayHookImport
? `import { ${hookName} } from '${hookPath}';\n`
: '';
const typesImport = displayTypesImport
? `import { ${propsName} } from '${typesPath}';\n`
: '';

const componentProps = displayTypesImport ? `{}: ${propsName}` : '';
const hookCall = displayHookImport ? `\n ${hookName}();\n` : '';

Expand Down
31 changes: 20 additions & 11 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,6 @@ program
let componentFolder = path.join(dirname, 'src', 'components', name);
let pathWithoutSrc = `components`;

const componentFile = path.join(componentFolder, 'index.tsx');
const stylesFile = path.join(componentFolder, 'styles.ts');
const typesFile = path.join(componentFolder, 'types.ts');
const hookFile = path.join(componentFolder, `use${name}.ts`);
const constantsFile = path.join(componentFolder, 'constants.ts');

const {
indexContent,
stylesContent,
Expand All @@ -54,17 +48,32 @@ program
pathWithoutSrc = options.path.replace('src/', '');
}

const componentFile = path.join(componentFolder, 'index.tsx');
const stylesFile = path.join(componentFolder, 'styles.ts');
const typesFile = path.join(componentFolder, 'types.ts');
const hookFile = path.join(componentFolder, `use${name}.ts`);
const constantsFile = path.join(componentFolder, 'constants.ts');
const helpersFile = path.join(componentFolder, 'helpers.ts');

const configurations = {
s: [componentFile, stylesFile],
m: [componentFile, stylesFile, typesFile],
l: [componentFile, stylesFile, typesFile, hookFile],
xl: [componentFile, stylesFile, typesFile, hookFile, constantsFile],
xs: [componentFile, stylesFile],
s: [componentFile, stylesFile, typesFile],
m: [componentFile, stylesFile, typesFile, hookFile],
l: [componentFile, stylesFile, typesFile, hookFile, helpersFile],
xl: [
componentFile,
stylesFile,
typesFile,
hookFile,
helpersFile,
constantsFile,
],
};

const set =
(options.size as keyof typeof configurations) ||
defaultComponentSet ||
'm';
's';

const {
defaultHookContent,
Expand Down

0 comments on commit 8733a13

Please sign in to comment.