mirror of
https://github.com/directus/directus.git
synced 2026-04-03 03:00:39 -04:00
Fix .default is not a function errors (#18188)
* fix .default is not a function errors * use workaround * use workaround for the other plugins as well * upgrade rollup plugin commonjs and terser --------- Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
This commit is contained in:
@@ -39,11 +39,11 @@
|
||||
"@directus/constants": "workspace:*",
|
||||
"@directus/types": "workspace:*",
|
||||
"@directus/utils": "workspace:*",
|
||||
"@rollup/plugin-commonjs": "23.0.4",
|
||||
"@rollup/plugin-commonjs": "24.1.0",
|
||||
"@rollup/plugin-json": "6.0.0",
|
||||
"@rollup/plugin-node-resolve": "15.0.1",
|
||||
"@rollup/plugin-replace": "5.0.2",
|
||||
"@rollup/plugin-terser": "0.4.0",
|
||||
"@rollup/plugin-terser": "0.4.1",
|
||||
"@rollup/plugin-virtual": "3.0.1",
|
||||
"@vue/compiler-sfc": "3.2.47",
|
||||
"chalk": "4.1.2",
|
||||
|
||||
@@ -15,12 +15,12 @@ import type {
|
||||
ExtensionManifest as TExtensionManifest,
|
||||
} from '@directus/types';
|
||||
import { isIn, isTypeIn } from '@directus/utils';
|
||||
import commonjs from '@rollup/plugin-commonjs';
|
||||
import json from '@rollup/plugin-json';
|
||||
import commonjsDefault from '@rollup/plugin-commonjs';
|
||||
import jsonDefault from '@rollup/plugin-json';
|
||||
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
||||
import replace from '@rollup/plugin-replace';
|
||||
import terser from '@rollup/plugin-terser';
|
||||
import virtual from '@rollup/plugin-virtual';
|
||||
import replaceDefault from '@rollup/plugin-replace';
|
||||
import terserDefault from '@rollup/plugin-terser';
|
||||
import virtualDefault from '@rollup/plugin-virtual';
|
||||
import chalk from 'chalk';
|
||||
import fse from 'fs-extra';
|
||||
import ora from 'ora';
|
||||
@@ -33,9 +33,9 @@ import {
|
||||
rollup,
|
||||
watch as rollupWatch,
|
||||
} from 'rollup';
|
||||
import esbuild from 'rollup-plugin-esbuild';
|
||||
import styles from 'rollup-plugin-styles';
|
||||
import vue from 'rollup-plugin-vue';
|
||||
import esbuildDefault from 'rollup-plugin-esbuild';
|
||||
import stylesDefault from 'rollup-plugin-styles';
|
||||
import vueDefault from 'rollup-plugin-vue';
|
||||
import type { Language, RollupConfig, RollupMode } from '../types.js';
|
||||
import { getLanguageFromPath, isLanguage } from '../utils/languages.js';
|
||||
import { clear, log } from '../utils/logger.js';
|
||||
@@ -44,6 +44,16 @@ import generateBundleEntrypoint from './helpers/generate-bundle-entrypoint.js';
|
||||
import loadConfig from './helpers/load-config.js';
|
||||
import { validateSplitEntrypointOption } from './helpers/validate-cli-options.js';
|
||||
|
||||
// Workaround for https://github.com/rollup/plugins/issues/1329
|
||||
const virtual = virtualDefault as unknown as typeof virtualDefault.default;
|
||||
const vue = vueDefault as unknown as typeof vueDefault.default;
|
||||
const esbuild = esbuildDefault as unknown as typeof esbuildDefault.default;
|
||||
const styles = stylesDefault as unknown as typeof stylesDefault.default;
|
||||
const commonjs = commonjsDefault as unknown as typeof commonjsDefault.default;
|
||||
const json = jsonDefault as unknown as typeof jsonDefault.default;
|
||||
const replace = replaceDefault as unknown as typeof replaceDefault.default;
|
||||
const terser = terserDefault as unknown as typeof terserDefault.default;
|
||||
|
||||
type BuildOptions = {
|
||||
type?: string;
|
||||
input?: string;
|
||||
@@ -560,21 +570,21 @@ function getRollupOptions({
|
||||
input: typeof input !== 'string' ? 'entry' : input,
|
||||
external: mode === 'browser' ? APP_SHARED_DEPS : API_SHARED_DEPS,
|
||||
plugins: [
|
||||
typeof input !== 'string' ? virtual.default(input) : null,
|
||||
mode === 'browser' ? (vue.default({ preprocessStyles: true }) as Plugin) : null,
|
||||
languages.includes('typescript') ? esbuild.default({ include: /\.tsx?$/, sourceMap: sourcemap }) : null,
|
||||
mode === 'browser' ? styles.default() : null,
|
||||
typeof input !== 'string' ? virtual(input) : null,
|
||||
mode === 'browser' ? (vue({ preprocessStyles: true }) as Plugin) : null,
|
||||
languages.includes('typescript') ? esbuild({ include: /\.tsx?$/, sourceMap: sourcemap }) : null,
|
||||
mode === 'browser' ? styles() : null,
|
||||
...plugins,
|
||||
nodeResolve({ browser: mode === 'browser' }),
|
||||
commonjs.default({ esmExternals: mode === 'browser', sourceMap: sourcemap }),
|
||||
json.default(),
|
||||
replace.default({
|
||||
commonjs({ esmExternals: mode === 'browser', sourceMap: sourcemap }),
|
||||
json(),
|
||||
replace({
|
||||
values: {
|
||||
'process.env.NODE_ENV': JSON.stringify('production'),
|
||||
},
|
||||
preventAssignment: true,
|
||||
}),
|
||||
minify ? terser.default() : null,
|
||||
minify ? terser() : null,
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
38
pnpm-lock.yaml
generated
38
pnpm-lock.yaml
generated
@@ -947,8 +947,8 @@ importers:
|
||||
specifier: workspace:*
|
||||
version: link:../utils
|
||||
'@rollup/plugin-commonjs':
|
||||
specifier: 23.0.4
|
||||
version: 23.0.4(rollup@3.19.1)
|
||||
specifier: 24.1.0
|
||||
version: 24.1.0(rollup@3.19.1)
|
||||
'@rollup/plugin-json':
|
||||
specifier: 6.0.0
|
||||
version: 6.0.0(rollup@3.19.1)
|
||||
@@ -959,8 +959,8 @@ importers:
|
||||
specifier: 5.0.2
|
||||
version: 5.0.2(rollup@3.19.1)
|
||||
'@rollup/plugin-terser':
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0(rollup@3.19.1)
|
||||
specifier: 0.4.1
|
||||
version: 0.4.1(rollup@3.19.1)
|
||||
'@rollup/plugin-virtual':
|
||||
specifier: 3.0.1
|
||||
version: 3.0.1(rollup@3.19.1)
|
||||
@@ -5576,8 +5576,8 @@ packages:
|
||||
slash: 4.0.0
|
||||
dev: false
|
||||
|
||||
/@rollup/plugin-commonjs@23.0.4(rollup@3.19.1):
|
||||
resolution: {integrity: sha512-bOPJeTZg56D2MCm+TT4psP8e8Jmf1Jsi7pFUMl8BN5kOADNzofNHe47+84WVCt7D095xPghC235/YKuNDEhczg==}
|
||||
/@rollup/plugin-commonjs@24.1.0(rollup@3.19.1):
|
||||
resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^2.68.0||^3.0.0
|
||||
@@ -5588,9 +5588,9 @@ packages:
|
||||
'@rollup/pluginutils': 5.0.2(rollup@3.19.1)
|
||||
commondir: 1.0.1
|
||||
estree-walker: 2.0.2
|
||||
glob: 8.0.3
|
||||
glob: 8.1.0
|
||||
is-reference: 1.2.1
|
||||
magic-string: 0.26.7
|
||||
magic-string: 0.27.0
|
||||
rollup: 3.19.1
|
||||
dev: false
|
||||
|
||||
@@ -5639,8 +5639,8 @@ packages:
|
||||
rollup: 3.19.1
|
||||
dev: false
|
||||
|
||||
/@rollup/plugin-terser@0.4.0(rollup@3.19.1):
|
||||
resolution: {integrity: sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==}
|
||||
/@rollup/plugin-terser@0.4.1(rollup@3.19.1):
|
||||
resolution: {integrity: sha512-aKS32sw5a7hy+fEXVy+5T95aDIwjpGHCTv833HXVtyKMDoVS7pBr5K3L9hEQoNqbJFjfANPrNpIXlTQ7is00eA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^2.x || ^3.x
|
||||
@@ -11268,17 +11268,6 @@ packages:
|
||||
once: 1.4.0
|
||||
path-is-absolute: 1.0.1
|
||||
|
||||
/glob@8.0.3:
|
||||
resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
inherits: 2.0.4
|
||||
minimatch: 5.1.2
|
||||
once: 1.4.0
|
||||
dev: false
|
||||
|
||||
/glob@8.1.0:
|
||||
resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
|
||||
engines: {node: '>=12'}
|
||||
@@ -13280,13 +13269,6 @@ packages:
|
||||
dependencies:
|
||||
sourcemap-codec: 1.4.8
|
||||
|
||||
/magic-string@0.26.7:
|
||||
resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
sourcemap-codec: 1.4.8
|
||||
dev: false
|
||||
|
||||
/magic-string@0.27.0:
|
||||
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
Reference in New Issue
Block a user