709a70652f
* feat: add tokenlist validation * use alternative for spread operator * maintain tokenlists version and use original ajv version * bump ajv * Revert "bump ajv" This reverts commit b9d2dd61c61f4aeedc00faf034c5a6e89b0d28fc. * rename vars in validator * update gitignore * nit fixes * test * add ^ back * remove ^ * removed and readded ajv * try require.resolve * Revert "try require.resolve" This reverts commit 62f58bcb7f02f1ead430a4c94ca3428a60d4d4c5. * bump eslint-config * yarn lock merge conflict * bring back spread operator * remove redundant lint ignore
21 lines
952 B
JavaScript
21 lines
952 B
JavaScript
/* eslint-env node */
|
|
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
const Ajv = require('ajv')
|
|
const standaloneCode = require('ajv/dist/standalone').default
|
|
const addFormats = require('ajv-formats')
|
|
const schema = require('@uniswap/token-lists/dist/tokenlist.schema.json')
|
|
|
|
const tokenListAjv = new Ajv({ code: { source: true, esm: true } })
|
|
addFormats(tokenListAjv)
|
|
const validateTokenList = tokenListAjv.compile(schema)
|
|
let tokenListModuleCode = standaloneCode(tokenListAjv, validateTokenList)
|
|
fs.writeFileSync(path.join(__dirname, '../src/utils/__generated__/validateTokenList.js'), tokenListModuleCode)
|
|
|
|
const tokensAjv = new Ajv({ code: { source: true, esm: true } })
|
|
addFormats(tokensAjv)
|
|
const validateTokens = tokensAjv.compile({ ...schema, required: ['tokens'] })
|
|
let tokensModuleCode = standaloneCode(tokensAjv, validateTokens)
|
|
fs.writeFileSync(path.join(__dirname, '../src/utils/__generated__/validateTokens.js'), tokensModuleCode)
|