Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
window.DatoCmsPlugin.init((plugin) => {
plugin.startAutoResizer();
const dato = new SiteClient(plugin.parameters.global.datoCmsApiToken);
const container = document.createElement('div');
container.classList.add('container');
document.body.appendChild(container);
const title = document.createElement('h4');
title.classList.add('title');
title.textContent = plugin.parameters.instance.title;
container.appendChild(title);
const postItemType = Object.values(plugin.itemTypes).find(
itemType => itemType.attributes.api_key === plugin.parameters.instance.itemTypeApiKey,
);
const linkField = Object.values(plugin.fields).find(field => (
field.relationships.item_type.data.id === postItemType.id
&& field.attributes.api_key === plugin.parameters.instance.fieldApiKey
async fetchContent (store) {
const { addCollection, getCollection } = store
const { apiToken, apiUrl, previewMode } = this.options
const clientHeaders = {
'X-Reason': 'dump',
'X-SSG': 'gridsome'
}
const client = apiUrl
? new SiteClient(apiToken, clientHeaders, apiUrl)
: new SiteClient(apiToken, clientHeaders)
const loader = new Loader(client, previewMode)
await loader.load()
const { itemsRepo, entitiesRepo } = loader
const cache = {}
for (const itemType of itemsRepo.itemTypes) {
const { titleField, fields } = itemType
const slugField = fields.find(({ fieldType }) => fieldType === 'slug')
cache[itemType.id] = { titleField, slugField }
const collection = addCollection(
async fetchContent (store) {
const { addCollection, getCollection } = store
const { apiToken, apiUrl, previewMode } = this.options
const clientHeaders = {
'X-Reason': 'dump',
'X-SSG': 'gridsome'
}
const client = apiUrl
? new SiteClient(apiToken, clientHeaders, apiUrl)
: new SiteClient(apiToken, clientHeaders)
const loader = new Loader(client, previewMode)
await loader.load()
const { itemsRepo, entitiesRepo } = loader
const cache = {}
for (const itemType of itemsRepo.itemTypes) {
const { titleField, fields } = itemType
const slugField = fields.find(({ fieldType }) => fieldType === 'slug')
cache[itemType.id] = { titleField, slugField }
module.exports = async (
{ actions, getNode, getNodesByType, reporter, parentSpan, schema, store },
{
apiToken,
disableLiveReload,
previewMode,
apiUrl,
localeFallbacks: rawLocaleFallbacks,
},
) => {
let client = apiUrl
? new SiteClient(apiToken, CLIENT_HEADERS, apiUrl)
: new SiteClient(apiToken, CLIENT_HEADERS);
const localeFallbacks = rawLocaleFallbacks || {};
const loader = new Loader(client, process.env.GATSBY_CLOUD || previewMode);
const program = store.getState().program;
const cacheDir = `${program.directory}/.cache/datocms-assets`;
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir);
}
const context = {
entitiesRepo: loader.entitiesRepo,
actions,
getNode,
constructor(opts) {
Object.assign(this, this.validate(opts))
this.client = new SiteClient(opts.token, { 'X-Api-Version': '1' })
bindAllClass(this, ['apply', 'run'])
}
module.exports = async (
{ actions, getNode, getNodesByType, reporter, parentSpan, schema, store },
{
apiToken,
disableLiveReload,
previewMode,
apiUrl,
localeFallbacks: rawLocaleFallbacks,
},
) => {
let client = apiUrl
? new SiteClient(apiToken, CLIENT_HEADERS, apiUrl)
: new SiteClient(apiToken, CLIENT_HEADERS);
const localeFallbacks = rawLocaleFallbacks || {};
const loader = new Loader(client, process.env.GATSBY_CLOUD || previewMode);
const program = store.getState().program;
const cacheDir = `${program.directory}/.cache/datocms-assets`;
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir);
}
const context = {
entitiesRepo: loader.entitiesRepo,
actions,
async fetchContent (store) {
const { addCollection, getCollection } = store
const { apiToken, apiUrl, previewMode } = this.options
const clientHeaders = {
'X-Reason': 'dump',
'X-SSG': 'gridsome'
}
const client = apiUrl
? new SiteClient(apiToken, clientHeaders, apiUrl)
: new SiteClient(apiToken, clientHeaders)
const loader = new Loader(client, previewMode)
await loader.load()
const { itemsRepo, entitiesRepo } = loader
const cache = {}
for (const itemType of itemsRepo.itemTypes) {
const { titleField, fields } = itemType
const slugField = fields.find(({ fieldType }) => fieldType === 'slug')
cache[itemType.id] = { titleField, slugField }
const collection = addCollection(
this.createTypeName(itemType.name),
)
{ actions, getNode, getNodesByType, reporter, parentSpan, schema, store },
{
apiToken,
disableLiveReload,
previewMode,
apiUrl,
localeFallbacks: rawLocaleFallbacks,
},
) => {
let client = apiUrl
? new SiteClient(apiToken, CLIENT_HEADERS, apiUrl)
: new SiteClient(apiToken, CLIENT_HEADERS);
const localeFallbacks = rawLocaleFallbacks || {};
const loader = new Loader(client, process.env.GATSBY_CLOUD || previewMode);
const program = store.getState().program;
const cacheDir = `${program.directory}/.cache/datocms-assets`;
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir);
}
const context = {
entitiesRepo: loader.entitiesRepo,
actions,
getNode,
getNodesByType,
localeFallbacks,
schema,
store,
var _require = require('humps'),
camelize = _require.camelize,
pascalize = _require.pascalize;
var initNodeFromEntity = require('./initNodeFromEntity');
var addDigestToNode = require('./addDigestToNode');
var mId = require('./makeId');
var createTextNode = require('./createTextNode');
var createAssetNode = require('./createAssetNode');
var createSeoMetaTagsNode = require('./createSeoMetaTagsNode');
var _require2 = require('datocms-client'),
Item = _require2.Item,
i18n = _require2.i18n,
buildField = _require2.buildField;
var objectEntries = require('object.entries');
var itemNodeId = function itemNodeId(repo, id, locale) {
if (!id) {
return null;
}
var itemEntity = repo.findEntity('item', id);
return mId(itemEntity, locale);
};
module.exports = function createItemNodes(repo, itemsRepo, createNode) {
var items = repo.findEntitiesOfType('item');
var site = repo.findEntitiesOfType('site')[0];
'use strict';
var addDigestToNode = require('./addDigestToNode');
var _require = require('datocms-client'),
buildField = _require.buildField;
var objectAssign = require('object-assign');
module.exports = function createAssetNode(parent, field, value, itemsRepo, createNode) {
if (!value) {
return null;
}
var node = objectAssign({
id: 'DatoCmsAsset-' + value,
parent: parent.id,
children: [],
internal: {
type: 'DatoCmsAsset'
}
}, buildField('file', value, itemsRepo).toMap());