@gct-paas/cli 0.0.1-dev.1 → 0.0.1-dev.4

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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/dist/bin.d.ts +2 -0
  3. package/dist/commands/index.d.ts +5 -0
  4. package/dist/commands/index.mjs +14 -0
  5. package/dist/core/commitlint/commitlint-config/commitlint-config.d.ts +9 -0
  6. package/dist/core/commitlint/commitlint-config/commitlint-config.mjs +28 -0
  7. package/dist/core/commitlint/index.mjs +1 -0
  8. package/dist/core/constants/index.d.ts +12 -0
  9. package/dist/core/constants/index.mjs +23 -0
  10. package/dist/core/eslint/eslint-config/eslint-config.d.ts +9 -0
  11. package/dist/core/eslint/eslint-config/eslint-config.mjs +109 -0
  12. package/dist/core/eslint/index.mjs +1 -0
  13. package/dist/core/index.mjs +7 -0
  14. package/dist/core/prettier/index.mjs +1 -0
  15. package/dist/core/prettier/prettier-config/prettier-config.d.ts +22 -0
  16. package/dist/core/prettier/prettier-config/prettier-config.mjs +26 -0
  17. package/dist/core/rollup/index.mjs +2 -0
  18. package/dist/core/rollup/rollup-config/dev-config.d.ts +9 -0
  19. package/dist/core/rollup/rollup-config/dev-config.mjs +98 -0
  20. package/dist/core/rollup/rollup-plugins/copy-file.d.ts +37 -0
  21. package/dist/core/rollup/rollup-plugins/copy-file.mjs +18 -0
  22. package/dist/core/rollup/rollup-plugins/ignore-compiler-file.d.ts +8 -0
  23. package/dist/core/rollup/rollup-plugins/ignore-compiler-file.mjs +17 -0
  24. package/dist/core/rollup/rollup-plugins/index.mjs +2 -0
  25. package/dist/core/stylelint/index.mjs +1 -0
  26. package/dist/core/stylelint/stylelint-config/stylelint-config.d.ts +9 -0
  27. package/dist/core/stylelint/stylelint-config/stylelint-config.mjs +21 -0
  28. package/{src/core/util/index.ts → dist/core/util/index.d.ts} +2 -8
  29. package/dist/core/util/index.mjs +7 -0
  30. package/dist/core/util/watcher/watcher.d.ts +61 -0
  31. package/{src/core/util/watcher/watcher.ts → dist/core/util/watcher/watcher.mjs} +33 -54
  32. package/dist/core/vite/index.d.ts +2 -0
  33. package/dist/core/vite/index.mjs +2 -0
  34. package/dist/core/vite/vite-config/vite-config.d.ts +9 -0
  35. package/dist/core/vite/vite-config/vite-config.mjs +68 -0
  36. package/dist/core/vite/vite-config/vite-dev-config.d.ts +9 -0
  37. package/dist/core/vite/vite-config/vite-dev-config.mjs +19 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/interface/i-command/i-command.d.ts +28 -0
  40. package/dist/interface/i-command/i-command.mjs +0 -0
  41. package/dist/interface/index.mjs +1 -0
  42. package/dist/utils/index.d.ts +1 -0
  43. package/dist/utils/index.mjs +4 -0
  44. package/dist/utils/local-binaries/local-binaries.d.ts +3 -0
  45. package/dist/utils/local-binaries/local-binaries.mjs +11 -0
  46. package/package.json +7 -3
  47. package/src/bin.ts +0 -5
  48. package/src/commands/index.ts +0 -16
  49. package/src/core/commitlint/commitlint-config/commitlint-config.ts +0 -37
  50. package/src/core/constants/index.ts +0 -8
  51. package/src/core/eslint/eslint-config/eslint-config.ts +0 -122
  52. package/src/core/prettier/prettier-config/prettier-config.ts +0 -48
  53. package/src/core/rollup/rollup-config/dev-config.ts +0 -135
  54. package/src/core/rollup/rollup-plugins/copy-file.ts +0 -57
  55. package/src/core/rollup/rollup-plugins/ignore-compiler-file.ts +0 -25
  56. package/src/core/stylelint/stylelint-config/stylelint-config.ts +0 -28
  57. package/src/core/vite/index.ts +0 -1
  58. package/src/core/vite/vite-config/vite-config.ts +0 -59
  59. package/src/index.ts +0 -36
  60. package/src/interface/i-command/i-command.ts +0 -29
  61. package/src/utils/index.ts +0 -4
  62. package/src/utils/local-binaries/local-binaries.ts +0 -16
  63. /package/{src/core/commitlint/index.ts → dist/core/commitlint/index.d.ts} +0 -0
  64. /package/{src/core/eslint/index.ts → dist/core/eslint/index.d.ts} +0 -0
  65. /package/{src/core/index.ts → dist/core/index.d.ts} +0 -0
  66. /package/{src/core/prettier/index.ts → dist/core/prettier/index.d.ts} +0 -0
  67. /package/{src/core/rollup/index.ts → dist/core/rollup/index.d.ts} +0 -0
  68. /package/{src/core/rollup/rollup-plugins/index.ts → dist/core/rollup/rollup-plugins/index.d.ts} +0 -0
  69. /package/{src/core/stylelint/index.ts → dist/core/stylelint/index.d.ts} +0 -0
  70. /package/{src/interface/index.ts → dist/interface/index.d.ts} +0 -0
  71. /package/{src → dist}/types/index.d.ts +0 -0
@@ -1,135 +0,0 @@
1
- import { defineConfig, OutputOptions, RollupOptions } from 'rollup';
2
- import { merge } from 'lodash-es';
3
- import path from 'path';
4
- import glob from 'fast-glob';
5
- import { nodeResolve } from '@rollup/plugin-node-resolve';
6
- import commonjs from '@rollup/plugin-commonjs';
7
- import json from '@rollup/plugin-json';
8
- import esbuild from 'rollup-plugin-esbuild';
9
- import dts from 'vite-plugin-dts';
10
- import vue from '@vitejs/plugin-vue';
11
- import vueJsx from '@vitejs/plugin-vue-jsx';
12
- import * as rf from 'rimraf';
13
- import cpy from 'cpy';
14
- import fs from 'fs-extra';
15
- import { copyFile, ignoreCompilerFile } from '../rollup-plugins';
16
- import { PROD_MODE } from '../../constants';
17
-
18
- /**
19
- * 开发包基础编译配置
20
- *
21
- * @export
22
- * @param {RollupOptions} [opts={}]
23
- * @returns {*} {RollupOptions}
24
- */
25
- export function defineRollupConfig(opts: RollupOptions = {}): RollupOptions {
26
- // 监控 ctrl + c 停止进程,触发 exit 事件
27
- process.on('SIGINT', () => {
28
- process.exit();
29
- });
30
- // 当前脚本执行的工作目录
31
- const cwd = process.cwd();
32
- // 是否为生产编译模式
33
- const isProd = process.env.NODE_ENV === PROD_MODE;
34
- // 项目脚本目录
35
- const rootDir = path.resolve(cwd, 'src');
36
- // es模块输出目录
37
- const outDir = path.resolve(cwd, 'es');
38
- // commonjs 模块输出目录
39
- // const libOutDir = path.resolve(cwd, 'lib');
40
- // 静态资源目录
41
- const assetsDir = path.resolve(cwd, 'public');
42
-
43
- // 需要忽略编译,以及直接拷贝的文件
44
- const externalCompileFileReg = /\.(vue|scss|css|less)+$/;
45
-
46
- // 删除之前编译的文件
47
- rf.sync(outDir);
48
-
49
- const input = glob.sync('src/**/*.{ts,tsx}', {
50
- cwd,
51
- absolute: true,
52
- onlyFiles: true,
53
- ignore: ['**/*.test.ts', '**/*.test.tsx', '**/*.d.ts'],
54
- });
55
-
56
- if (isProd) {
57
- if (fs.pathExistsSync(assetsDir)) {
58
- cpy(assetsDir, outDir);
59
- }
60
- cpy(path.resolve(cwd, 'src/**/*.{vue,scss,css,less}'), outDir);
61
- } else {
62
- // 拷贝静态资源目录,和排除编译的文件
63
- copyFile([
64
- {
65
- from: assetsDir,
66
- to: outDir,
67
- },
68
- {
69
- from: rootDir,
70
- to: outDir,
71
- opts: {
72
- ignored: (file, stats) => {
73
- if (stats && stats.isFile()) {
74
- return !externalCompileFileReg.test(file);
75
- }
76
- return false;
77
- },
78
- },
79
- },
80
- ]);
81
- }
82
-
83
- const output: OutputOptions[] = [
84
- {
85
- dir: outDir,
86
- format: 'es',
87
- sourcemap: false,
88
- preserveModules: true,
89
- preserveModulesRoot: rootDir,
90
- entryFileNames: '[name].mjs',
91
- },
92
- ];
93
-
94
- // if (isProd) {
95
- // output.push({
96
- // dir: libOutDir,
97
- // format: 'cjs',
98
- // sourcemap: false,
99
- // exports: 'named',
100
- // preserveModules: true,
101
- // preserveModulesRoot: rootDir,
102
- // entryFileNames: '[name].cjs',
103
- // });
104
- // }
105
-
106
- return merge(
107
- defineConfig({
108
- input,
109
- treeshake: false,
110
- external: ['vue'],
111
- output,
112
- plugins: [
113
- ignoreCompilerFile(externalCompileFileReg),
114
- json(),
115
- nodeResolve({
116
- extensions: ['.cjs', '.mjs', '.js', '.ts'],
117
- }),
118
- commonjs(),
119
- esbuild({
120
- logLevel: 'verbose',
121
- sourceMap: false,
122
- target: ['esnext'],
123
- }),
124
- vue({
125
- isProduction: false,
126
- }),
127
- vueJsx({}),
128
- dts({
129
- outDir: [outDir],
130
- }),
131
- ],
132
- }),
133
- opts,
134
- );
135
- }
@@ -1,57 +0,0 @@
1
- import * as chokidar from 'chokidar';
2
- import { CopyWatch } from '../../util';
3
-
4
- /**
5
- * 文件拷贝插件配置参数
6
- *
7
- * @export
8
- * @interface CopyFilePluginOptions
9
- */
10
- export interface CopyFilePluginOptions {
11
- /**
12
- * 源文件
13
- *
14
- * @type {string}
15
- * @memberof CopyFilePluginOptions
16
- */
17
- from: string;
18
- /**
19
- * 目标文件
20
- *
21
- * @type {string}
22
- * @memberof CopyFilePluginOptions
23
- */
24
- to: string;
25
- /**
26
- * chokidar watch 配置
27
- *
28
- * @type {chokidar.ChokidarOptions}
29
- */
30
- opts?: chokidar.ChokidarOptions;
31
- }
32
-
33
- /**
34
- * 文件拷贝插件,在开发模式下会监控文件变更,并自动拷贝文件
35
- *
36
- * @export
37
- * @param {CopyFilePluginOptions[]} opts
38
- * @return {*} {Plugin}
39
- */
40
- export function copyFile(opts: CopyFilePluginOptions[]): void {
41
- if (opts.length === 0) {
42
- return;
43
- }
44
- const arr: CopyWatch[] = [];
45
- opts.forEach(opt => {
46
- arr.push(new CopyWatch(opt.from, opt.to, opt.opts));
47
- });
48
-
49
- process.on('exit', () => {
50
- if (!opts.length) {
51
- return;
52
- }
53
- arr.forEach(item => {
54
- item.unwatch();
55
- });
56
- });
57
- }
@@ -1,25 +0,0 @@
1
- import { Plugin } from 'rollup';
2
-
3
- /**
4
- * 忽略编译的文件类型
5
- *
6
- * @export
7
- * @returns {*} {Plugin}
8
- */
9
- export function ignoreCompilerFile(extReg: RegExp): Plugin {
10
- return {
11
- name: 'gct:ignore-compiler-file',
12
- resolveId(source) {
13
- if (extReg.test(source)) {
14
- return {
15
- id: source,
16
- external: true,
17
- };
18
- }
19
- return null;
20
- },
21
- load() {
22
- return null;
23
- },
24
- };
25
- }
@@ -1,28 +0,0 @@
1
- import { merge } from 'lodash-es';
2
- import { Config } from 'stylelint';
3
-
4
- /**
5
- * 基于基础规则,定义 stylelint 配置
6
- *
7
- * @export
8
- * @param {Config} config
9
- * @returns {*} {Config}
10
- */
11
- export function defineStylelintConfig(config: Config = {}): Config {
12
- return merge(
13
- {
14
- extends: ['stylelint-config-standard', 'stylelint-config-standard-scss'],
15
- rules: {
16
- 'annotation-no-unknown': null,
17
- 'color-no-invalid-hex': true,
18
- 'function-name-case': null, // 强制样式方法名称小写或大写
19
- 'no-duplicate-selectors': null,
20
- 'selector-class-pattern': null,
21
- 'scss/dollar-variable-pattern': null,
22
- 'scss/at-function-pattern': null,
23
- 'scss/dollar-variable-empty-line-before': null, // 变量声明之间不可以有空白行
24
- },
25
- },
26
- config,
27
- );
28
- }
@@ -1 +0,0 @@
1
- export { defineViteConfig } from './vite-config/vite-config';
@@ -1,59 +0,0 @@
1
- import { defineConfig, mergeConfig, UserConfig } from 'vite';
2
- import vue from '@vitejs/plugin-vue';
3
- import vueJsx from '@vitejs/plugin-vue-jsx';
4
- import { babel } from '@rollup/plugin-babel';
5
- import path from 'path';
6
- import * as rf from 'rimraf';
7
-
8
- /**
9
- * 构建 vite 通用配置,基于此配置构建其他 vite 配置
10
- *
11
- * @export
12
- * @param {UserConfig} [opts={}]
13
- * @returns {*} {UserConfig}
14
- */
15
- export function defineViteConfig(opts: UserConfig = {}): UserConfig {
16
- // 当前脚本执行的工作目录
17
- const cwd = process.cwd();
18
- // 编译文件输出目录
19
- const outDir = path.resolve(cwd, 'dist');
20
- // 删除历史编译文件
21
- rf.sync(outDir);
22
-
23
- return mergeConfig(
24
- defineConfig({
25
- build: {
26
- outDir,
27
- lib: {
28
- entry: path.resolve(cwd, 'src/index.ts'),
29
- formats: ['system', 'cjs'],
30
- },
31
- },
32
- plugins: [
33
- vue(),
34
- vueJsx(),
35
- babel({
36
- babelHelpers: 'bundled',
37
- presets: [
38
- [
39
- '@babel/preset-env',
40
- {
41
- useBuiltIns: 'usage',
42
- corejs: 3,
43
- bugfixes: true,
44
- babelHelpers: 'bundled',
45
- targets: {
46
- chrome: '>=85',
47
- edge: '>=85',
48
- firefox: '>=79',
49
- safari: '>=14.1',
50
- },
51
- },
52
- ],
53
- ],
54
- }),
55
- ],
56
- }),
57
- opts,
58
- );
59
- }
package/src/index.ts DELETED
@@ -1,36 +0,0 @@
1
- import { program } from 'commander';
2
- import { CommandLoader } from './commands';
3
- import { loadLocalBinCommandLoader, localBinExists } from './utils';
4
- import pkg from '../package.json' with { type: 'json' };
5
-
6
- export async function bootstrap(): Promise<void> {
7
- // 监控 ctrl + c 停止进程,触发 exit 事件
8
- process.on('SIGINT', () => {
9
- process.exit();
10
- });
11
- // 初始化命令行
12
- program
13
- .version(pkg.version, '-v, --version', '查看当前版本')
14
- .usage('<command> [options]')
15
- .helpOption('-h, --help', '获取帮助信息')
16
- .configureOutput({
17
- // Visibly override write routines as example!
18
- writeErr: str => process.stdout.write(`[ERR] ${str}`),
19
- // Highlight errors in color.
20
- outputError: (str, write) => write(`\x1b[31m${str}\x1b[0m`),
21
- });
22
-
23
- if (localBinExists()) {
24
- const localCommandLoader = loadLocalBinCommandLoader();
25
- localCommandLoader.load(program);
26
- } else {
27
- CommandLoader.load(program);
28
- }
29
- program.parse(process.argv);
30
-
31
- if (!process.argv.slice(2).length) {
32
- program.outputHelp();
33
- }
34
- }
35
-
36
- export * from './core';
@@ -1,29 +0,0 @@
1
- import { Command } from 'commander';
2
-
3
- /**
4
- * 命令项
5
- *
6
- * @author chitanda
7
- * @date 2021-12-18 15:12:13
8
- * @export
9
- * @interface ICommand
10
- */
11
- export interface ICommand {
12
- /**
13
- * 加载命令
14
- *
15
- * @author chitanda
16
- * @date 2021-12-18 15:12:22
17
- * @param {Command} program
18
- */
19
- load(program: Command): void;
20
- /**
21
- * 执行行为
22
- *
23
- * @author chitanda
24
- * @date 2021-12-21 16:12:22
25
- * @param {...unknown[]} args
26
- * @return {*} {(void | Promise<void>)}
27
- */
28
- action(...args: unknown[]): void | Promise<void>;
29
- }
@@ -1,4 +0,0 @@
1
- export {
2
- localBinExists,
3
- loadLocalBinCommandLoader,
4
- } from './local-binaries/local-binaries';
@@ -1,16 +0,0 @@
1
- import { join, posix } from 'path';
2
- import fs from 'fs-extra';
3
- import { CommandLoader } from '../../commands/index';
4
-
5
- const localBinPathSegments = [process.cwd(), 'node_modules', '@nestjs', 'cli'];
6
-
7
- export function localBinExists(): boolean {
8
- return fs.existsSync(join(...localBinPathSegments));
9
- }
10
-
11
- export function loadLocalBinCommandLoader(): typeof CommandLoader {
12
- const path = posix.join(...localBinPathSegments, 'commands');
13
- // eslint-disable-next-line @typescript-eslint/no-require-imports
14
- const commandsFile = require(path);
15
- return commandsFile.CommandLoader;
16
- }
File without changes
File without changes