@nizza/devkit 0.2.0 → 0.2.2
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/dist/cjs/executors/deploy/helpers.cjs +1 -1
- package/dist/cjs/executors/deploy/schema.json +7 -0
- package/dist/cjs/index.cjs +7 -22
- package/dist/cjs/scripts/changeset-pre-mode.cjs +35 -16
- package/dist/cjs/scripts/index.cjs +1 -4
- package/dist/cjs/shared/logger.cjs +7 -4
- package/dist/cjs/vitejs/config-builder/configs/base.cjs +30 -0
- package/dist/cjs/vitejs/config-builder/configs/lib.cjs +1 -2
- package/dist/cjs/vitejs/config-builder/configs/script.cjs +0 -1
- package/dist/cjs/vitejs/config-builder/main.cjs +1 -2
- package/dist/cjs/vitejs/config-builder/plugins.cjs +4 -3
- package/dist/cjs/vitejs/config-builder/shared/types.cjs +26 -15
- package/dist/cjs/vitejs/config-builder/shared/utils/helpers.cjs +12 -6
- package/dist/cjs/vitejs/config-builder/shared/utils/{projectConfig.cjs → project-config.cjs} +1 -1
- package/dist/esm/executors/deploy/helpers.mjs +1 -1
- package/dist/esm/executors/deploy/schema.json +7 -0
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/scripts/changeset-pre-mode.mjs +35 -16
- package/dist/esm/scripts/index.mjs +1 -1
- package/dist/esm/shared/logger.mjs +5 -3
- package/dist/esm/vitejs/config-builder/configs/base.mjs +30 -1
- package/dist/esm/vitejs/config-builder/configs/lib.mjs +1 -2
- package/dist/esm/vitejs/config-builder/configs/script.mjs +0 -1
- package/dist/esm/vitejs/config-builder/main.mjs +1 -2
- package/dist/esm/vitejs/config-builder/plugins.mjs +4 -3
- package/dist/esm/vitejs/config-builder/shared/types.mjs +20 -15
- package/dist/esm/vitejs/config-builder/shared/utils/helpers.mjs +12 -6
- package/dist/esm/vitejs/config-builder/shared/utils/{projectConfig.mjs → project-config.mjs} +1 -1
- package/package.json +1 -1
- /package/dist/cjs/node_modules/.pnpm/{@vitejs_plugin-basic-ssl@1.1.0_vite@5.2.10_@types_node@18.19.31_sass@1.75.0_ → @vitejs_plugin-basic-ssl@1.1.0_vite@6.0.11_@types_node@18.19.31_jiti@1.21.0_sass@1.75.0_terser@5.37.0_yaml@2.7.0_}/node_modules/@vitejs/plugin-basic-ssl/dist/chunks/certificate.cjs +0 -0
- /package/dist/cjs/node_modules/.pnpm/{@vitejs_plugin-basic-ssl@1.1.0_vite@5.2.10_@types_node@18.19.31_sass@1.75.0_ → @vitejs_plugin-basic-ssl@1.1.0_vite@6.0.11_@types_node@18.19.31_jiti@1.21.0_sass@1.75.0_terser@5.37.0_yaml@2.7.0_}/node_modules/@vitejs/plugin-basic-ssl/dist/index.cjs +0 -0
- /package/dist/cjs/vitejs/config-builder/shared/utils/{viteCommand.cjs → vite-command.cjs} +0 -0
- /package/dist/esm/node_modules/.pnpm/{@vitejs_plugin-basic-ssl@1.1.0_vite@5.2.10_@types_node@18.19.31_sass@1.75.0_ → @vitejs_plugin-basic-ssl@1.1.0_vite@6.0.11_@types_node@18.19.31_jiti@1.21.0_sass@1.75.0_terser@5.37.0_yaml@2.7.0_}/node_modules/@vitejs/plugin-basic-ssl/dist/chunks/certificate.mjs +0 -0
- /package/dist/esm/node_modules/.pnpm/{@vitejs_plugin-basic-ssl@1.1.0_vite@5.2.10_@types_node@18.19.31_sass@1.75.0_ → @vitejs_plugin-basic-ssl@1.1.0_vite@6.0.11_@types_node@18.19.31_jiti@1.21.0_sass@1.75.0_terser@5.37.0_yaml@2.7.0_}/node_modules/@vitejs/plugin-basic-ssl/dist/index.mjs +0 -0
- /package/dist/esm/vitejs/config-builder/shared/utils/{viteCommand.mjs → vite-command.mjs} +0 -0
|
@@ -33,7 +33,7 @@ function buildS3Path(args) {
|
|
|
33
33
|
const s3Bucket = `s3://${args.s3Bucket}`;
|
|
34
34
|
const s3Path = `${rootDir}${slash(assetsDir)}`;
|
|
35
35
|
const s3FullPath = `${s3Bucket}${slash(s3Path)}`;
|
|
36
|
-
const cloudFrontInvalidationPaths = [
|
|
36
|
+
const cloudFrontInvalidationPaths = args.cloudFrontInvalidationPaths ?? [
|
|
37
37
|
`${slash(s3Path)}/*`
|
|
38
38
|
];
|
|
39
39
|
return {
|
|
@@ -21,6 +21,13 @@
|
|
|
21
21
|
"type": "string",
|
|
22
22
|
"description": "The ID of the AWS CloudFront distribution for cache invalidation, ensuring updated assets are served."
|
|
23
23
|
},
|
|
24
|
+
"cloudFrontInvalidationPaths": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"description": "The paths of the CloudFront distribution to be invalidated after deployment.",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
24
31
|
"buildTarget": {
|
|
25
32
|
"type": "string",
|
|
26
33
|
"description": "Build command relative to the project and without the name of the project because it is not necessary"
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -10,8 +10,8 @@ var index$6 = require('./executors/vtex-link/index.cjs');
|
|
|
10
10
|
var main = require('./vitejs/config-builder/main.cjs');
|
|
11
11
|
var types = require('./vitejs/config-builder/shared/types.cjs');
|
|
12
12
|
var helpers = require('./vitejs/config-builder/shared/utils/helpers.cjs');
|
|
13
|
-
var projectConfig = require('./vitejs/config-builder/shared/utils/
|
|
14
|
-
var viteCommand = require('./vitejs/config-builder/shared/utils/
|
|
13
|
+
var projectConfig = require('./vitejs/config-builder/shared/utils/project-config.cjs');
|
|
14
|
+
var viteCommand = require('./vitejs/config-builder/shared/utils/vite-command.cjs');
|
|
15
15
|
var main$1 = require('./vitejs/plugins/third-party-css-inject/main.cjs');
|
|
16
16
|
var index$7 = require('./vitejs/plugins/shadow-dom-inject-css/index.cjs');
|
|
17
17
|
|
|
@@ -25,26 +25,11 @@ exports.updateExecutorsFileExecutor = index$4;
|
|
|
25
25
|
exports.verifyChangesetsExecutor = index$5;
|
|
26
26
|
exports.vtexLinkExecutor = index$6;
|
|
27
27
|
exports.createConfigBuilder = main.createConfigBuilder;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
enumerable: true,
|
|
34
|
-
get: function () { return types.ProjectType; }
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "Stage", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () { return types.Stage; }
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(exports, "Target", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
get: function () { return types.Target; }
|
|
43
|
-
});
|
|
44
|
-
Object.defineProperty(exports, "ViteMode", {
|
|
45
|
-
enumerable: true,
|
|
46
|
-
get: function () { return types.ViteMode; }
|
|
47
|
-
});
|
|
28
|
+
exports.Flag = types.Flag;
|
|
29
|
+
exports.ProjectType = types.ProjectType;
|
|
30
|
+
exports.Stage = types.Stage;
|
|
31
|
+
exports.Target = types.Target;
|
|
32
|
+
exports.ViteMode = types.ViteMode;
|
|
48
33
|
exports.chunkName = helpers.chunkName;
|
|
49
34
|
exports.deepMerge = helpers.deepMerge;
|
|
50
35
|
exports.getNxTsConfigPaths = helpers.getNxTsConfigPaths;
|
|
@@ -9,33 +9,52 @@ var util = require('util');
|
|
|
9
9
|
const execAsync = util.promisify(child_process.exec);
|
|
10
10
|
const changesetDir = path.resolve('.changeset');
|
|
11
11
|
const preJsonPath = path.resolve(changesetDir, 'pre.json');
|
|
12
|
-
|
|
13
|
-
async function main() {
|
|
12
|
+
const readPreJson = async ()=>{
|
|
14
13
|
try {
|
|
15
14
|
const data = await promises.readFile(preJsonPath, 'utf8');
|
|
16
|
-
|
|
15
|
+
return JSON.parse(data);
|
|
17
16
|
} catch {
|
|
18
|
-
|
|
17
|
+
return {
|
|
19
18
|
mode: 'exit'
|
|
20
19
|
};
|
|
21
20
|
}
|
|
22
|
-
|
|
21
|
+
};
|
|
22
|
+
const executeCommand = async (command)=>{
|
|
23
23
|
try {
|
|
24
|
-
const {
|
|
24
|
+
const { stdout, stderr } = await execAsync(command);
|
|
25
|
+
devkit.logger.info(stdout);
|
|
26
|
+
if (stderr) devkit.logger.warn(`⚠️ ${stderr}`);
|
|
27
|
+
} catch (error) {
|
|
28
|
+
devkit.logger.error('❌ An error occurred while executing the command!');
|
|
29
|
+
throw error;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const handlePrereleaseMode = async (mode, exitMode)=>{
|
|
33
|
+
if (exitMode) {
|
|
25
34
|
if (mode === 'exit') {
|
|
26
|
-
|
|
27
|
-
const { stdout, stderr } = await execAsync(command);
|
|
28
|
-
devkit.logger.info(stdout);
|
|
29
|
-
devkit.logger.info(stderr);
|
|
30
|
-
devkit.logger.info(`🚀 Successfully enter prerelease mode`);
|
|
35
|
+
devkit.logger.info('ℹ️ Prerelease mode has not been entered. No need to exit.');
|
|
31
36
|
} else {
|
|
32
|
-
|
|
37
|
+
await executeCommand('pnpm changeset pre exit');
|
|
38
|
+
devkit.logger.info('✅ Successfully exited prerelease mode');
|
|
33
39
|
}
|
|
40
|
+
} else {
|
|
41
|
+
if (mode === 'exit') {
|
|
42
|
+
await executeCommand('pnpm changeset pre enter beta');
|
|
43
|
+
devkit.logger.info('🚀 Successfully entered prerelease mode');
|
|
44
|
+
} else {
|
|
45
|
+
devkit.logger.info('🔄 Prerelease mode has been previously entered');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const main = async ()=>{
|
|
50
|
+
const args = process.argv.slice(2);
|
|
51
|
+
const exitMode = args.includes('--exit');
|
|
52
|
+
try {
|
|
53
|
+
const preJson = await readPreJson();
|
|
54
|
+
await handlePrereleaseMode(preJson.mode, exitMode);
|
|
34
55
|
} catch (error) {
|
|
35
|
-
devkit.logger.error('❌ An error occurred!');
|
|
56
|
+
devkit.logger.error('❌ An unexpected error occurred!');
|
|
36
57
|
throw error;
|
|
37
58
|
}
|
|
38
|
-
}
|
|
59
|
+
};
|
|
39
60
|
main();
|
|
40
|
-
|
|
41
|
-
exports.main = main;
|
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
var chalk = require('chalk');
|
|
4
4
|
var R = require('ramda');
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Enum representing the different log levels.
|
|
8
|
+
*/ var LogLevel = /*#__PURE__*/ function(LogLevel) {
|
|
8
9
|
LogLevel[LogLevel["ERROR"] = 0] = "ERROR";
|
|
9
10
|
LogLevel[LogLevel["WARN"] = 1] = "WARN";
|
|
10
11
|
LogLevel[LogLevel["INFO"] = 2] = "INFO";
|
|
11
12
|
LogLevel[LogLevel["DEBUG"] = 3] = "DEBUG";
|
|
12
|
-
|
|
13
|
+
return LogLevel;
|
|
14
|
+
}({});
|
|
13
15
|
// Default log level
|
|
14
16
|
exports.currentLogLevel = 2;
|
|
15
17
|
/**
|
|
@@ -33,7 +35,7 @@ exports.currentLogLevel = 2;
|
|
|
33
35
|
[3]: chalk.magenta
|
|
34
36
|
};
|
|
35
37
|
const getLogLevelKey = (value)=>{
|
|
36
|
-
return Object.keys(
|
|
38
|
+
return Object.keys(LogLevel).find((key)=>LogLevel[key] === value);
|
|
37
39
|
};
|
|
38
40
|
/**
|
|
39
41
|
* Sets the log level for the logger.
|
|
@@ -94,5 +96,6 @@ const logger = {
|
|
|
94
96
|
debug: log(3)
|
|
95
97
|
};
|
|
96
98
|
|
|
99
|
+
exports.LogLevel = LogLevel;
|
|
97
100
|
exports.logger = logger;
|
|
98
101
|
exports.setLogLevel = setLogLevel;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var fs = require('fs');
|
|
4
4
|
var path = require('path');
|
|
5
|
+
var url = require('url');
|
|
5
6
|
var plugins = require('../plugins.cjs');
|
|
6
7
|
var types = require('../shared/types.cjs');
|
|
7
8
|
var helpers = require('../shared/utils/helpers.cjs');
|
|
@@ -13,6 +14,8 @@ require('chalk');
|
|
|
13
14
|
require('mri');
|
|
14
15
|
require('vite');
|
|
15
16
|
|
|
17
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
18
|
+
const __dirname$1 = path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('vitejs/config-builder/configs/base.cjs', document.baseURI).href))));
|
|
16
19
|
const getBaseConfig = (ctx)=>{
|
|
17
20
|
const { commonConfig, projectConfig, viteCmd } = ctx;
|
|
18
21
|
const { resolveEnvs, path: path$1 } = projectConfig;
|
|
@@ -31,6 +34,7 @@ const getBaseConfig = (ctx)=>{
|
|
|
31
34
|
// Verify if the local Environment file is present
|
|
32
35
|
const envFilePath = fs.existsSync(path.resolve(path$1, 'src', envPath)) ? envPath : fallbackEnvPath;
|
|
33
36
|
return {
|
|
37
|
+
root: path.resolve(path$1),
|
|
34
38
|
envPrefix,
|
|
35
39
|
plugins: helpers.getPlugins(ctx, plugins.basePlugins, plugins.httpsServerPlugin, plugins.bundleAnalysisPlugin),
|
|
36
40
|
resolve: {
|
|
@@ -52,6 +56,32 @@ const getBaseConfig = (ctx)=>{
|
|
|
52
56
|
minify: true,
|
|
53
57
|
emptyOutDir: true,
|
|
54
58
|
cssCodeSplit: true
|
|
59
|
+
},
|
|
60
|
+
test: {
|
|
61
|
+
watch: false,
|
|
62
|
+
globals: true,
|
|
63
|
+
pool: 'threads',
|
|
64
|
+
environment: 'jsdom',
|
|
65
|
+
include: [
|
|
66
|
+
'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'
|
|
67
|
+
],
|
|
68
|
+
reporters: [
|
|
69
|
+
'default'
|
|
70
|
+
],
|
|
71
|
+
setupFiles: path.resolve(__dirname$1, '../shared/test-setup.ts'),
|
|
72
|
+
coverage: {
|
|
73
|
+
reportsDirectory: `${path.resolve(path$1)}/coverage`,
|
|
74
|
+
provider: 'istanbul',
|
|
75
|
+
exclude: [
|
|
76
|
+
'node_modules',
|
|
77
|
+
'dist',
|
|
78
|
+
'coverage',
|
|
79
|
+
'postcss.config.js',
|
|
80
|
+
'tailwind.config.js',
|
|
81
|
+
'vite.config.ts',
|
|
82
|
+
'vitest.config.ts'
|
|
83
|
+
]
|
|
84
|
+
}
|
|
55
85
|
}
|
|
56
86
|
};
|
|
57
87
|
};
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var path = require('path');
|
|
4
4
|
var plugins = require('../plugins.cjs');
|
|
5
|
-
require('../shared/types.cjs');
|
|
6
5
|
var helpers = require('../shared/utils/helpers.cjs');
|
|
7
|
-
var projectConfig = require('../shared/utils/
|
|
6
|
+
var projectConfig = require('../shared/utils/project-config.cjs');
|
|
8
7
|
require('chalk');
|
|
9
8
|
require('mri');
|
|
10
9
|
require('vite');
|
|
@@ -4,11 +4,10 @@ var vite = require('vite');
|
|
|
4
4
|
var logger = require('../../shared/logger.cjs');
|
|
5
5
|
var utils = require('../../shared/utils.cjs');
|
|
6
6
|
var index = require('./configs/index.cjs');
|
|
7
|
-
require('./shared/types.cjs');
|
|
8
7
|
require('@nx/devkit');
|
|
9
8
|
require('path');
|
|
10
9
|
require('ramda');
|
|
11
|
-
var projectConfig = require('./shared/utils/
|
|
10
|
+
var projectConfig = require('./shared/utils/project-config.cjs');
|
|
12
11
|
require('chalk');
|
|
13
12
|
require('mri');
|
|
14
13
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var vitePluginCommonjs = require('@originjs/vite-plugin-commonjs');
|
|
4
4
|
var graphql = require('@rollup/plugin-graphql');
|
|
5
|
+
var index$1 = require('../../node_modules/.pnpm/@vitejs_plugin-basic-ssl@1.1.0_vite@6.0.11_@types_node@18.19.31_jiti@1.21.0_sass@1.75.0_terser@5.37.0_yaml@2.7.0_/node_modules/@vitejs/plugin-basic-ssl/dist/index.cjs');
|
|
5
6
|
var react = require('@vitejs/plugin-react-swc');
|
|
6
7
|
var path = require('path');
|
|
7
8
|
var rollupPluginVisualizer = require('rollup-plugin-visualizer');
|
|
@@ -19,8 +20,8 @@ require('crypto');
|
|
|
19
20
|
require('fs');
|
|
20
21
|
require('chalk');
|
|
21
22
|
require('mri');
|
|
22
|
-
var index$1 = require('../../node_modules/.pnpm/@vitejs_plugin-basic-ssl@1.1.0_vite@5.2.10_@types_node@18.19.31_sass@1.75.0_/node_modules/@vitejs/plugin-basic-ssl/dist/index.cjs');
|
|
23
23
|
|
|
24
|
+
// import unpluginIsolatedDecl from 'unplugin-isolated-decl/vite';
|
|
24
25
|
/**
|
|
25
26
|
* Base plugins configuration for apps and libs.
|
|
26
27
|
*
|
|
@@ -30,8 +31,8 @@ var index$1 = require('../../node_modules/.pnpm/@vitejs_plugin-basic-ssl@1.1.0_v
|
|
|
30
31
|
* - @rollup/plugin-graphql
|
|
31
32
|
* - @vitejs/plugin-react-swc
|
|
32
33
|
*/ const basePlugins = {
|
|
33
|
-
generate: ()=>{
|
|
34
|
-
const projects = helpers.getNxTsConfigPaths();
|
|
34
|
+
generate: (ctx)=>{
|
|
35
|
+
const projects = helpers.getNxTsConfigPaths(ctx);
|
|
35
36
|
return [
|
|
36
37
|
tsconfigPaths({
|
|
37
38
|
projects
|
|
@@ -1,33 +1,44 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
(function(ViteMode) {
|
|
3
|
+
var ViteMode = /*#__PURE__*/ function(ViteMode) {
|
|
5
4
|
ViteMode["PROD"] = "production";
|
|
6
5
|
ViteMode["DEV"] = "development";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
(
|
|
6
|
+
ViteMode["TEST"] = "test";
|
|
7
|
+
return ViteMode;
|
|
8
|
+
}({});
|
|
9
|
+
/**
|
|
10
|
+
* Project stages, it coincides with the target configurations of the project.json of NX.
|
|
11
|
+
* @readonly
|
|
12
|
+
* @enum {string}
|
|
13
|
+
*/ var Stage = /*#__PURE__*/ function(Stage) {
|
|
10
14
|
Stage["PROD"] = "prod";
|
|
11
15
|
Stage["DEV"] = "dev";
|
|
12
16
|
Stage["LOCAL"] = "local";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
return Stage;
|
|
18
|
+
}({});
|
|
19
|
+
var ProjectType = /*#__PURE__*/ function(ProjectType) {
|
|
16
20
|
ProjectType["APP"] = "app";
|
|
17
21
|
ProjectType["LIB"] = "lib";
|
|
18
22
|
ProjectType["SCRIPT"] = "script";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
return ProjectType;
|
|
24
|
+
}({});
|
|
25
|
+
var Flag = /*#__PURE__*/ function(Flag) {
|
|
22
26
|
Flag["SOURCEMAP"] = "source-maps";
|
|
23
27
|
Flag["ANALYZE"] = "analyze";
|
|
24
28
|
Flag["VERBOSE"] = "verbose";
|
|
25
29
|
Flag["VERBOSE_ALIAS"] = "v";
|
|
26
30
|
Flag["HTTPS"] = "https";
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
return Flag;
|
|
32
|
+
}({});
|
|
33
|
+
var Target = /*#__PURE__*/ function(Target) {
|
|
30
34
|
Target["BUILD"] = "build";
|
|
31
35
|
Target["PREVIEW"] = "preview";
|
|
32
36
|
Target["SERVE"] = "serve";
|
|
33
|
-
|
|
37
|
+
return Target;
|
|
38
|
+
}({});
|
|
39
|
+
|
|
40
|
+
exports.Flag = Flag;
|
|
41
|
+
exports.ProjectType = ProjectType;
|
|
42
|
+
exports.Stage = Stage;
|
|
43
|
+
exports.Target = Target;
|
|
44
|
+
exports.ViteMode = ViteMode;
|
|
@@ -5,6 +5,7 @@ var path = require('path');
|
|
|
5
5
|
var R = require('ramda');
|
|
6
6
|
require('../../../../shared/logger.cjs');
|
|
7
7
|
var utils = require('../../../../shared/utils.cjs');
|
|
8
|
+
var types = require('../types.cjs');
|
|
8
9
|
|
|
9
10
|
function _interopNamespaceDefault(e) {
|
|
10
11
|
var n = Object.create(null);
|
|
@@ -100,12 +101,17 @@ var R__namespace = /*#__PURE__*/_interopNamespaceDefault(R);
|
|
|
100
101
|
* console.log(tsConfigPaths);
|
|
101
102
|
* // Output:
|
|
102
103
|
* // ['apps/my-app/tsconfig.app.json', 'libs/my-lib/tsconfig.lib.json']
|
|
103
|
-
*/ const getNxTsConfigPaths = ()=>{
|
|
104
|
-
const
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
104
|
+
*/ const getNxTsConfigPaths = ({ projectConfig })=>{
|
|
105
|
+
const isValidProject = (project)=>project.data.root.startsWith('apps/') || project.data.root.startsWith('libs/');
|
|
106
|
+
const generateTsConfigPath = (project)=>{
|
|
107
|
+
let tsconfigType = project.type === 'app' ? 'app' : 'lib';
|
|
108
|
+
if (projectConfig.viteEnv.mode === types.ViteMode.TEST && projectConfig.path.includes(project.data.root)) {
|
|
109
|
+
tsconfigType = 'spec';
|
|
110
|
+
}
|
|
111
|
+
return path.resolve(project.data.root, `tsconfig.${tsconfigType}.json`);
|
|
112
|
+
};
|
|
113
|
+
const { nodes } = devkit.readCachedProjectGraph();
|
|
114
|
+
return Object.values(nodes).filter(isValidProject).map(generateTsConfigPath);
|
|
109
115
|
};
|
|
110
116
|
|
|
111
117
|
exports.chunkName = chunkName;
|
package/dist/cjs/vitejs/config-builder/shared/utils/{projectConfig.cjs → project-config.cjs}
RENAMED
|
@@ -5,7 +5,7 @@ var logger = require('../../../../shared/logger.cjs');
|
|
|
5
5
|
var utils = require('../../../../shared/utils.cjs');
|
|
6
6
|
var types = require('../types.cjs');
|
|
7
7
|
var helpers = require('./helpers.cjs');
|
|
8
|
-
var viteCommand = require('./
|
|
8
|
+
var viteCommand = require('./vite-command.cjs');
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Initializes the project configuration with default values.
|
|
@@ -31,7 +31,7 @@ function buildS3Path(args) {
|
|
|
31
31
|
const s3Bucket = `s3://${args.s3Bucket}`;
|
|
32
32
|
const s3Path = `${rootDir}${slash(assetsDir)}`;
|
|
33
33
|
const s3FullPath = `${s3Bucket}${slash(s3Path)}`;
|
|
34
|
-
const cloudFrontInvalidationPaths = [
|
|
34
|
+
const cloudFrontInvalidationPaths = args.cloudFrontInvalidationPaths ?? [
|
|
35
35
|
`${slash(s3Path)}/*`
|
|
36
36
|
];
|
|
37
37
|
return {
|
|
@@ -21,6 +21,13 @@
|
|
|
21
21
|
"type": "string",
|
|
22
22
|
"description": "The ID of the AWS CloudFront distribution for cache invalidation, ensuring updated assets are served."
|
|
23
23
|
},
|
|
24
|
+
"cloudFrontInvalidationPaths": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"description": "The paths of the CloudFront distribution to be invalidated after deployment.",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
24
31
|
"buildTarget": {
|
|
25
32
|
"type": "string",
|
|
26
33
|
"description": "Build command relative to the project and without the name of the project because it is not necessary"
|
package/dist/esm/index.mjs
CHANGED
|
@@ -8,7 +8,7 @@ export { default as vtexLinkExecutor } from './executors/vtex-link/index.mjs';
|
|
|
8
8
|
export { createConfigBuilder } from './vitejs/config-builder/main.mjs';
|
|
9
9
|
export { Flag, ProjectType, Stage, Target, ViteMode } from './vitejs/config-builder/shared/types.mjs';
|
|
10
10
|
export { chunkName, deepMerge, getNxTsConfigPaths, getPlugins, when } from './vitejs/config-builder/shared/utils/helpers.mjs';
|
|
11
|
-
export { getExternalDependencies, getInitials, initializeConfig, mergeConfigs } from './vitejs/config-builder/shared/utils/
|
|
12
|
-
export { getViteCmdFlags, getViteCommand } from './vitejs/config-builder/shared/utils/
|
|
11
|
+
export { getExternalDependencies, getInitials, initializeConfig, mergeConfigs } from './vitejs/config-builder/shared/utils/project-config.mjs';
|
|
12
|
+
export { getViteCmdFlags, getViteCommand } from './vitejs/config-builder/shared/utils/vite-command.mjs';
|
|
13
13
|
export { thirdPartyCssInjectPlugin } from './vitejs/plugins/third-party-css-inject/main.mjs';
|
|
14
14
|
export { injectCssIntoShadowDom } from './vitejs/plugins/shadow-dom-inject-css/index.mjs';
|
|
@@ -7,33 +7,52 @@ import { promisify } from 'util';
|
|
|
7
7
|
const execAsync = promisify(exec);
|
|
8
8
|
const changesetDir = resolve('.changeset');
|
|
9
9
|
const preJsonPath = resolve(changesetDir, 'pre.json');
|
|
10
|
-
|
|
11
|
-
async function main() {
|
|
10
|
+
const readPreJson = async ()=>{
|
|
12
11
|
try {
|
|
13
12
|
const data = await readFile(preJsonPath, 'utf8');
|
|
14
|
-
|
|
13
|
+
return JSON.parse(data);
|
|
15
14
|
} catch {
|
|
16
|
-
|
|
15
|
+
return {
|
|
17
16
|
mode: 'exit'
|
|
18
17
|
};
|
|
19
18
|
}
|
|
20
|
-
|
|
19
|
+
};
|
|
20
|
+
const executeCommand = async (command)=>{
|
|
21
21
|
try {
|
|
22
|
-
const {
|
|
22
|
+
const { stdout, stderr } = await execAsync(command);
|
|
23
|
+
logger.info(stdout);
|
|
24
|
+
if (stderr) logger.warn(`⚠️ ${stderr}`);
|
|
25
|
+
} catch (error) {
|
|
26
|
+
logger.error('❌ An error occurred while executing the command!');
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const handlePrereleaseMode = async (mode, exitMode)=>{
|
|
31
|
+
if (exitMode) {
|
|
23
32
|
if (mode === 'exit') {
|
|
24
|
-
|
|
25
|
-
const { stdout, stderr } = await execAsync(command);
|
|
26
|
-
logger.info(stdout);
|
|
27
|
-
logger.info(stderr);
|
|
28
|
-
logger.info(`🚀 Successfully enter prerelease mode`);
|
|
33
|
+
logger.info('ℹ️ Prerelease mode has not been entered. No need to exit.');
|
|
29
34
|
} else {
|
|
30
|
-
|
|
35
|
+
await executeCommand('pnpm changeset pre exit');
|
|
36
|
+
logger.info('✅ Successfully exited prerelease mode');
|
|
31
37
|
}
|
|
38
|
+
} else {
|
|
39
|
+
if (mode === 'exit') {
|
|
40
|
+
await executeCommand('pnpm changeset pre enter beta');
|
|
41
|
+
logger.info('🚀 Successfully entered prerelease mode');
|
|
42
|
+
} else {
|
|
43
|
+
logger.info('🔄 Prerelease mode has been previously entered');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const main = async ()=>{
|
|
48
|
+
const args = process.argv.slice(2);
|
|
49
|
+
const exitMode = args.includes('--exit');
|
|
50
|
+
try {
|
|
51
|
+
const preJson = await readPreJson();
|
|
52
|
+
await handlePrereleaseMode(preJson.mode, exitMode);
|
|
32
53
|
} catch (error) {
|
|
33
|
-
logger.error('❌ An error occurred!');
|
|
54
|
+
logger.error('❌ An unexpected error occurred!');
|
|
34
55
|
throw error;
|
|
35
56
|
}
|
|
36
|
-
}
|
|
57
|
+
};
|
|
37
58
|
main();
|
|
38
|
-
|
|
39
|
-
export { main };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import './changeset-pre-mode.mjs';
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { pipe, map, join } from 'ramda';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Enum representing the different log levels.
|
|
6
|
+
*/ var LogLevel = /*#__PURE__*/ function(LogLevel) {
|
|
6
7
|
LogLevel[LogLevel["ERROR"] = 0] = "ERROR";
|
|
7
8
|
LogLevel[LogLevel["WARN"] = 1] = "WARN";
|
|
8
9
|
LogLevel[LogLevel["INFO"] = 2] = "INFO";
|
|
9
10
|
LogLevel[LogLevel["DEBUG"] = 3] = "DEBUG";
|
|
10
|
-
|
|
11
|
+
return LogLevel;
|
|
12
|
+
}({});
|
|
11
13
|
// Default log level
|
|
12
14
|
let currentLogLevel = 2;
|
|
13
15
|
/**
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync } from 'fs';
|
|
2
|
-
import { resolve } from 'path';
|
|
2
|
+
import { dirname, resolve } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
3
4
|
import { bundleAnalysisPlugin, httpsServerPlugin, basePlugins } from '../plugins.mjs';
|
|
4
5
|
import { Target, ViteMode, Flag, Stage } from '../shared/types.mjs';
|
|
5
6
|
import { getPlugins, when } from '../shared/utils/helpers.mjs';
|
|
@@ -11,6 +12,7 @@ import 'chalk';
|
|
|
11
12
|
import 'mri';
|
|
12
13
|
import 'vite';
|
|
13
14
|
|
|
15
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
14
16
|
const getBaseConfig = (ctx)=>{
|
|
15
17
|
const { commonConfig, projectConfig, viteCmd } = ctx;
|
|
16
18
|
const { resolveEnvs, path } = projectConfig;
|
|
@@ -29,6 +31,7 @@ const getBaseConfig = (ctx)=>{
|
|
|
29
31
|
// Verify if the local Environment file is present
|
|
30
32
|
const envFilePath = existsSync(resolve(path, 'src', envPath)) ? envPath : fallbackEnvPath;
|
|
31
33
|
return {
|
|
34
|
+
root: resolve(path),
|
|
32
35
|
envPrefix,
|
|
33
36
|
plugins: getPlugins(ctx, basePlugins, httpsServerPlugin, bundleAnalysisPlugin),
|
|
34
37
|
resolve: {
|
|
@@ -50,6 +53,32 @@ const getBaseConfig = (ctx)=>{
|
|
|
50
53
|
minify: true,
|
|
51
54
|
emptyOutDir: true,
|
|
52
55
|
cssCodeSplit: true
|
|
56
|
+
},
|
|
57
|
+
test: {
|
|
58
|
+
watch: false,
|
|
59
|
+
globals: true,
|
|
60
|
+
pool: 'threads',
|
|
61
|
+
environment: 'jsdom',
|
|
62
|
+
include: [
|
|
63
|
+
'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'
|
|
64
|
+
],
|
|
65
|
+
reporters: [
|
|
66
|
+
'default'
|
|
67
|
+
],
|
|
68
|
+
setupFiles: resolve(__dirname, '../shared/test-setup.ts'),
|
|
69
|
+
coverage: {
|
|
70
|
+
reportsDirectory: `${resolve(path)}/coverage`,
|
|
71
|
+
provider: 'istanbul',
|
|
72
|
+
exclude: [
|
|
73
|
+
'node_modules',
|
|
74
|
+
'dist',
|
|
75
|
+
'coverage',
|
|
76
|
+
'postcss.config.js',
|
|
77
|
+
'tailwind.config.js',
|
|
78
|
+
'vite.config.ts',
|
|
79
|
+
'vitest.config.ts'
|
|
80
|
+
]
|
|
81
|
+
}
|
|
53
82
|
}
|
|
54
83
|
};
|
|
55
84
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
2
|
import { dtsPlugin } from '../plugins.mjs';
|
|
3
|
-
import '../shared/types.mjs';
|
|
4
3
|
import { when, getPlugins } from '../shared/utils/helpers.mjs';
|
|
5
|
-
import { getExternalDependencies } from '../shared/utils/
|
|
4
|
+
import { getExternalDependencies } from '../shared/utils/project-config.mjs';
|
|
6
5
|
import 'chalk';
|
|
7
6
|
import 'mri';
|
|
8
7
|
import 'vite';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
2
|
import { injectCssByJsPlugin, injectCssIntoShadowDomPlugin } from '../plugins.mjs';
|
|
3
|
-
import '../shared/types.mjs';
|
|
4
3
|
import { getPlugins, chunkName } from '../shared/utils/helpers.mjs';
|
|
5
4
|
import 'minimatch';
|
|
6
5
|
import '../../../shared/logger.mjs';
|
|
@@ -2,11 +2,10 @@ import { defineConfig } from 'vite';
|
|
|
2
2
|
import { currentLogLevel, LogLevel, logger } from '../../shared/logger.mjs';
|
|
3
3
|
import { getPkgJson } from '../../shared/utils.mjs';
|
|
4
4
|
import { getConfig } from './configs/index.mjs';
|
|
5
|
-
import './shared/types.mjs';
|
|
6
5
|
import '@nx/devkit';
|
|
7
6
|
import 'path';
|
|
8
7
|
import 'ramda';
|
|
9
|
-
import { initializeConfig, mergeConfigs } from './shared/utils/
|
|
8
|
+
import { initializeConfig, mergeConfigs } from './shared/utils/project-config.mjs';
|
|
10
9
|
import 'chalk';
|
|
11
10
|
import 'mri';
|
|
12
11
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { viteCommonjs } from '@originjs/vite-plugin-commonjs';
|
|
2
2
|
import graphql from '@rollup/plugin-graphql';
|
|
3
|
+
import viteBasicSslPlugin from '../../node_modules/.pnpm/@vitejs_plugin-basic-ssl@1.1.0_vite@6.0.11_@types_node@18.19.31_jiti@1.21.0_sass@1.75.0_terser@5.37.0_yaml@2.7.0_/node_modules/@vitejs/plugin-basic-ssl/dist/index.mjs';
|
|
3
4
|
import react from '@vitejs/plugin-react-swc';
|
|
4
5
|
import { resolve } from 'path';
|
|
5
6
|
import { visualizer } from 'rollup-plugin-visualizer';
|
|
@@ -17,8 +18,8 @@ import 'crypto';
|
|
|
17
18
|
import 'fs';
|
|
18
19
|
import 'chalk';
|
|
19
20
|
import 'mri';
|
|
20
|
-
import viteBasicSslPlugin from '../../node_modules/.pnpm/@vitejs_plugin-basic-ssl@1.1.0_vite@5.2.10_@types_node@18.19.31_sass@1.75.0_/node_modules/@vitejs/plugin-basic-ssl/dist/index.mjs';
|
|
21
21
|
|
|
22
|
+
// import unpluginIsolatedDecl from 'unplugin-isolated-decl/vite';
|
|
22
23
|
/**
|
|
23
24
|
* Base plugins configuration for apps and libs.
|
|
24
25
|
*
|
|
@@ -28,8 +29,8 @@ import viteBasicSslPlugin from '../../node_modules/.pnpm/@vitejs_plugin-basic-ss
|
|
|
28
29
|
* - @rollup/plugin-graphql
|
|
29
30
|
* - @vitejs/plugin-react-swc
|
|
30
31
|
*/ const basePlugins = {
|
|
31
|
-
generate: ()=>{
|
|
32
|
-
const projects = getNxTsConfigPaths();
|
|
32
|
+
generate: (ctx)=>{
|
|
33
|
+
const projects = getNxTsConfigPaths(ctx);
|
|
33
34
|
return [
|
|
34
35
|
tsconfigPaths({
|
|
35
36
|
projects
|
|
@@ -1,33 +1,38 @@
|
|
|
1
|
-
var ViteMode
|
|
2
|
-
(function(ViteMode) {
|
|
1
|
+
var ViteMode = /*#__PURE__*/ function(ViteMode) {
|
|
3
2
|
ViteMode["PROD"] = "production";
|
|
4
3
|
ViteMode["DEV"] = "development";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
(
|
|
4
|
+
ViteMode["TEST"] = "test";
|
|
5
|
+
return ViteMode;
|
|
6
|
+
}({});
|
|
7
|
+
/**
|
|
8
|
+
* Project stages, it coincides with the target configurations of the project.json of NX.
|
|
9
|
+
* @readonly
|
|
10
|
+
* @enum {string}
|
|
11
|
+
*/ var Stage = /*#__PURE__*/ function(Stage) {
|
|
8
12
|
Stage["PROD"] = "prod";
|
|
9
13
|
Stage["DEV"] = "dev";
|
|
10
14
|
Stage["LOCAL"] = "local";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
return Stage;
|
|
16
|
+
}({});
|
|
17
|
+
var ProjectType = /*#__PURE__*/ function(ProjectType) {
|
|
14
18
|
ProjectType["APP"] = "app";
|
|
15
19
|
ProjectType["LIB"] = "lib";
|
|
16
20
|
ProjectType["SCRIPT"] = "script";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
return ProjectType;
|
|
22
|
+
}({});
|
|
23
|
+
var Flag = /*#__PURE__*/ function(Flag) {
|
|
20
24
|
Flag["SOURCEMAP"] = "source-maps";
|
|
21
25
|
Flag["ANALYZE"] = "analyze";
|
|
22
26
|
Flag["VERBOSE"] = "verbose";
|
|
23
27
|
Flag["VERBOSE_ALIAS"] = "v";
|
|
24
28
|
Flag["HTTPS"] = "https";
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
return Flag;
|
|
30
|
+
}({});
|
|
31
|
+
var Target = /*#__PURE__*/ function(Target) {
|
|
28
32
|
Target["BUILD"] = "build";
|
|
29
33
|
Target["PREVIEW"] = "preview";
|
|
30
34
|
Target["SERVE"] = "serve";
|
|
31
|
-
|
|
35
|
+
return Target;
|
|
36
|
+
}({});
|
|
32
37
|
|
|
33
38
|
export { Flag, ProjectType, Stage, Target, ViteMode };
|
|
@@ -3,6 +3,7 @@ import { resolve } from 'path';
|
|
|
3
3
|
import * as R from 'ramda';
|
|
4
4
|
import '../../../../shared/logger.mjs';
|
|
5
5
|
import { shortId } from '../../../../shared/utils.mjs';
|
|
6
|
+
import { ViteMode } from '../types.mjs';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Deeply merges two objects, combining their properties.
|
|
@@ -79,12 +80,17 @@ import { shortId } from '../../../../shared/utils.mjs';
|
|
|
79
80
|
* console.log(tsConfigPaths);
|
|
80
81
|
* // Output:
|
|
81
82
|
* // ['apps/my-app/tsconfig.app.json', 'libs/my-lib/tsconfig.lib.json']
|
|
82
|
-
*/ const getNxTsConfigPaths = ()=>{
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
*/ const getNxTsConfigPaths = ({ projectConfig })=>{
|
|
84
|
+
const isValidProject = (project)=>project.data.root.startsWith('apps/') || project.data.root.startsWith('libs/');
|
|
85
|
+
const generateTsConfigPath = (project)=>{
|
|
86
|
+
let tsconfigType = project.type === 'app' ? 'app' : 'lib';
|
|
87
|
+
if (projectConfig.viteEnv.mode === ViteMode.TEST && projectConfig.path.includes(project.data.root)) {
|
|
88
|
+
tsconfigType = 'spec';
|
|
89
|
+
}
|
|
90
|
+
return resolve(project.data.root, `tsconfig.${tsconfigType}.json`);
|
|
91
|
+
};
|
|
92
|
+
const { nodes } = readCachedProjectGraph();
|
|
93
|
+
return Object.values(nodes).filter(isValidProject).map(generateTsConfigPath);
|
|
88
94
|
};
|
|
89
95
|
|
|
90
96
|
export { chunkName, deepMerge, getNxTsConfigPaths, getPlugins, when };
|
package/dist/esm/vitejs/config-builder/shared/utils/{projectConfig.mjs → project-config.mjs}
RENAMED
|
@@ -3,7 +3,7 @@ import { LogLevel, logger, setLogLevel } from '../../../../shared/logger.mjs';
|
|
|
3
3
|
import { getPkgJson } from '../../../../shared/utils.mjs';
|
|
4
4
|
import { Flag } from '../types.mjs';
|
|
5
5
|
import { deepMerge } from './helpers.mjs';
|
|
6
|
-
import { getViteCommand } from './
|
|
6
|
+
import { getViteCommand } from './vite-command.mjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Initializes the project configuration with default values.
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|