How can I customize the Login Site etc.?

Hi!
My solution to the problem:

  1. Copy the source code to the working directory
    cp node_modules/@strapi/admin/admin/src ./src/admin/ui
  2. Rename the file ./src/admin/webpack.config.example.js to ./src/admin/webpack.config.js
  3. We connect and configure the webpack.NormalModuleReplacementPlugin plugin in the ./src/admin/webpack.config.js file
"use strict";
const path = require("path");
const strapiCacheSrcPath = path.resolve(__dirname, "../../.cache/admin/src");
/* eslint-disable no-unused-vars */
module.exports = (config, webpack) => {
  // Note: we provide webpack above so you should not `require` it
  // Perform customizations to webpack config
  // Important: return the modified config
  config.plugins.push(
    new webpack.NormalModuleReplacementPlugin(
      /admin\/src\/(.*).js/,
      (resource) => {
        if (resource.createData.resource){
          const replacedFilePath = resource.createData.resource.replace(strapiCacheSrcPath,path.resolve(__dirname,'ui'));
          if (replacedFilePath.endsWith('.js')) {
            resource.createData.resource = replacedFilePath;
          }
        }
      }

    )
  );

  return config;
};
  1. Fixing plugin paths ./src/admin/ui/plugins.js
// After:
// import contentTypeBuilder from '../../../content-type-builder/admin/src';
// import email from '../../../email/admin/src';
// import upload from '../../../upload/admin/src';
// import i18N from '../../../../plugins/i18n/admin/src';
// import usersPermissions from '../../../../plugins/users-permissions/admin/src';

// Before:
import contentTypeBuilder from '@strapi/plugin-content-type-builder/admin/src';
import email from '@strapi/plugin-email/admin/src';
import upload from '@strapi/plugin-upload/admin/src';
import i18N from '@strapi/plugin-i18n/admin/src';
import usersPermissions from '@strapi/plugin-users-permissions/admin/src';

Ready! Now you can modify admin panel .js files in ./src/admin/ui directory! If desired, you can reconfigure the plugin for other file formats.

The solution is not 100% tested, there may be problems.

3 Likes