
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@oarepo/layout-creator
Advanced tools
A library for generating layout from JSON schema.
yarn add @oarepo/layout-creator
layout-creator
provides schemaToLayout(schema, typeLayouts, options) function to generate a layout from JSON schema.
layout
explanation and examples can be found here data renderer - layout
schema
is a required parameter, typeLayouts
parameter is optional.
schema
stands for a JSON schema that will be used to generate the layout for e.g. data-renderer
.
Keyword layout
can be used inside JSON schema to define custom parts of layout to be included in generated layout.
If layout
keyword contains hide: true
, this part of JSON schema will be skipped when layout is being generated.
hide: true
export default {
jsonSchema: {
$id: 'https://example.com/person.schema.json',
$schema: 'http://json-schema.org/draft-07/schema#',
title: 'Person',
type: 'object',
properties: {
firstName: {
type: 'string',
description: "The person's first name.",
layout: {
hide: true
}
}
}
}
}
p
html tag for label element of firstNameexport default {
jsonSchema: {
$id: 'https://example.com/person.schema.json',
$schema: 'http://json-schema.org/draft-07/schema#',
title: 'Person',
type: 'object',
properties: {
firstName: {
type: 'string',
description: "The person's first name.",
layout: {
label: {
label: 'p'
}
}
}
}
}
}
typeLayouts
can be used to provide a type specific layout, e.g. layout for each data structure of type string.
p
html tag for label element of all string data structuresexport default {
typeLayouts: {
string: {
label: { label: 'p' }
}
}
}
export default {
typeLayouts: {
string: {
hide: true
}
}
}
Examples are located at /src/components:
Example with layout generated from a simple JSON schema and passed to data-editor component. Similar demo is located at /src/components/SimpleSchemaDemo.vue:
<template lang="pug">
data-editor(:record="record" :layout="layout" :options="options")
</template>
<script>
import Vue from 'vue'
import { schemaToLayout } from '@oarepo/layout-creator'
export default {
data: function () {
return {
record: {},
options: {
schema: 'table',
extraProps: {
submit: this.submit,
cancel: this.cancel
},
showEmpty: true
},
jsonSchema: {
$id: 'https://example.com/person.schema.json',
$schema: 'http://json-schema.org/draft-07/schema#',
title: 'Person',
type: 'object',
properties: {
firstName: {
type: 'string',
description: "The person's first name.",
layout: {
hide: true
}
},
lastName: {
type: 'string',
description: "The person's last name.",
layout: {
label: {
label: 'p'
}
}
},
age: {
description: 'Age in years which must be equal to or greater than zero.',
type: 'integer',
minimum: 0
}
}
}
}
},
computed: {
layout () {
return schemaToLayout(this.jsonSchema)
}
},
methods: {
submit ({ context, prop, value }) {
Vue.set(context, prop, value)
},
cancel (props) {
console.log('cancelling')
}
}
}
</script>
FAQs
A library for generating layout from JSON schema.
The npm package @oarepo/layout-creator receives a total of 2 weekly downloads. As such, @oarepo/layout-creator popularity was classified as not popular.
We found that @oarepo/layout-creator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.