@modern-js/plugin-tailwindcss 2.14.0 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/cjs/cli.js +130 -158
- package/dist/cjs/design-token/cli/index.js +93 -111
- package/dist/cjs/design-token/index.js +26 -36
- package/dist/cjs/design-token/postcss-plugin/index.js +8 -26
- package/dist/cjs/design-token/runtime/index.js +27 -37
- package/dist/cjs/design-token/runtime/plugin.js +90 -52
- package/dist/cjs/index.js +13 -34
- package/dist/cjs/tailwind.js +33 -52
- package/dist/cjs/types.js +4 -15
- package/dist/cjs/utils.js +36 -49
- package/dist/esm/cli.js +264 -253
- package/dist/esm/design-token/cli/index.js +112 -113
- package/dist/esm/design-token/index.js +1 -2
- package/dist/esm/design-token/postcss-plugin/index.js +17 -17
- package/dist/esm/design-token/runtime/index.js +1 -2
- package/dist/esm/design-token/runtime/plugin.js +71 -71
- package/dist/esm/index.js +1 -2
- package/dist/esm/tailwind.js +88 -76
- package/dist/esm/types.js +1 -1
- package/dist/esm/utils.js +183 -177
- package/dist/esm-node/cli.js +109 -137
- package/dist/esm-node/design-token/cli/index.js +85 -94
- package/dist/esm-node/design-token/index.js +1 -4
- package/dist/esm-node/design-token/postcss-plugin/index.js +1 -6
- package/dist/esm-node/design-token/runtime/index.js +1 -4
- package/dist/esm-node/design-token/runtime/plugin.js +29 -18
- package/dist/esm-node/index.js +1 -4
- package/dist/esm-node/tailwind.js +24 -27
- package/dist/esm-node/types.js +1 -0
- package/dist/esm-node/utils.js +19 -18
- package/package.json +15 -11
@@ -1,99 +1,90 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
if (designSystem) {
|
19
|
-
delete tailwindcssConfig.theme.supportStyledComponents;
|
20
|
-
}
|
21
|
-
return resolveConfig(tailwindcssConfig).theme || {};
|
22
|
-
};
|
23
|
-
return {
|
24
|
-
config() {
|
25
|
-
const appContext = api.useAppContext();
|
26
|
-
pluginsExportsUtils = createRuntimeExportsUtils(
|
27
|
-
appContext.internalDirectory,
|
28
|
-
"plugins"
|
29
|
-
);
|
30
|
-
return {
|
31
|
-
source: {
|
32
|
-
alias: {
|
33
|
-
"@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
|
34
|
-
}
|
35
|
-
},
|
36
|
-
tools: {
|
37
|
-
// TODO: support less、scss、css vars
|
38
|
-
// less: https://github.com/web-infra-dev/modern.js/pull/398/files#diff-f77c749e403fbf1fb676d5687bef3d7138a230331c849298d8afaff9b6afbc3dR166
|
39
|
-
// sass: https://github.com/web-infra-dev/modern.js/pull/398/files#diff-f77c749e403fbf1fb676d5687bef3d7138a230331c849298d8afaff9b6afbc3dR229
|
40
|
-
// postcss: https://github.com/web-infra-dev/modern.js/pull/398/files#diff-f77c749e403fbf1fb676d5687bef3d7138a230331c849298d8afaff9b6afbc3dR281
|
41
|
-
}
|
42
|
-
};
|
43
|
-
},
|
44
|
-
modifyEntryImports({ entrypoint, imports }) {
|
45
|
-
var _a, _b;
|
46
|
-
const userConfig = api.useResolvedConfigContext();
|
47
|
-
const designSystem = (_b = (_a = userConfig.source) == null ? void 0 : _a.designSystem) != null ? _b : {};
|
48
|
-
if (typeof designSystem === "object" && designSystem.supportStyledComponents) {
|
49
|
-
const designTokens = getDesignTokens(userConfig.source.designSystem);
|
50
|
-
imports.push({
|
51
|
-
value: "@modern-js/runtime/plugins",
|
52
|
-
specifiers: [
|
53
|
-
{
|
54
|
-
imported: PLUGIN_IDENTIFIER
|
55
|
-
}
|
56
|
-
],
|
57
|
-
initialize: `
|
58
|
-
const designTokens = ${JSON.stringify(designTokens)};
|
59
|
-
`
|
60
|
-
});
|
1
|
+
import { lazyImport, PLUGIN_SCHEMAS, createRuntimeExportsUtils } from "@modern-js/utils";
|
2
|
+
export default ({ pluginName } = {
|
3
|
+
pluginName: "@modern-js/plugin-tailwindcss"
|
4
|
+
}) => {
|
5
|
+
return {
|
6
|
+
name: "@modern-js/plugin-design-token",
|
7
|
+
setup(api) {
|
8
|
+
let pluginsExportsUtils;
|
9
|
+
const resolveConfig = lazyImport("tailwindcss/resolveConfig", require);
|
10
|
+
const PLUGIN_IDENTIFIER = "designToken";
|
11
|
+
const getDesignTokens = (designSystem) => {
|
12
|
+
const tailwindcssConfig = {};
|
13
|
+
tailwindcssConfig.theme = designSystem ? {
|
14
|
+
...designSystem
|
15
|
+
} : {};
|
16
|
+
if (!designSystem) {
|
17
|
+
tailwindcssConfig.presets = [];
|
61
18
|
}
|
62
|
-
return {
|
63
|
-
entrypoint,
|
64
|
-
imports
|
65
|
-
};
|
66
|
-
},
|
67
|
-
modifyEntryRuntimePlugins({ entrypoint, plugins }) {
|
68
|
-
var _a, _b;
|
69
|
-
const userConfig = api.useResolvedConfigContext();
|
70
|
-
const designSystem = (_b = (_a = userConfig.source) == null ? void 0 : _a.designSystem) != null ? _b : {};
|
71
|
-
let useSCThemeProvider = true;
|
72
19
|
if (designSystem) {
|
73
|
-
|
20
|
+
delete tailwindcssConfig.theme.supportStyledComponents;
|
74
21
|
}
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
22
|
+
return resolveConfig(tailwindcssConfig).theme || {};
|
23
|
+
};
|
24
|
+
return {
|
25
|
+
config() {
|
26
|
+
const appContext = api.useAppContext();
|
27
|
+
pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
|
28
|
+
return {
|
29
|
+
source: {
|
30
|
+
alias: {
|
31
|
+
"@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
|
32
|
+
}
|
33
|
+
},
|
34
|
+
tools: {}
|
35
|
+
};
|
36
|
+
},
|
37
|
+
modifyEntryImports({ entrypoint, imports }) {
|
38
|
+
var _userConfig_source;
|
39
|
+
const userConfig = api.useResolvedConfigContext();
|
40
|
+
var _userConfig_source_designSystem;
|
41
|
+
const designSystem = (_userConfig_source_designSystem = (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.designSystem) !== null && _userConfig_source_designSystem !== void 0 ? _userConfig_source_designSystem : {};
|
42
|
+
if (typeof designSystem === "object" && designSystem.supportStyledComponents) {
|
43
|
+
const designTokens = getDesignTokens(userConfig.source.designSystem);
|
44
|
+
imports.push({
|
45
|
+
value: "@modern-js/runtime/plugins",
|
46
|
+
specifiers: [
|
47
|
+
{
|
48
|
+
imported: PLUGIN_IDENTIFIER
|
49
|
+
}
|
50
|
+
],
|
51
|
+
initialize: `
|
52
|
+
const designTokens = ${JSON.stringify(designTokens)};
|
53
|
+
`
|
54
|
+
});
|
55
|
+
}
|
56
|
+
return {
|
57
|
+
entrypoint,
|
58
|
+
imports
|
59
|
+
};
|
60
|
+
},
|
61
|
+
modifyEntryRuntimePlugins({ entrypoint, plugins }) {
|
62
|
+
var _userConfig_source;
|
63
|
+
const userConfig = api.useResolvedConfigContext();
|
64
|
+
var _userConfig_source_designSystem;
|
65
|
+
const designSystem = (_userConfig_source_designSystem = (_userConfig_source = userConfig.source) === null || _userConfig_source === void 0 ? void 0 : _userConfig_source.designSystem) !== null && _userConfig_source_designSystem !== void 0 ? _userConfig_source_designSystem : {};
|
66
|
+
let useSCThemeProvider = true;
|
67
|
+
if (designSystem) {
|
68
|
+
useSCThemeProvider = (designSystem === null || designSystem === void 0 ? void 0 : designSystem.supportStyledComponents) || false;
|
69
|
+
}
|
70
|
+
if (typeof designSystem === "object" && designSystem.supportStyledComponents) {
|
71
|
+
plugins.push({
|
72
|
+
name: PLUGIN_IDENTIFIER,
|
73
|
+
options: `{token: designTokens, useStyledComponentsThemeProvider: ${useSCThemeProvider ? "true" : "false"}, useDesignTokenContext: false}`
|
74
|
+
});
|
75
|
+
}
|
76
|
+
return {
|
77
|
+
entrypoint,
|
78
|
+
plugins
|
79
|
+
};
|
80
|
+
},
|
81
|
+
validateSchema() {
|
82
|
+
return PLUGIN_SCHEMAS["@modern-js/plugin-design-token"];
|
83
|
+
},
|
84
|
+
addRuntimeExports() {
|
85
|
+
pluginsExportsUtils.addExport(`export { default as designToken } from '${pluginName}/runtime-design-token'`);
|
80
86
|
}
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
};
|
85
|
-
},
|
86
|
-
validateSchema() {
|
87
|
-
return PLUGIN_SCHEMAS["@modern-js/plugin-design-token"];
|
88
|
-
},
|
89
|
-
addRuntimeExports() {
|
90
|
-
pluginsExportsUtils.addExport(
|
91
|
-
`export { default as designToken } from '${pluginName}/runtime-design-token'`
|
92
|
-
);
|
93
|
-
}
|
94
|
-
};
|
95
|
-
}
|
96
|
-
});
|
97
|
-
export {
|
98
|
-
cli_default as default
|
87
|
+
};
|
88
|
+
}
|
89
|
+
};
|
99
90
|
};
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
cssVarsHash = {}
|
3
|
-
} = {}) => ({
|
1
|
+
export default ({ cssVarsHash = {} } = {}) => ({
|
4
2
|
postcssPlugin: "postcss-replace-css-vars",
|
5
3
|
Declaration(decl) {
|
6
4
|
if (decl.value && typeof decl.value === "string") {
|
@@ -13,6 +11,3 @@ var postcss_plugin_default = ({
|
|
13
11
|
}
|
14
12
|
}
|
15
13
|
});
|
16
|
-
export {
|
17
|
-
postcss_plugin_default as default
|
18
|
-
};
|
@@ -1,28 +1,44 @@
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import hoistNonReactStatics from "hoist-non-react-statics";
|
3
3
|
import React, { useContext } from "react";
|
4
|
-
const DesignTokenContext = React.createContext({});
|
5
|
-
const useDesignTokens = () => useContext(DesignTokenContext);
|
6
|
-
|
4
|
+
export const DesignTokenContext = /* @__PURE__ */ React.createContext({});
|
5
|
+
export const useDesignTokens = () => useContext(DesignTokenContext);
|
6
|
+
export default (options = {}) => ({
|
7
7
|
name: "@modern-js/plugin-design-token",
|
8
8
|
setup: () => ({
|
9
9
|
hoc({ App }, next) {
|
10
10
|
const DesignTokenAppWrapper = (props) => {
|
11
|
-
const {
|
12
|
-
token = {},
|
13
|
-
useStyledComponentsThemeProvider = false,
|
14
|
-
useDesignTokenContext = false
|
15
|
-
} = options;
|
11
|
+
const { token = {}, useStyledComponentsThemeProvider = false, useDesignTokenContext = false } = options;
|
16
12
|
if (useStyledComponentsThemeProvider && useDesignTokenContext) {
|
17
13
|
const { ThemeProvider } = require("@modern-js/runtime/styled");
|
18
|
-
return /* @__PURE__ */
|
14
|
+
return /* @__PURE__ */ _jsx(ThemeProvider, {
|
15
|
+
theme: token,
|
16
|
+
children: /* @__PURE__ */ _jsx(DesignTokenContext.Provider, {
|
17
|
+
value: token,
|
18
|
+
children: /* @__PURE__ */ _jsx(App, {
|
19
|
+
...props
|
20
|
+
})
|
21
|
+
})
|
22
|
+
});
|
19
23
|
} else if (useStyledComponentsThemeProvider) {
|
20
24
|
const { ThemeProvider } = require("@modern-js/runtime/styled");
|
21
|
-
return /* @__PURE__ */
|
25
|
+
return /* @__PURE__ */ _jsx(ThemeProvider, {
|
26
|
+
theme: token,
|
27
|
+
children: /* @__PURE__ */ _jsx(App, {
|
28
|
+
...props
|
29
|
+
})
|
30
|
+
});
|
22
31
|
} else if (useDesignTokenContext) {
|
23
|
-
return /* @__PURE__ */
|
32
|
+
return /* @__PURE__ */ _jsx(DesignTokenContext.Provider, {
|
33
|
+
value: token,
|
34
|
+
children: /* @__PURE__ */ _jsx(App, {
|
35
|
+
...props
|
36
|
+
})
|
37
|
+
});
|
24
38
|
} else {
|
25
|
-
return /* @__PURE__ */
|
39
|
+
return /* @__PURE__ */ _jsx(App, {
|
40
|
+
...props
|
41
|
+
});
|
26
42
|
}
|
27
43
|
};
|
28
44
|
return next({
|
@@ -31,8 +47,3 @@ var plugin_default = (options = {}) => ({
|
|
31
47
|
}
|
32
48
|
})
|
33
49
|
});
|
34
|
-
export {
|
35
|
-
DesignTokenContext,
|
36
|
-
plugin_default as default,
|
37
|
-
useDesignTokens
|
38
|
-
};
|
package/dist/esm-node/index.js
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
import { applyOptionsChain, logger } from "@modern-js/utils";
|
2
2
|
import { merge, cloneDeep } from "@modern-js/utils/lodash";
|
3
3
|
const checkIfExistNotAllowKeys = (tailwindConfig) => {
|
4
|
-
const notAllowExistKeys = [
|
4
|
+
const notAllowExistKeys = [
|
5
|
+
"theme"
|
6
|
+
];
|
5
7
|
let notAllowKey = "";
|
6
|
-
const ret = Object.keys(tailwindConfig).some(
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
const ret = Object.keys(tailwindConfig).some((key) => notAllowExistKeys.includes(key) && (notAllowKey = key));
|
9
|
+
return [
|
10
|
+
ret,
|
11
|
+
notAllowKey
|
12
|
+
];
|
10
13
|
};
|
11
14
|
const getPureDesignSystemConfig = (designSystemConfig) => {
|
12
15
|
const pureDesignSystemConfig = cloneDeep(designSystemConfig);
|
@@ -14,34 +17,28 @@ const getPureDesignSystemConfig = (designSystemConfig) => {
|
|
14
17
|
return pureDesignSystemConfig;
|
15
18
|
};
|
16
19
|
const getTailwindConfig = (tailwindVersion, tailwindcss, designSystem, option = {}) => {
|
17
|
-
const purgeConfig = merge(
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
20
|
+
const purgeConfig = merge({
|
21
|
+
// TODO: how the operating environment is determined
|
22
|
+
enabled: process.env.NODE_ENV === "production",
|
23
|
+
// TODO: Remove or not
|
24
|
+
layers: [
|
25
|
+
"utilities"
|
26
|
+
],
|
27
|
+
content: []
|
28
|
+
}, option.pureConfig || {});
|
29
|
+
const defaultTailwindConfig = tailwindVersion === "3" ? {
|
30
|
+
content: purgeConfig.content
|
31
|
+
} : {
|
28
32
|
purge: purgeConfig
|
29
33
|
};
|
30
|
-
const tailwindConfig = applyOptionsChain(
|
31
|
-
|
32
|
-
tailwindcss || {}
|
33
|
-
);
|
34
|
-
const designSystemConfig = getPureDesignSystemConfig(designSystem != null ? designSystem : {});
|
34
|
+
const tailwindConfig = applyOptionsChain(defaultTailwindConfig, tailwindcss || {});
|
35
|
+
const designSystemConfig = getPureDesignSystemConfig(designSystem !== null && designSystem !== void 0 ? designSystem : {});
|
35
36
|
const [exist, key] = checkIfExistNotAllowKeys(tailwindConfig);
|
36
37
|
if (exist) {
|
37
|
-
logger.error(
|
38
|
-
`should not exist '${key}' on tools.tailwindcss, please remove it`
|
39
|
-
);
|
38
|
+
logger.error(`should not exist '${key}' on tools.tailwindcss, please remove it`);
|
40
39
|
process.exit(0);
|
41
40
|
}
|
42
41
|
tailwindConfig.theme = designSystemConfig || {};
|
43
42
|
return tailwindConfig;
|
44
43
|
};
|
45
|
-
export {
|
46
|
-
getTailwindConfig
|
47
|
-
};
|
44
|
+
export { getTailwindConfig };
|
package/dist/esm-node/types.js
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
package/dist/esm-node/utils.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import path from "path";
|
2
2
|
import { fs } from "@modern-js/utils";
|
3
|
-
const template = (configPath) => `
|
3
|
+
export const template = (configPath) => `
|
4
4
|
function _interopRequireDefault(obj) {
|
5
5
|
return obj && obj.__esModule ? obj : { default: obj };
|
6
6
|
}
|
@@ -21,18 +21,18 @@ module.exports = {
|
|
21
21
|
};
|
22
22
|
`;
|
23
23
|
const TWIN_MACRO_NAME = "twin.macro";
|
24
|
-
const checkTwinMacroExist = async (appDirectory) => {
|
24
|
+
export const checkTwinMacroExist = async (appDirectory) => {
|
25
25
|
const packageJson = await fs.readJSON(path.join(appDirectory, "package.json"), {
|
26
26
|
throws: false
|
27
27
|
}) || {};
|
28
|
-
return Boolean(
|
29
|
-
typeof packageJson.dependencies === "object" && packageJson.dependencies[TWIN_MACRO_NAME] || typeof packageJson.devDependencies === "object" && packageJson.devDependencies[TWIN_MACRO_NAME]
|
30
|
-
);
|
28
|
+
return Boolean(typeof packageJson.dependencies === "object" && packageJson.dependencies[TWIN_MACRO_NAME] || typeof packageJson.devDependencies === "object" && packageJson.devDependencies[TWIN_MACRO_NAME]);
|
31
29
|
};
|
32
|
-
const getTwinMacroMajorVersion = (appDirectory) => {
|
30
|
+
export const getTwinMacroMajorVersion = (appDirectory) => {
|
33
31
|
try {
|
34
32
|
const pkgJsonPath = require.resolve(`${TWIN_MACRO_NAME}/package.json`, {
|
35
|
-
paths: [
|
33
|
+
paths: [
|
34
|
+
appDirectory
|
35
|
+
]
|
36
36
|
});
|
37
37
|
const { version } = require(pkgJsonPath);
|
38
38
|
return Number(version.split(".")[0]);
|
@@ -40,27 +40,28 @@ const getTwinMacroMajorVersion = (appDirectory) => {
|
|
40
40
|
return null;
|
41
41
|
}
|
42
42
|
};
|
43
|
-
function getTailwindPath(appDirectory) {
|
43
|
+
export function getTailwindPath(appDirectory) {
|
44
44
|
try {
|
45
|
-
return require.resolve("tailwindcss", {
|
45
|
+
return require.resolve("tailwindcss", {
|
46
|
+
paths: [
|
47
|
+
appDirectory,
|
48
|
+
__dirname
|
49
|
+
]
|
50
|
+
});
|
46
51
|
} catch (err) {
|
47
52
|
return "tailwindcss";
|
48
53
|
}
|
49
54
|
}
|
50
|
-
function getTailwindVersion(appDirectory) {
|
55
|
+
export function getTailwindVersion(appDirectory) {
|
51
56
|
try {
|
52
57
|
const packageJsonPath = require.resolve("tailwindcss/package.json", {
|
53
|
-
paths: [
|
58
|
+
paths: [
|
59
|
+
appDirectory,
|
60
|
+
__dirname
|
61
|
+
]
|
54
62
|
});
|
55
63
|
return require(packageJsonPath).version.split(".")[0];
|
56
64
|
} catch (err) {
|
57
65
|
return "3";
|
58
66
|
}
|
59
67
|
}
|
60
|
-
export {
|
61
|
-
checkTwinMacroExist,
|
62
|
-
getTailwindPath,
|
63
|
-
getTailwindVersion,
|
64
|
-
getTwinMacroMajorVersion,
|
65
|
-
template
|
66
|
-
};
|
package/package.json
CHANGED
@@ -3,7 +3,11 @@
|
|
3
3
|
"description": "A Progressive React Framework for modern web development.",
|
4
4
|
"homepage": "https://modernjs.dev",
|
5
5
|
"bugs": "https://github.com/web-infra-dev/modern.js/issues",
|
6
|
-
"repository":
|
6
|
+
"repository": {
|
7
|
+
"type": "git",
|
8
|
+
"url": "https://github.com/web-infra-dev/modern.js",
|
9
|
+
"directory": "packages/cli/plugin-tailwind"
|
10
|
+
},
|
7
11
|
"license": "MIT",
|
8
12
|
"keywords": [
|
9
13
|
"react",
|
@@ -11,7 +15,7 @@
|
|
11
15
|
"modern",
|
12
16
|
"modern.js"
|
13
17
|
],
|
14
|
-
"version": "2.
|
18
|
+
"version": "2.16.0",
|
15
19
|
"jsnext:source": "./src/index.ts",
|
16
20
|
"types": "./dist/types/index.d.ts",
|
17
21
|
"main": "./dist/cjs/index.js",
|
@@ -45,7 +49,7 @@
|
|
45
49
|
"@babel/runtime": "^7.18.0",
|
46
50
|
"babel-plugin-macros": "3.1.0",
|
47
51
|
"hoist-non-react-statics": "^3.3.2",
|
48
|
-
"@modern-js/utils": "2.
|
52
|
+
"@modern-js/utils": "2.16.0"
|
49
53
|
},
|
50
54
|
"devDependencies": {
|
51
55
|
"@types/jest": "^29",
|
@@ -55,17 +59,17 @@
|
|
55
59
|
"jest": "^29",
|
56
60
|
"react": "^18",
|
57
61
|
"postcss": "8.4.21",
|
58
|
-
"@modern-js/
|
59
|
-
"@modern-js/
|
60
|
-
"@modern-js/runtime": "2.
|
61
|
-
"@modern-js/types": "2.
|
62
|
-
"@scripts/build": "2.
|
63
|
-
"@modern-js/app-tools": "2.
|
64
|
-
"@scripts/jest-config": "2.
|
62
|
+
"@modern-js/module-tools": "2.16.0",
|
63
|
+
"@modern-js/core": "2.16.0",
|
64
|
+
"@modern-js/runtime": "2.16.0",
|
65
|
+
"@modern-js/types": "2.16.0",
|
66
|
+
"@scripts/build": "2.16.0",
|
67
|
+
"@modern-js/app-tools": "2.16.0",
|
68
|
+
"@scripts/jest-config": "2.16.0"
|
65
69
|
},
|
66
70
|
"peerDependencies": {
|
67
71
|
"tailwindcss": ">= 2.0.0 || >= 3.0.0",
|
68
|
-
"@modern-js/runtime": "^2.
|
72
|
+
"@modern-js/runtime": "^2.16.0"
|
69
73
|
},
|
70
74
|
"peerDependenciesMeta": {
|
71
75
|
"@modern-js/runtime": {
|