mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-19 20:02:22 -06:00
9856 Replace graphene with Strawberry (#15141)
* 9856 base strawberry integration * 9856 user and group * 9856 user and circuits base * 9856 extras and mixins * 9856 fk * 9856 update strawberry version * 9856 update imports * 9856 compatability fixes * 9856 compatability fixes * 9856 update strawberry types * 9856 update strawberry types * 9856 core schema * 9856 dcim schema * 9856 extras schema * 9856 ipam and tenant schema * 9856 virtualization, vpn, wireless schema * 9856 fix old decorator * 9856 cleanup * 9856 cleanup * 9856 fixes to circuits type specifiers * 9856 fixes to circuits type specifiers * 9856 update types * 9856 GFK working * 9856 GFK working * 9856 _name * 9856 misc fixes * 9856 type updates * 9856 _name to types * 9856 update types * 9856 update types * 9856 update types * 9856 update types * 9856 update types * 9856 update types * 9856 update types * 9856 update types * 9856 update types * 9856 GraphQLView * 9856 GraphQLView * 9856 fix OrganizationalObjectType * 9856 single item query for schema * 9856 circuits graphql tests working * 9856 test fixes * 9856 test fixes * 9856 test fixes * 9856 test fix vpn * 9856 test fixes * 9856 test fixes * 9856 test fixes * 9856 circuits test sans DjangoModelType * 9856 core test sans DjangoModelType * 9856 temp checkin * 9856 fix extas FK * 9856 fix tenancy FK * 9856 fix virtualization FK * 9856 fix vpn FK * 9856 fix wireless FK * 9856 fix ipam FK * 9856 fix partial dcim FK * 9856 fix dcim FK * 9856 fix virtualization FK * 9856 fix tests / remove debug code * 9856 fix test imagefield * 9856 cleanup graphene * 9856 fix plugin schema * 9856 fix requirements * 9856 fix requirements * 9856 fix docs * 9856 fix docs * 9856 temp fix tests * 9856 first filterset * 9856 first filterset * 9856 fix tests * 9856 fix tests * 9856 working auto filter generation * 9856 filter types * 9856 filter types * 9856 filter types * 9856 fix graphiql test * 9856 fix counter fields and merge feature * 9856 temp fix tests * 9856 fix tests * 9856 fix tenancy, ipam filter definitions * 9856 cleanup * 9856 cleanup * 9856 cleanup * 9856 review changes * 9856 review changes * 9856 review changes * 9856 fix base-requirements * 9856 add wrapper to graphiql * 9856 remove old graphiql debug toolbar * 9856 review changes * 9856 update strawberry * 9856 remove superfluous check --------- Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
const esbuild = require('esbuild');
|
||||
const { sassPlugin } = require('esbuild-sass-plugin');
|
||||
const util = require('util');
|
||||
const fs = require('fs');
|
||||
const copyFilePromise = util.promisify(fs.copyFile);
|
||||
|
||||
// Bundler options common to all bundle jobs.
|
||||
const options = {
|
||||
@@ -14,24 +17,57 @@ const options = {
|
||||
// Get CLI arguments for optional overrides.
|
||||
const ARGS = process.argv.slice(2);
|
||||
|
||||
function copyFiles(files) {
|
||||
return Promise.all(files.map(f => {
|
||||
return copyFilePromise(f.source, f.dest);
|
||||
}));
|
||||
}
|
||||
|
||||
async function bundleGraphIQL() {
|
||||
let fileMap = [
|
||||
{
|
||||
source: './node_modules/react/umd/react.production.min.js',
|
||||
dest: './dist/graphiql/react.production.min.js'
|
||||
},
|
||||
{
|
||||
source: './node_modules/react-dom/umd/react-dom.production.min.js',
|
||||
dest: './dist/graphiql/react-dom.production.min.js'
|
||||
},
|
||||
{
|
||||
source: './node_modules/js-cookie/dist/js.cookie.min.js',
|
||||
dest: './dist/graphiql/js.cookie.min.js'
|
||||
},
|
||||
{
|
||||
source: './node_modules/graphiql/graphiql.min.js',
|
||||
dest: './dist/graphiql/graphiql.min.js'
|
||||
},
|
||||
{
|
||||
source: './node_modules/@graphiql/plugin-explorer/dist/index.umd.js',
|
||||
dest: './dist/graphiql/index.umd.js'
|
||||
},
|
||||
{
|
||||
source: './node_modules/graphiql/graphiql.min.css',
|
||||
dest: './dist/graphiql/graphiql.min.css'
|
||||
},
|
||||
{
|
||||
source: './node_modules/@graphiql/plugin-explorer/dist/style.css',
|
||||
dest: './dist/graphiql/plugin-explorer-style.css'
|
||||
}
|
||||
];
|
||||
|
||||
try {
|
||||
const result = await esbuild.build({
|
||||
...options,
|
||||
entryPoints: {
|
||||
graphiql: 'netbox-graphiql/index.ts',
|
||||
},
|
||||
target: 'es2016',
|
||||
define: {
|
||||
global: 'window',
|
||||
},
|
||||
});
|
||||
if (result.errors.length === 0) {
|
||||
console.log(`✅ Bundled source file 'netbox-graphiql/index.ts' to 'graphiql.js'`);
|
||||
if (!fs.existsSync('./dist/graphiql/')) {
|
||||
fs.mkdirSync('./dist/graphiql/');
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
|
||||
copyFiles(fileMap).then(() => {
|
||||
console.log('✅ Copied graphiql files');
|
||||
}).catch(err => {
|
||||
console.error(err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,7 +113,6 @@ async function bundleStyles() {
|
||||
'netbox': 'styles/netbox.scss',
|
||||
rack_elevation: 'styles/svg/rack_elevation.scss',
|
||||
cable_trace: 'styles/svg/cable_trace.scss',
|
||||
graphiql: 'netbox-graphiql/graphiql.scss',
|
||||
};
|
||||
const pluginOptions = { outputStyle: 'compressed' };
|
||||
// Allow cache disabling.
|
||||
|
||||
Reference in New Issue
Block a user