@icebreakers/monorepo 0.5.7 → 0.6.1

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.
@@ -51,7 +51,7 @@
51
51
  "ci-info": "^4.0.0",
52
52
  "cross-env": "^7.0.3",
53
53
  "defu": "^6.1.4",
54
- "eslint": "^9.11.1",
54
+ "eslint": "^9.12.0",
55
55
  "execa": "^9.4.0",
56
56
  "fs-extra": "^11.2.0",
57
57
  "husky": "^9.1.6",
@@ -2,5 +2,7 @@
2
2
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
3
  "extends": [
4
4
  "config:recommended"
5
- ]
5
+ ],
6
+ // https://answers.netlify.com/t/how-to-prevent-deploy-previews-for-renovate-prs/44131/3
7
+ "commitBody": "[skip netlify]"
6
8
  }
@@ -13,7 +13,7 @@ import set from "set-value";
13
13
 
14
14
  // package.json
15
15
  var name = "@icebreakers/monorepo";
16
- var version = "0.5.7";
16
+ var version = "0.6.1";
17
17
 
18
18
  // src/logger.ts
19
19
  import { createConsola } from "consola";
@@ -96,7 +96,7 @@ var scripts = {
96
96
  var scriptsEntries = Object.entries(scripts);
97
97
 
98
98
  // src/targets.ts
99
- function getTargets(raw) {
99
+ function getAssetTargets(raw) {
100
100
  const list = [
101
101
  ".changeset",
102
102
  ".husky",
@@ -147,6 +147,7 @@ var queue = new PQueue({ concurrency: 1 });
147
147
  var __filename2 = fileURLToPath(import.meta.url);
148
148
  var __dirname2 = path.dirname(__filename2);
149
149
  var assetsDir = path.join(__dirname2, "../assets");
150
+ var templatesDir = path.join(__dirname2, "../templates");
150
151
  var cwd = process.cwd();
151
152
  function setPkgJson(sourcePkgJson, targetPkgJson) {
152
153
  const packageManager = get2(sourcePkgJson, "packageManager", { default: "" });
@@ -177,7 +178,7 @@ async function main(opts) {
177
178
  baseDir: cwd
178
179
  });
179
180
  const repoName = await gitClient.getRepoName();
180
- let targets = getTargets(raw);
181
+ let targets = getAssetTargets(raw);
181
182
  if (interactive) {
182
183
  targets = await checkbox({
183
184
  message: "\u9009\u62E9\u4F60\u9700\u8981\u7684\u6587\u4EF6",
@@ -248,6 +249,12 @@ async function main(opts) {
248
249
  });
249
250
  }
250
251
  }
252
+ async function createNewProject(name2) {
253
+ const defaultTemplate = "bar";
254
+ const targetTemplate = name2 ?? defaultTemplate;
255
+ await fs.copy(path.join(templatesDir, defaultTemplate), path.join(cwd, targetTemplate));
256
+ logger.success(`${targetTemplate} \u9879\u76EE\u521B\u5EFA\u6210\u529F\uFF01`);
257
+ }
251
258
 
252
259
  export {
253
260
  name,
@@ -255,5 +262,6 @@ export {
255
262
  logger,
256
263
  GitClient,
257
264
  setPkgJson,
258
- main
265
+ main,
266
+ createNewProject
259
267
  };
package/dist/cli.cjs CHANGED
@@ -22,7 +22,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
 
25
- // ../../node_modules/.pnpm/tsup@8.3.0_jiti@2.1.2_postcss@8.4.47_tsx@4.19.1_typescript@5.6.2_yaml@2.5.1/node_modules/tsup/assets/cjs_shims.js
25
+ // ../../node_modules/.pnpm/tsup@8.3.0_jiti@2.3.1_postcss@8.4.47_tsx@4.19.1_typescript@5.6.2_yaml@2.5.1/node_modules/tsup/assets/cjs_shims.js
26
26
  var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
27
27
  var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
28
28
 
@@ -32,7 +32,7 @@ var import_commander = require("commander");
32
32
 
33
33
  // package.json
34
34
  var name = "@icebreakers/monorepo";
35
- var version = "0.5.7";
35
+ var version = "0.6.1";
36
36
 
37
37
  // src/lib.ts
38
38
  var import_node_process = __toESM(require("process"), 1);
@@ -128,7 +128,7 @@ var scripts = {
128
128
  var scriptsEntries = Object.entries(scripts);
129
129
 
130
130
  // src/targets.ts
131
- function getTargets(raw) {
131
+ function getAssetTargets(raw) {
132
132
  const list = [
133
133
  ".changeset",
134
134
  ".husky",
@@ -179,6 +179,7 @@ var queue = new import_p_queue.default({ concurrency: 1 });
179
179
  var __filename2 = (0, import_node_url.fileURLToPath)(importMetaUrl);
180
180
  var __dirname = import_pathe.default.dirname(__filename2);
181
181
  var assetsDir = import_pathe.default.join(__dirname, "../assets");
182
+ var templatesDir = import_pathe.default.join(__dirname, "../templates");
182
183
  var cwd = import_node_process.default.cwd();
183
184
  function setPkgJson(sourcePkgJson, targetPkgJson) {
184
185
  const packageManager = (0, import_get_value2.default)(sourcePkgJson, "packageManager", { default: "" });
@@ -209,7 +210,7 @@ async function main(opts) {
209
210
  baseDir: cwd
210
211
  });
211
212
  const repoName = await gitClient.getRepoName();
212
- let targets = getTargets(raw);
213
+ let targets = getAssetTargets(raw);
213
214
  if (interactive) {
214
215
  targets = await (0, import_checkbox.default)({
215
216
  message: "\u9009\u62E9\u4F60\u9700\u8981\u7684\u6587\u4EF6",
@@ -280,6 +281,12 @@ async function main(opts) {
280
281
  });
281
282
  }
282
283
  }
284
+ async function createNewProject(name2) {
285
+ const defaultTemplate = "bar";
286
+ const targetTemplate = name2 ?? defaultTemplate;
287
+ await import_fs_extra.default.copy(import_pathe.default.join(templatesDir, defaultTemplate), import_pathe.default.join(cwd, targetTemplate));
288
+ logger.success(`${targetTemplate} \u9879\u76EE\u521B\u5EFA\u6210\u529F\uFF01`);
289
+ }
283
290
 
284
291
  // src/monorepo/binaryMirror.ts
285
292
  var import_comment_json = require("comment-json");
@@ -508,6 +515,10 @@ import_commander.program.command("mirror").action(async () => {
508
515
  await setVscodeBinaryMirror(cwd2);
509
516
  logger.success("set vscode binary mirror finished!");
510
517
  });
518
+ import_commander.program.command("new").argument("[name]").action(async (targetPath) => {
519
+ await createNewProject(targetPath);
520
+ logger.success("create a package");
521
+ });
511
522
  var program_default = import_commander.program;
512
523
 
513
524
  // src/cli.ts
package/dist/cli.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  GitClient,
3
+ createNewProject,
3
4
  logger,
4
5
  main,
5
6
  name,
6
7
  version
7
- } from "./chunk-6KK2M2JP.js";
8
+ } from "./chunk-R6F2U4ML.js";
8
9
 
9
10
  // src/program.ts
10
11
  import process from "node:process";
@@ -237,6 +238,10 @@ program.command("mirror").action(async () => {
237
238
  await setVscodeBinaryMirror(cwd);
238
239
  logger.success("set vscode binary mirror finished!");
239
240
  });
241
+ program.command("new").argument("[name]").action(async (targetPath) => {
242
+ await createNewProject(targetPath);
243
+ logger.success("create a package");
244
+ });
240
245
  var program_default = program;
241
246
 
242
247
  // src/cli.ts
package/dist/index.cjs CHANGED
@@ -30,12 +30,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
+ createNewProject: () => createNewProject,
33
34
  main: () => main,
34
35
  setPkgJson: () => setPkgJson
35
36
  });
36
37
  module.exports = __toCommonJS(src_exports);
37
38
 
38
- // ../../node_modules/.pnpm/tsup@8.3.0_jiti@2.1.2_postcss@8.4.47_tsx@4.19.1_typescript@5.6.2_yaml@2.5.1/node_modules/tsup/assets/cjs_shims.js
39
+ // ../../node_modules/.pnpm/tsup@8.3.0_jiti@2.3.1_postcss@8.4.47_tsx@4.19.1_typescript@5.6.2_yaml@2.5.1/node_modules/tsup/assets/cjs_shims.js
39
40
  var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
40
41
  var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
41
42
 
@@ -53,7 +54,7 @@ var import_picocolors = __toESM(require("picocolors"), 1);
53
54
  var import_set_value = __toESM(require("set-value"), 1);
54
55
 
55
56
  // package.json
56
- var version = "0.5.7";
57
+ var version = "0.6.1";
57
58
 
58
59
  // src/logger.ts
59
60
  var import_consola = require("consola");
@@ -136,7 +137,7 @@ var scripts = {
136
137
  var scriptsEntries = Object.entries(scripts);
137
138
 
138
139
  // src/targets.ts
139
- function getTargets(raw) {
140
+ function getAssetTargets(raw) {
140
141
  const list = [
141
142
  ".changeset",
142
143
  ".husky",
@@ -187,6 +188,7 @@ var queue = new import_p_queue.default({ concurrency: 1 });
187
188
  var __filename2 = (0, import_node_url.fileURLToPath)(importMetaUrl);
188
189
  var __dirname = import_pathe.default.dirname(__filename2);
189
190
  var assetsDir = import_pathe.default.join(__dirname, "../assets");
191
+ var templatesDir = import_pathe.default.join(__dirname, "../templates");
190
192
  var cwd = import_node_process.default.cwd();
191
193
  function setPkgJson(sourcePkgJson, targetPkgJson) {
192
194
  const packageManager = (0, import_get_value2.default)(sourcePkgJson, "packageManager", { default: "" });
@@ -217,7 +219,7 @@ async function main(opts) {
217
219
  baseDir: cwd
218
220
  });
219
221
  const repoName = await gitClient.getRepoName();
220
- let targets = getTargets(raw);
222
+ let targets = getAssetTargets(raw);
221
223
  if (interactive) {
222
224
  targets = await (0, import_checkbox.default)({
223
225
  message: "\u9009\u62E9\u4F60\u9700\u8981\u7684\u6587\u4EF6",
@@ -288,8 +290,15 @@ async function main(opts) {
288
290
  });
289
291
  }
290
292
  }
293
+ async function createNewProject(name) {
294
+ const defaultTemplate = "bar";
295
+ const targetTemplate = name ?? defaultTemplate;
296
+ await import_fs_extra.default.copy(import_pathe.default.join(templatesDir, defaultTemplate), import_pathe.default.join(cwd, targetTemplate));
297
+ logger.success(`${targetTemplate} \u9879\u76EE\u521B\u5EFA\u6210\u529F\uFF01`);
298
+ }
291
299
  // Annotate the CommonJS export names for ESM import in node:
292
300
  0 && (module.exports = {
301
+ createNewProject,
293
302
  main,
294
303
  setPkgJson
295
304
  });
package/dist/index.d.cts CHANGED
@@ -8,5 +8,6 @@ interface CliOpts {
8
8
 
9
9
  declare function setPkgJson(sourcePkgJson: PackageJson, targetPkgJson: PackageJson): void;
10
10
  declare function main(opts: CliOpts): Promise<void>;
11
+ declare function createNewProject(name?: string): Promise<void>;
11
12
 
12
- export { main, setPkgJson };
13
+ export { createNewProject, main, setPkgJson };
package/dist/index.d.ts CHANGED
@@ -8,5 +8,6 @@ interface CliOpts {
8
8
 
9
9
  declare function setPkgJson(sourcePkgJson: PackageJson, targetPkgJson: PackageJson): void;
10
10
  declare function main(opts: CliOpts): Promise<void>;
11
+ declare function createNewProject(name?: string): Promise<void>;
11
12
 
12
- export { main, setPkgJson };
13
+ export { createNewProject, main, setPkgJson };
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import {
2
+ createNewProject,
2
3
  main,
3
4
  setPkgJson
4
- } from "./chunk-6KK2M2JP.js";
5
+ } from "./chunk-R6F2U4ML.js";
5
6
  export {
7
+ createNewProject,
6
8
  main,
7
9
  setPkgJson
8
10
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@icebreakers/monorepo",
3
3
  "type": "module",
4
- "version": "0.5.7",
4
+ "version": "0.6.1",
5
5
  "description": "icebreaker's monorepo config generator",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -30,11 +30,12 @@
30
30
  "files": [
31
31
  "assets",
32
32
  "bin",
33
- "dist"
33
+ "dist",
34
+ "templates"
34
35
  ],
35
36
  "dependencies": {
36
- "@inquirer/checkbox": "^3.0.1",
37
- "@inquirer/confirm": "^4.0.1",
37
+ "@inquirer/checkbox": "^4.0.0",
38
+ "@inquirer/confirm": "^5.0.0",
38
39
  "@pnpm/logger": "^5.2.0",
39
40
  "@pnpm/types": "^12.2.0",
40
41
  "@pnpm/workspace.find-packages": "^4.0.11",
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@icebreakers/bar",
3
+ "type": "module",
4
+ "version": "0.1.2",
5
+ "description": "tsup(esbuild) build package template",
6
+ "author": "ice breaker <1324318532@qq.com>",
7
+ "license": "MIT",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/sonofmagic/monorepo-template.git",
11
+ "directory": "packages/bar"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/sonofmagic/monorepo-template/issues"
15
+ },
16
+ "keywords": [],
17
+ "sideEffects": false,
18
+ "exports": {
19
+ ".": "./src/index.ts"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "scripts": {
25
+ "dev": "tsup --watch --sourcemap",
26
+ "build": "tsup",
27
+ "test": "vitest run",
28
+ "test:dev": "vitest",
29
+ "release": "pnpm publish",
30
+ "lint": "eslint .",
31
+ "lint:fix": "eslint . --fix"
32
+ },
33
+ "publishConfig": {
34
+ "exports": {
35
+ ".": {
36
+ "types": "./dist/index.d.ts",
37
+ "import": "./dist/index.js",
38
+ "require": "./dist/index.cjs"
39
+ }
40
+ },
41
+ "main": "./dist/index.cjs",
42
+ "module": "./dist/index.js",
43
+ "types": "./dist/index.d.ts"
44
+ }
45
+ }
@@ -0,0 +1,17 @@
1
+ export function bar() {
2
+ return 'foo'
3
+ }
4
+ // import __cjs_url__ from 'url';
5
+ // import __cjs_path__ from 'path';
6
+ // import __cjs_mod__ from 'module';
7
+ // const __filename = __cjs_url__.fileURLToPath(import.meta.url);
8
+ // const __dirname = __cjs_path__.dirname(__filename);
9
+ // const require = __cjs_mod__.createRequire(import.meta.url);
10
+ export function getDirname() {
11
+ return __dirname
12
+ }
13
+
14
+ export enum xx {
15
+ id,
16
+ dd,
17
+ }
@@ -0,0 +1,7 @@
1
+ import { bar } from '@/index'
2
+
3
+ describe('index', () => {
4
+ it('foo bar', () => {
5
+ expect(bar()).toBe('foo')
6
+ })
7
+ })
@@ -0,0 +1,15 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "paths": {
6
+ "@/*": [
7
+ "src/*"
8
+ ]
9
+ }
10
+ },
11
+ "include": [
12
+ "src",
13
+ "test"
14
+ ]
15
+ }
@@ -0,0 +1,13 @@
1
+ import { defineConfig } from 'tsup'
2
+
3
+ export default defineConfig({
4
+ entry: ['src/index.ts'], // , 'src/cli.ts'],
5
+ shims: true,
6
+ format: ['cjs', 'esm'],
7
+ clean: true,
8
+ dts: true,
9
+ // https://github.com/egoist/tsup/pull/1056
10
+ // https://github.com/egoist/tsup/issues?q=cjsInterop
11
+ // cjsInterop: true,
12
+ // splitting: true,
13
+ })
@@ -0,0 +1,15 @@
1
+ import path from 'node:path'
2
+ import { defineProject } from 'vitest/config'
3
+
4
+ export default defineProject({
5
+ test: {
6
+ alias: [
7
+ {
8
+ find: '@',
9
+ replacement: path.resolve(__dirname, './src'),
10
+ },
11
+ ],
12
+ globals: true,
13
+ testTimeout: 60_000,
14
+ },
15
+ })