Plugins for RAMP supported by the core developer team.
https://docs.fgpv.org/fgpv-vpgf/plugins/
- Run
npm link path/to/plugins/folder
from within your RAMP folder. - When you're done making changes to plugins, run
npm run build
from within the plugins repo. - Start the RAMP dev server by running
npm run serve
from within the RAMP repo.
Repeat steps 2 & 3 whenever you've made changes to plugin code, then reload the page.
All plugin samples can be found at http://localhost:6001/samples/plugins while the RAMP dev server is running.
You can unlink at any time npm unlink @fgpv/rv-plugins
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]
will create a version commit and tag then push the tag upstream
for publishing to npm.
npm run build
will output all plugins to the dist
folder.
Samples and automated testing use the ramp viewer code found in bin/test/ramp
.
This project uses the fork and pull model. Once forked, run npm i
from the project root directory to setup for first time use.
npm run serve
will start a dev server. Open a browser and navigate to http://localhost:6001.
Example: http://http://localhost:6001/enhancedTable/samples/et-index.html.
npm run test
will start a local selenium server and run tests in Chrome.
Tests follow the Page Object Pattern. General page information not related to a plugin can go inside bin/test/ramp.page.js
. Specific page information for a plugin goes into the page file in the plugins tests
directory. Any file in a plugins tests
directory that end with a .spec.js
will be tested.
The testing framework is Jasmine. Selenium bindings to individual browsers are handled by webdriverio. Currently tests are only executed in Chrome locally, however cloud testing will be more rigorous.
Webdriver: http://webdriver.io/api.html Jasmine: https://jasmine.github.io/tutorials/your_first_suite.html PageObject: https://martinfowler.com/bliki/PageObject.html
Commits pushed to your forked repo can be built using travis-ci.org and deployed as a GitHub page. For example, commit 5ea8ac3126957a8d2999ea4f9fed209e6080b935
would be deployed to https://your_github_username.github.io/plugins/5ea8ac3126957a8d2999ea4f9fed209e6080b935.
There are a few steps you'll need to make for this to work:
Steps to get started:
- Create a personal access token on GitHub with the
repo
scope selected. - Sign in to travis-ci.org with your GitHub account
- Activate travis on your (forked) repo by visiting: https://travis-ci.org/your_github_username/plugins
- On the travis settings page (https://travis-ci.org/your_github_username/plugins/settings) create an environment variable named
GITHUB_TOKEN
with the value of your GitHub access token.travis-ci uses this token to deploy the build back to your forked repo. It is not accessible outside of travis-ci and remains private.