-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into table-toolbar-search-accessibility
- Loading branch information
Showing
106 changed files
with
8,455 additions
and
8,385 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: CI | ||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
branches: | ||
- master | ||
jobs: | ||
ci-check: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Use Node.js 14.x | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: '14.x' | ||
- name: Install dependencies | ||
run: yarn install --offline | ||
- name: Build project | ||
run: yarn build | ||
- name: Run Continuous Integration checks | ||
run: | | ||
yarn ci-check | ||
yarn lerna run ci-check |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,3 +51,6 @@ packages/components/docs/js | |
|
||
# Generated files | ||
**/generated/** | ||
|
||
# Templates | ||
**/*.template.* |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/** | ||
* Copyright IBM Corp. 2016, 2018 | ||
* | ||
* This source code is licensed under the Apache-2.0 license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
|
||
'use strict'; | ||
|
||
module.exports = { | ||
addons: [ | ||
'@storybook/addon-knobs', | ||
'@storybook/addon-actions', | ||
'@storybook/addon-links', | ||
'@storybook/addon-docs', | ||
|
||
// Phase 1: port over add-ons from packages/react/.storybook | ||
// Phase 2: port over webpack config for Sass | ||
// Phase 3: port over custom panels/add-ons | ||
], | ||
|
||
// We get the current config and we return the new webpack config | ||
webpack(config) { | ||
// Configure sass | ||
// sass-loader | ||
// css-loader, style-loader, postcss-loader, ... | ||
|
||
return config; | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
{ | ||
"name": "storybook-preset-carbon", | ||
"private": true, | ||
"version": "0.0.0", | ||
"license": "Apache-2.0", | ||
"main": "index.js", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/carbon-design-system/carbon.git", | ||
"directory": "config/storybook-preset-carbon" | ||
}, | ||
"bugs": "https://github.com/carbon-design-system/carbon/issues", | ||
"keywords": [ | ||
"ibm", | ||
"carbon", | ||
"carbon-design-system", | ||
"components", | ||
"react" | ||
], | ||
"dependencies": { | ||
"@storybook/addon-knobs": "^5.3.19", | ||
"@storybook/addon-storysource": "^5.3.19", | ||
"@storybook/addon-actions": "^5.3.19", | ||
"@storybook/addon-docs": "^5.3.19", | ||
"@storybook/addon-links": "^5.3.19" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
/** | ||
* Copyright IBM Corp. 2019, 2019 | ||
* | ||
* This source code is licensed under the Apache-2.0 license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
|
||
'use strict'; | ||
|
||
const { paramCase } = require('change-case'); | ||
const fs = require('fs-extra'); | ||
const { prompt } = require('enquirer'); | ||
const path = require('path'); | ||
const { loadTemplates } = require('../component'); | ||
const { createLogger } = require('../logger'); | ||
|
||
const logger = createLogger('component'); | ||
|
||
function clearConsole() { | ||
process.stdout.write( | ||
process.platform === 'win32' ? '\x1B[2J\x1B[0f' : '\x1B[2J\x1B[3J\x1B[H' | ||
); | ||
} | ||
|
||
async function component() { | ||
const templates = await loadTemplates(); | ||
const questions = [ | ||
{ | ||
type: 'input', | ||
name: 'name', | ||
message: 'What is the name of this component?', | ||
validate(value) { | ||
if (value === '') { | ||
return 'A name is required for the component'; | ||
} | ||
return true; | ||
}, | ||
}, | ||
{ | ||
type: 'input', | ||
name: 'directory', | ||
message: 'Specify the path for this component', | ||
initial: '.', | ||
}, | ||
{ | ||
type: 'multiselect', | ||
name: 'options', | ||
message: 'What else should we scaffold out for you?', | ||
initial: ['tests', 'stories'], | ||
choices: [ | ||
{ | ||
name: 'tests', | ||
value: true, | ||
}, | ||
{ | ||
name: 'stories', | ||
value: true, | ||
}, | ||
], | ||
result(names) { | ||
return this.map(names); | ||
}, | ||
}, | ||
]; | ||
|
||
clearConsole(); | ||
const answers = await prompt(questions); | ||
|
||
logger.start('Generating component...'); | ||
|
||
const directory = path.resolve( | ||
process.cwd(), | ||
answers.directory, | ||
answers.name | ||
); | ||
|
||
logger.info(`Writing component directory to ${directory}`); | ||
|
||
if (await fs.exists(directory)) { | ||
throw new Error(`A directory already exists at ${directory}`); | ||
} | ||
|
||
logger.info('Scaffolding out default files...'); | ||
|
||
await fs.ensureDir(directory); | ||
await fs.writeFile( | ||
path.join(directory, 'index.js'), | ||
templates.index.compile({ name: answers.name }) | ||
); | ||
await fs.writeFile( | ||
path.join(directory, `${answers.name}.js`), | ||
templates.component.compile({ name: answers.name }) | ||
); | ||
|
||
if (answers.options.tests) { | ||
logger.start('Scaffolding out test files...'); | ||
await fs.ensureDir(path.join(directory, '__tests__')); | ||
await fs.writeFile( | ||
path.join(directory, '__tests__', `${answers.name}-test.js`), | ||
templates.test.compile({ name: answers.name }) | ||
); | ||
logger.stop(); | ||
} | ||
|
||
if (answers.options.stories) { | ||
logger.start('Scaffolding out story files...'); | ||
await fs.writeFile( | ||
path.join(directory, `${answers.name}-story.js`), | ||
templates.story.compile({ | ||
name: answers.name, | ||
}) | ||
); | ||
await fs.writeFile( | ||
path.join(directory, `${answers.name}.mdx`), | ||
templates.mdx.compile({ | ||
name: answers.name, | ||
url: paramCase(answers.name), | ||
}) | ||
); | ||
logger.stop(); | ||
} | ||
|
||
logger.stop(); | ||
} | ||
|
||
module.exports = { | ||
command: 'component', | ||
desc: '[EXPERIMENTAL] Scaffold a component in React', | ||
handler: component, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/** | ||
* Copyright IBM Corp. 2019, 2019 | ||
* | ||
* This source code is licensed under the Apache-2.0 license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
|
||
'use strict'; | ||
|
||
const fs = require('fs-extra'); | ||
const path = require('path'); | ||
const template = require('lodash.template'); | ||
|
||
const TEMPLATES_DIR = path.join(__dirname, 'templates'); | ||
const blocklist = new Set(['.DS_Store']); | ||
|
||
async function loadTemplates() { | ||
const files = await fs.readdir(TEMPLATES_DIR).then((names) => { | ||
return names | ||
.filter((name) => { | ||
return !blocklist.has(name); | ||
}) | ||
.map((name) => { | ||
const extension = path.extname(name); | ||
return { | ||
name: path.basename(name, `.template${extension}`), | ||
filepath: path.join(TEMPLATES_DIR, name), | ||
}; | ||
}); | ||
}); | ||
|
||
const templates = {}; | ||
|
||
for (const { name, filepath } of files) { | ||
const contents = await fs.readFile(filepath, 'utf8'); | ||
const compile = template(contents); | ||
templates[name] = { | ||
compile, | ||
}; | ||
} | ||
|
||
return templates; | ||
} | ||
|
||
module.exports = { | ||
loadTemplates, | ||
}; |
Oops, something went wrong.