CLI tool to automate scaffolding a new TWP editor plugin in the atlassian-frontend repo, as well as running codemods to update necessary files.
Angular Schematics is used to achieve this.
Apache 2.0, see LICENSE.
If you wish to contribute to this project, either create a GitHub issue or follow the usual fork/pull request workflow. Please see below for development instructions.
Install globally:
yarn global add twp-editor-plugin-schematicsAnd then run in the root directory of the Atlassian Frontend repo:
~/atlassian-frontend$ editor-pluginYou will be prompted to answer a list of questions about your new plugin and then it will output a list of all the generated and updated files once completed 🚀
Install schematics CLI tool globally:
yarn global add @angular-devkit/schematics-cliAnd then set up the repo:
~$ git checkout git@github.com:timhor/editor-plugin-schematics.git
~/editor-plugin-schematics$ yarnFirst you will need to set up a file system to mimic being in the root directory of atlassian-frontend:
~/editor-plugin-schematics$ yarn simulate:localThen you can build the project and run the schematics:
~/editor-plugin-schematics$ yarn twp-editor-pluginYou can also pass through any general schematics options or options specific to our collection using flags:
~/editor-plugin-schematics$ yarn twp-editor-plugin --dry-run=false
~/editor-plugin-schematics$ yarn twp-editor-plugin --name="my awesome plugin"
You can run your local version against the atlassian-frontend repo, if you want to check that the integration works correctly.
First link via yarn to get the editor-plugin binary pointing to your local project:
~/editor-plugin-schematics$ yarn link
Then in the atlassian-frontend repo you can just run:
~/atlassian-frontend$ editor-plugin
And it will point to your local editor-plugin-schematics project.
Remember to build the project (yarn build in editor-plugin-schematics) after you make changes.
- https://ts-ast-viewer.com/#
- https://ts-morph.com/navigation/
- https://medium.com/humanitec-developers/update-and-insert-auto-generated-code-to-existing-typescript-html-and-json-files-with-angular-f0b00f22fb52
Tests are written using Jest, run them using:
yarn test