fleshy-jsoneditor v1.3.0
\
LitElement custom element that wraps josdejong/jsoneditor.
It is an updated version of juicy-jsoneditor
This webcomponent follows the open-wc recommendation.
Demo
Installation
npm i fleshy-jsoneditorUsage
<script type="module">
import 'fleshy-jsoneditor/fleshy-jsoneditor.js';
</script>
<fleshy-jsoneditor></fleshy-jsoneditor>Development
It uses josdejong/jsoneditor as devDependency, as jsoneditor does not export a ES module. So, for build, it is necessary primary to use rollup and generate jsoneditor files with ES module exports. It also copy some style and svg files, as it needs them to render the editor.
To update the files (located in /lib folder), run
npm run build-depsLinting with ESLint, Prettier, and Types
To scan the project for linting errors, run
npm run lintYou can lint with ESLint and Prettier individually as well
npm run lint:eslintnpm run lint:prettierTo automatically fix many linting errors, run
npm run formatYou can format using ESLint and Prettier individually as well
npm run format:eslintnpm run format:prettierTesting with Karma
To run the suite of karma tests, run
npm run testTo run the tests in watch mode (for TDD, for example), run
npm run test:watchDemoing with Storybook
To run a local instance of Storybook for your component, run
npm run storybookTo build a production version of Storybook, run
npm run storybook:buildLocal Demo with es-dev-server
npm startTo run a local development server that serves the basic demo located in demo/index.html
Release
To release a new version, once all PRs were merged into master, it is just necessary to execute:
npm run releaseThis script will generate new tag, update version in package.json and update changelog file with latest changes.
Once finish, it is just necessary to push the new commit to master. You can do it manually (but remember to push the tags also) or use the script
npm run pushOnce the origin master branch is updated, a GitHubAction will take care of it. It will deploy the storybook in Netlify and publish the package in NPM.