Skip to content

Commit bc4141d

Browse files
committed
feat(scripts): update component generator for new arch
1 parent 136db3f commit bc4141d

22 files changed

+21
-144
lines changed

scripts/component-generator/plopfile.js

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,15 @@ module.exports = function (plop) {
77
const destinationPath = `${process.cwd()}/packages`;
88
const packagePrefix = '@ovhcloud/ods';
99

10-
plop.setActionType('yarn-install', function () {
10+
plop.setActionType('yarn-install', function() {
1111
spawnSync('yarn', []);
1212
});
1313

14-
plop.setActionType('lerna-add-dependency', function (answers, config, plop) {
15-
const componentsDirName = plop.getHelper('suffix-join')(answers.prefix, componentsBaseDirName);
16-
const libPrefix = plop.getHelper('suffix-join')(answers.prefix, 'component');
17-
const dependency = `${packagePrefix}-${libPrefix}-${answers.name}@${libVersion}`;
18-
19-
spawnSync('lerna', ['--scope', `${packagePrefix}-${componentsDirName}`, 'exec', '--', 'yarn', 'add', dependency]);
20-
});
21-
22-
plop.setHelper('prefix-join', function (prefix, text) {
14+
plop.setHelper('prefix-join', function(prefix, text) {
2315
return prefix ? `${prefix}-${text}` : text;
2416
});
2517

26-
plop.setHelper('suffix-join', function (suffix, text) {
18+
plop.setHelper('suffix-join', function(suffix, text) {
2719
return suffix ? `${text}-${suffix}` : text;
2820
});
2921

@@ -50,7 +42,7 @@ module.exports = function (plop) {
5042
type: 'input',
5143
name: 'name',
5244
message: 'Type the component name using kebab-case, without any "ods-" prefix (ex: text, search-bar, ...):',
53-
validate: function(value) {
45+
validate: function (value) {
5446
if (/.+/.test(value)) {
5547
return true;
5648
}
@@ -63,10 +55,14 @@ module.exports = function (plop) {
6355
templateFiles: 'templates/component/**/*',
6456
stripExtensions: ['hbs'],
6557
globOptions: { dot: true },
66-
destination: `${destinationPath}/{{ suffix-join prefix "${componentsBaseDirName}" }}/{{name}}`,
58+
destination: `${destinationPath}/{{ suffix-join prefix "${componentsBaseDirName}" }}/src/{{name}}`,
6759
data: {
6860
'component-version': libVersion,
6961
},
62+
}, {
63+
type: 'append',
64+
path: `${destinationPath}/{{ suffix-join prefix "${componentsBaseDirName}" }}/src/index.ts`,
65+
template: "export * from './{{name}}/src';",
7066
}, {
7167
type: 'addMany',
7268
base: 'templates/storybook',
@@ -76,8 +72,6 @@ module.exports = function (plop) {
7672
destination: `${destinationPath}/storybook/stories/{{ suffix-join prefix "${componentsBaseDirName}" }}/{{name}}`,
7773
}, {
7874
type: 'yarn-install',
79-
}, {
80-
type: 'lerna-add-dependency',
8175
}],
8276
});
8377
};

scripts/component-generator/templates/component/package.json.hbs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@ovhcloud/ods-component-{{> component-name }}",
33
"version": "{{ component-version }}",
4+
"private": true,
45
"description": "ODS {{> componentName }} component",
56
"license": "Apache-2.0",
67
"main": "dist/index.cjs.js",
@@ -11,13 +12,8 @@
1112
"collection": "dist/collection/collection-manifest.json",
1213
"collection:main": "dist/collection/index.js",
1314
"scripts": {
14-
"build:ci": "build-stencil",
15-
"build:prod": "build-stencil prod",
16-
"build:react": "npm --prefix react run build",
17-
"build:stencil": "stencil build --prod --config stencil.config.ts",
18-
"build:vue": "npm --prefix vue run build",
1915
"clean": "rimraf .stencil coverage custom-elements custom-elements-bundle dist docs-api loader screenshot www",
20-
"doc": "typedoc --json ./docs-api/typedoc.json --pretty && node ../../../scripts/generate-typedoc-md.js",
16+
"doc": "typedoc --json ./docs-api/typedoc.json --pretty && node ../../../../scripts/generate-typedoc-md.js",
2117
"doc:api": "typedoc",
2218
"generate:licence": "npx generate-license-file --input package.json --output THIRD-PARTY-LICENCES --overwrite",
2319
"lint:scss": "stylelint 'src/components/**/*.scss'",
@@ -38,7 +34,6 @@
3834
"@ovhcloud/ods-common-theming": "{{ component-version }}"
3935
},
4036
"devDependencies": {
41-
"@ovhcloud/ods-common-scripts": "{{ component-version }}",
4237
"@ovhcloud/ods-common-testing": "{{ component-version }}",
4338
"@ovhcloud/ods-stencil-dev": "{{ component-version }}"
4439
}

scripts/component-generator/templates/component/react/.gitignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

scripts/component-generator/templates/component/react/.npmignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

scripts/component-generator/templates/component/react/CHANGELOG.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

scripts/component-generator/templates/component/react/package.json.hbs

Lines changed: 0 additions & 31 deletions
This file was deleted.

scripts/component-generator/templates/component/react/tsconfig.cjs.json

Lines changed: 0 additions & 9 deletions
This file was deleted.

scripts/component-generator/templates/component/react/tsconfig.json

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
2-
* Declare here all all the external ODS component that you need to run the current component
2+
* Import here all the external ODS component that you need to run the current component
33
* when running dev server (yarn start) or e2e tests
44
*
55
* ex:
6-
* import '@ovhcloud/ods-component-text';
7-
*/
6+
* import '../../text/src';
7+
*/

scripts/component-generator/templates/component/stencil.config.ts.hbs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import jestConfig from './jest.config';
55
export const config = getStencilConfig({
66
args: process.argv.slice(2),
77
componentCorePackage: '@ovhcloud/ods-component-{{> component-name }}',
8-
excludeComponents: [],
98
jestConfig,
109
namespace: 'osds-{{> component-name }}',
1110
});

scripts/component-generator/templates/component/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../tsconfig.json",
2+
"extends": "../../tsconfig.json",
33
"include": [
44
"src"
55
]

scripts/component-generator/templates/component/tsconfig.prod.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../tsconfig.prod.json",
2+
"extends": "../../tsconfig.prod.json",
33
"include": [
44
"src"
55
]

scripts/component-generator/templates/component/tsconfig.test.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../tsconfig.test.json",
2+
"extends": "../../tsconfig.test.json",
33
"include": [
44
"src"
55
]

scripts/component-generator/templates/component/vue/.gitignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

scripts/component-generator/templates/component/vue/.npmignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

scripts/component-generator/templates/component/vue/CHANGELOG.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

scripts/component-generator/templates/component/vue/package.json.hbs

Lines changed: 0 additions & 30 deletions
This file was deleted.

scripts/component-generator/templates/component/vue/tsconfig.cjs.json

Lines changed: 0 additions & 9 deletions
This file was deleted.

scripts/component-generator/templates/component/vue/tsconfig.json

Lines changed: 0 additions & 8 deletions
This file was deleted.

scripts/component-generator/templates/storybook/1_specifications.stories.mdx.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Meta } from '@storybook/addon-docs';
2-
import Specifications from '@ovhcloud/ods-{{> component-dir}}/{{ name }}/documentation/specifications/specifications-{{> component-name }}.mdx';
2+
import Specifications from '@ovhcloud/ods-{{> component-dir}}/src/{{ name }}/documentation/specifications/specifications-{{> component-name }}.mdx';
33

44
<Meta title="ODS Components/Content/{{> componentName }} [{{ level }}]/Specifications" />
55

scripts/component-generator/templates/storybook/2_usage.stories.mdx.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Meta } from '@storybook/addon-docs';
2-
import Usage from '@ovhcloud/ods-{{> component-dir}}/{{ name }}/documentation/usage-guidelines/usage.mdx';
2+
import Usage from '@ovhcloud/ods-{{> component-dir}}/src/{{ name }}/documentation/usage-guidelines/usage.mdx';
33

44
<Meta title="ODS Components/Content/{{> componentName }} [{{ level }}]/Usage Guidelines" />
55

scripts/component-generator/templates/storybook/3_demo.stories.ts.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { defineCustomElements } from '@ovhcloud/ods-{{> component-dir}}/{{ name }}/loader';
1+
import { defineCustomElement } from '@ovhcloud/ods-{{> component-dir}}/dist/components/osds-{{ name }}';
22
import { html } from 'lit-html';
33
import { extractArgTypes, extractStoryParams, getTagAttributes } from '../../../core/componentHTMLUtils';
44

5-
defineCustomElements();
5+
defineCustomElement();
66

77
/* Default story parameters */
88
const storyParams = {};

0 commit comments

Comments
 (0)