• Можно ли как-то в VS Code изменить расположение ActiveBar на место указанное красным прямоугольником?

    McFree
    @McFree Автор вопроса
    JS, TS, C#
    Как я понимаю это невозможно сделать, либо этим ни кто не занимался практический
    Ответ написан
    Комментировать
  • Как мне развернуть все папки в VS Code?

    McFree
    @McFree
    JS, TS, C#
    VS Code не дает такой возможности из коробки, вероятно есть расширение для этой возможности
    Ответ написан
  • Повторное изменение Embed'a выдает ошибку The reply to this interaction has already been sent or deferred. Как исправить?

    McFree
    @McFree Автор вопроса
    JS, TS, C#
    Нашел как это сделать и воспользовался исходником отсюда https://github.com/JavascriptSimp/discordjs-v14-pa...
    Ответ написан
    Комментировать
  • Как через webpack можно собрать Adminjs сервис?

    McFree
    @McFree Автор вопроса
    JS, TS, C#
    Все оказалось интереснее чем я думал.

    для того чтобы запустить сборку нормально нужно было собрать бандл админки используя пакет @adminjs/bundler

    после этого закидывать эти бандлы в папку assets уже для конечного webpack билда.
    далее указать в adminOptions как CDN базовый путь до админки
    assetsCDN: "localhost:4002"

    и далее как статику указать в express папку assets
    app.use(express.static("/assets"));

    После чего в конфиге webpaсk для модулей были прописаны правила дополнительные, так же к CopyPlugin были добавлены 2 паттерна. Первый грузит в webpack папку assets, второй бандлы из @adminjs/design-system

    Вот финальный вариант конфига для админки получился:
    const path = require("path");
    const DefinePlugin = require("webpack/lib/DefinePlugin");
    const CopyPlugin = require("copy-webpack-plugin");
    const variables = require("./variables");
    const nodeExternals = require('webpack-node-externals');
    
    module.exports = {
        entry: {
            app: "./index.ts",
        },
    
        target: 'node',
        externals: [
          nodeExternals(),
    
          // https://github.com/webpack/webpack/issues/4879
          // our engine: "pg",
          "mysql",
          "pg-hstore",
          "pg-native",
          "tedious",
          "sqlite3",
    
          // does not exist for linux
          "fsevents",
        ],
        externalsPresets: {
            node: true
        },
    
        module: {
            rules: [
                {
                    test: /\.tsx?$/,
                    use: "ts-loader",
                    exclude: /node_modules/,
                },
                {
                    test: /.node$/,
                    loader: 'node-loader',
                },
                {
                    test: /backend[/\\]utils[/\\]router[/\\]router\.js/,
                    loader: "string-replace-loader",
                    options: {
                        search: /require\.resolve\(['"]@adminjs\/design-system['"]\)/g,
                        replace: "'./assets/'",
                    },
                },
                {
                    test: /adminjs\.js/,
                    loader: "string-replace-loader",
                    options: {
                        search: /const pkg = .*?\)\)/g,
                        replace: "const pkg = {version:'6.8.3'}",
                    },
                },
            ],
        },
    
        resolve: {
            extensions: [".ts", ".tsx", ".js"],
            fallback: {
                "stream": require.resolve("stream-browserify"),
                "http": require.resolve("stream-http"),
            },
        },
    
        output: {
            filename: "admin.bundle.js",
            path: path.resolve(__dirname, "admin"),
        },
    
        mode: process.env.NODE_ENV,
    
        devtool: "source-map",
    
        devServer: {
            static: path.resolve(__dirname, "admin"),
            devMiddleware: {
                writeToDisk: false,
            },
            open: false,
            hot: false,
            liveReload: true,
        },
    
        plugins: [
            new CopyPlugin({
                patterns: [
                    {
                        from: "table.sql",
                        to: "table.sql",
                        context: "../../node_modules/connect-pg-simple/",
                    },
                    {
                        from: "assets",
                        to: "assets",
                    },
                    {
                        from: "bundle.*.js",
                        to: "[name].js",
                        context: "../../node_modules/@adminjs/design-system",
                    }
                ],
            }),
            new DefinePlugin({
                "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV),
                "process.env.VERSION": JSON.stringify(variables.version),
            }),
        ],
    
        optimization: {
            minimize: false,
        },
    };
    Ответ написан
    Комментировать