publish-flat 1.7.0 → 1.8.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.
Files changed (42) hide show
  1. package/README.md +13 -2
  2. package/{PublishFlat.js → dist/cjs/PublishFlat.js} +21 -28
  3. package/dist/cjs/PublishFlat.js.map +1 -0
  4. package/dist/cjs/cli-copy.js +25 -0
  5. package/dist/cjs/cli-copy.js.map +1 -0
  6. package/{cli.js → dist/cjs/cli.js} +6 -17
  7. package/dist/cjs/cli.js.map +1 -0
  8. package/{copyJson.js → dist/cjs/copyJson.js} +10 -17
  9. package/dist/cjs/copyJson.js.map +1 -0
  10. package/dist/cjs/index.d.ts +2 -0
  11. package/dist/cjs/index.js +3 -0
  12. package/dist/cjs/index.js.map +1 -0
  13. package/dist/cjs/package.json +3 -0
  14. package/dist/mjs/PublishFlat.d.ts +23 -0
  15. package/dist/mjs/PublishFlat.js +99 -0
  16. package/dist/mjs/PublishFlat.js.map +1 -0
  17. package/dist/mjs/cli-copy.d.ts +2 -0
  18. package/dist/mjs/cli-copy.js +25 -0
  19. package/dist/mjs/cli-copy.js.map +1 -0
  20. package/dist/mjs/cli.d.ts +2 -0
  21. package/dist/mjs/cli.js +37 -0
  22. package/dist/mjs/cli.js.map +1 -0
  23. package/dist/mjs/copyJson.d.ts +4 -0
  24. package/dist/mjs/copyJson.js +40 -0
  25. package/dist/mjs/copyJson.js.map +1 -0
  26. package/dist/mjs/index.d.ts +2 -0
  27. package/dist/mjs/index.js +3 -0
  28. package/dist/mjs/index.js.map +1 -0
  29. package/dist/mjs/package.json +3 -0
  30. package/package.json +21 -34
  31. package/PublishFlat.js.map +0 -1
  32. package/cli-copy.js +0 -34
  33. package/cli-copy.js.map +0 -1
  34. package/cli.js.map +0 -1
  35. package/copyJson.js.map +0 -1
  36. package/index.d.ts +0 -2
  37. package/index.js +0 -19
  38. package/index.js.map +0 -1
  39. /package/{PublishFlat.d.ts → dist/cjs/PublishFlat.d.ts} +0 -0
  40. /package/{cli-copy.d.ts → dist/cjs/cli-copy.d.ts} +0 -0
  41. /package/{cli.d.ts → dist/cjs/cli.d.ts} +0 -0
  42. /package/{copyJson.d.ts → dist/cjs/copyJson.d.ts} +0 -0
package/README.md CHANGED
@@ -2,13 +2,24 @@
2
2
 
3
3
  Publish your project flattened. No more `dist` in `require('project/dist/Options')`.
4
4
 
5
+ ## Prerequisites
6
+
7
+ - [Node.js](https://nodejs.org) >= 14
8
+ - npm (preinstalled) or [yarn](https://classic.yarnpkg.com)
9
+
10
+ ## Installation
11
+
12
+ ℹ️ This is a hybrid [CommonJS](https://nodejs.org/docs/latest/api/modules.html#modules-commonjs-modules) / [ESM](https://nodejs.org/api/esm.html#introduction) module.
13
+
14
+ Run `yarn add publish-flat` or `npm i publish-flat`.
15
+
5
16
  ## Description
6
17
 
7
18
  Here is what it does:
8
19
 
9
20
  1. Copies your dist files together with the other release files into a temporary directory
10
- 2. Aligns your `package.json` to work with the flattened structure
11
- 3. Publishes your project from the temporary directory (optional)
21
+ 1. Aligns your `package.json` to work with the flattened structure
22
+ 1. Publishes your project from the temporary directory (optional)
12
23
 
13
24
  ### Example
14
25
 
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,35 +7,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PublishFlat = void 0;
16
- const child_process_1 = require("child_process");
17
- const arborist_1 = __importDefault(require("@npmcli/arborist"));
18
- const fs_extra_1 = __importDefault(require("fs-extra"));
19
- const logdown_1 = __importDefault(require("logdown"));
20
- const npm_packlist_1 = __importDefault(require("npm-packlist"));
21
- const os_1 = __importDefault(require("os"));
22
- const path_1 = __importDefault(require("path"));
23
- class PublishFlat {
10
+ import { execSync } from 'node:child_process';
11
+ import Arborist from '@npmcli/arborist';
12
+ import fs from 'fs-extra';
13
+ import logdown from 'logdown';
14
+ import packlist from 'npm-packlist';
15
+ import os from 'node:os';
16
+ import path from 'node:path';
17
+ export class PublishFlat {
24
18
  constructor(options) {
25
19
  this.options = options;
26
- this.logger = (0, logdown_1.default)('publish-flat', {
20
+ this.logger = logdown('publish-flat', {
27
21
  logger: console,
28
22
  markdown: false,
29
23
  });
30
24
  this.logger.state.isEnabled = true;
31
- this.packageDir = path_1.default.resolve(this.options.packageDir);
25
+ this.packageDir = path.resolve(this.options.packageDir);
32
26
  this.dirToFlatten = this.cleanDirName(this.options.dirToFlatten);
33
27
  this.dirToFlattenRegex = new RegExp(`${this.dirToFlatten}[\\/]`);
34
28
  }
35
29
  build() {
36
30
  return __awaiter(this, void 0, void 0, function* () {
37
- const arborist = new arborist_1.default({ path: this.packageDir });
31
+ const arborist = new Arborist({ path: this.packageDir });
38
32
  const tree = yield arborist.loadActual();
39
- const files = yield (0, npm_packlist_1.default)(tree);
33
+ const files = yield packlist(tree);
40
34
  if (!files.length) {
41
35
  this.logger.info('No files to publish');
42
36
  return;
@@ -54,15 +48,15 @@ class PublishFlat {
54
48
  }
55
49
  return result;
56
50
  }, { filesInFlattenedDir: [], normalFiles: [] });
57
- const outputDir = this.options.outputDir ? path_1.default.resolve(this.options.outputDir) : yield this.createTempDir();
51
+ const outputDir = this.options.outputDir ? path.resolve(this.options.outputDir) : yield this.createTempDir();
58
52
  for (const file of normalFiles) {
59
- yield fs_extra_1.default.copy(path_1.default.join(this.packageDir, file), path_1.default.join(outputDir, file));
53
+ yield fs.copy(path.join(this.packageDir, file), path.join(outputDir, file));
60
54
  }
61
55
  for (const { fileName, replacedFilename } of filesInFlattenedDir) {
62
- yield fs_extra_1.default.copy(path_1.default.join(this.packageDir, fileName), path_1.default.join(outputDir, replacedFilename));
56
+ yield fs.copy(path.join(this.packageDir, fileName), path.join(outputDir, replacedFilename));
63
57
  }
64
58
  this.logger.info(`Flattened ${files.length} files in "${outputDir}".`);
65
- yield this.cleanPackageJson(path_1.default.join(outputDir, 'package.json'), filesInFlattenedDir);
59
+ yield this.cleanPackageJson(path.join(outputDir, 'package.json'), filesInFlattenedDir);
66
60
  return outputDir;
67
61
  });
68
62
  }
@@ -73,11 +67,11 @@ class PublishFlat {
73
67
  const args = ['publish', `"${tempDir}"`].concat(this.options.publishArguments || []);
74
68
  const command = `${executor} ${args.join(' ')}`;
75
69
  this.logger.info(`Running "${command}" ...`);
76
- const stdout = (0, child_process_1.execSync)(command).toString().trim();
70
+ const stdout = execSync(command).toString().trim();
77
71
  if (stdout) {
78
72
  this.logger.info(stdout);
79
73
  }
80
- yield fs_extra_1.default.remove(tempDir);
74
+ yield fs.remove(tempDir);
81
75
  });
82
76
  }
83
77
  cleanDirName(dirName) {
@@ -90,7 +84,7 @@ class PublishFlat {
90
84
  }
91
85
  cleanPackageJson(filePath, filesInFlattenedDir) {
92
86
  return __awaiter(this, void 0, void 0, function* () {
93
- const packageJson = yield fs_extra_1.default.readJSON(filePath);
87
+ const packageJson = yield fs.readJSON(filePath);
94
88
  if (Array.isArray(packageJson.files)) {
95
89
  packageJson.files = packageJson.files
96
90
  .map(fileName => fileName.replace(this.dirToFlattenRegex, ''))
@@ -110,12 +104,11 @@ class PublishFlat {
110
104
  packageJson.main = packageJson.main.replace(this.dirToFlattenRegex, '');
111
105
  }
112
106
  const packageJsonString = `${JSON.stringify(packageJson, null, 2)}\n`;
113
- yield fs_extra_1.default.writeFile(filePath, packageJsonString, 'utf-8');
107
+ yield fs.writeFile(filePath, packageJsonString, 'utf-8');
114
108
  });
115
109
  }
116
110
  createTempDir() {
117
- return fs_extra_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'publish-flat-'));
111
+ return fs.mkdtemp(path.join(os.tmpdir(), 'publish-flat-'));
118
112
  }
119
113
  }
120
- exports.PublishFlat = PublishFlat;
121
114
  //# sourceMappingURL=PublishFlat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishFlat.js","sourceRoot":"","sources":["../../src/PublishFlat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { createRequire } from 'node:module';
4
+ const require = createRequire(import.meta.url);
5
+ import { copyJson } from './copyJson.js';
6
+ const { bin, version } = require('../package.json');
7
+ const name = Object.keys(bin)[1];
8
+ commander
9
+ .name(name)
10
+ .version(version)
11
+ .description(`Copy entries from one JSON file to the other (example: "${name} version")`)
12
+ .option('-i, --input <file>', 'Set the input JSON file', './package.json')
13
+ .option('-o, --output <file>', 'Set the output JSON file', '../package.json')
14
+ .parse(process.argv);
15
+ const values = commander.args;
16
+ const commanderOptions = commander.opts();
17
+ if (!values.length) {
18
+ console.error('No values to copy');
19
+ commander.help();
20
+ }
21
+ copyJson(commanderOptions.input, commanderOptions.output, values).catch(error => {
22
+ console.error(error);
23
+ process.exit(1);
24
+ });
25
+ //# sourceMappingURL=cli-copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-copy.js","sourceRoot":"","sources":["../../src/cli-copy.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAOvC,MAAM,EAAC,GAAG,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,SAAS;KACN,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2DAA2D,IAAI,YAAY,CAAC;KACxF,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,gBAAgB,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,iBAAiB,CAAC;KAC5E,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9B,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,CAAC;CAClB;AAED,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,20 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
10
9
  });
11
10
  };
12
- var __importDefault = (this && this.__importDefault) || function (mod) {
13
- return (mod && mod.__esModule) ? mod : { "default": mod };
14
- };
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- const commander_1 = require("commander");
17
- const fs_extra_1 = __importDefault(require("fs-extra"));
18
- const path_1 = __importDefault(require("path"));
19
- const PublishFlat_1 = require("./PublishFlat");
20
- const defaultPackageJsonPath = path_1.default.join(__dirname, 'package.json');
21
- const packageJsonPath = fs_extra_1.default.existsSync(defaultPackageJsonPath)
22
- ? defaultPackageJsonPath
23
- : path_1.default.join(__dirname, '../package.json');
24
- const { bin, description, version } = fs_extra_1.default.readJSONSync(packageJsonPath);
25
- commander_1.program
11
+ import { program as commander } from 'commander';
12
+ import { PublishFlat } from './PublishFlat.js';
13
+ const { bin, description, version } = require('../package.json');
14
+ commander
26
15
  .name(Object.keys(bin)[0])
27
16
  .version(version)
28
17
  .description(description)
@@ -33,8 +22,8 @@ commander_1.program
33
22
  .arguments('[dir]')
34
23
  .allowUnknownOption()
35
24
  .parse(process.argv);
36
- const commanderOptions = commander_1.program.opts();
37
- const flatPublisher = new PublishFlat_1.PublishFlat({
25
+ const commanderOptions = commander.opts();
26
+ const flatPublisher = new PublishFlat({
38
27
  dirToFlatten: commanderOptions.flatten,
39
28
  outputDir: commanderOptions.output,
40
29
  packageDir: commanderOptions.dir || '.',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAQ7C,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,SAAS;KACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,WAAW,CAAC;KACxB,MAAM,CAAC,YAAY,EAAE,0CAA0C,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,oBAAoB,EAAE,oDAAoD,CAAC;KAClF,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;KACnD,SAAS,CAAC,OAAO,CAAC;KAClB,kBAAkB,EAAE;KACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC;IACpC,YAAY,EAAE,gBAAgB,CAAC,OAAO;IACtC,SAAS,EAAE,gBAAgB,CAAC,MAAM;IAClC,UAAU,EAAE,gBAAgB,CAAC,GAAG,IAAI,GAAG;IACvC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;IACvC,OAAO,EAAE,gBAAgB,CAAC,IAAI,IAAI,KAAK;CACxC,CAAC,CAAC;AAEH,KAAK,CAAC,GAAS,EAAE;IACf,IAAI;QACF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE;YACzC,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACxC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,34 +7,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.copyJson = void 0;
16
- const fs_extra_1 = __importDefault(require("fs-extra"));
17
- const path_1 = __importDefault(require("path"));
10
+ import fs from 'fs-extra';
11
+ import path from 'node:path';
18
12
  function checkFile(filePath) {
19
13
  return __awaiter(this, void 0, void 0, function* () {
20
14
  try {
21
- yield fs_extra_1.default.access(filePath, fs_extra_1.default.constants.F_OK | fs_extra_1.default.constants.R_OK);
15
+ yield fs.access(filePath, fs.constants.F_OK | fs.constants.R_OK);
22
16
  }
23
17
  catch (error) {
24
18
  throw new Error(`Input file "${filePath} doesn't exist or is not readable.`);
25
19
  }
26
20
  });
27
21
  }
28
- function copyJson(inputFile, outputFile, values) {
22
+ export function copyJson(inputFile, outputFile, values) {
29
23
  return __awaiter(this, void 0, void 0, function* () {
30
24
  if (!values.length) {
31
25
  return;
32
26
  }
33
- const inputResolved = path_1.default.resolve(inputFile);
34
- const outputResolved = path_1.default.resolve(outputFile);
27
+ const inputResolved = path.resolve(inputFile);
28
+ const outputResolved = path.resolve(outputFile);
35
29
  yield checkFile(inputResolved);
36
- yield fs_extra_1.default.ensureFile(outputResolved);
37
- const originalJSON = yield fs_extra_1.default.readJSON(inputResolved);
38
- let newJSONRaw = yield fs_extra_1.default.readFile(outputResolved, 'utf-8');
30
+ yield fs.ensureFile(outputResolved);
31
+ const originalJSON = yield fs.readJSON(inputResolved);
32
+ let newJSONRaw = yield fs.readFile(outputResolved, 'utf-8');
39
33
  let spaces = 2;
40
34
  if (!newJSONRaw) {
41
35
  console.info('New JSON file has no content.');
@@ -53,8 +47,7 @@ function copyJson(inputFile, outputFile, values) {
53
47
  newJSON[value] = originalJSON[value];
54
48
  }
55
49
  }
56
- yield fs_extra_1.default.writeJSON(outputResolved, newJSON, { spaces });
50
+ yield fs.writeJSON(outputResolved, newJSON, { spaces });
57
51
  });
58
52
  }
59
- exports.copyJson = copyJson;
60
53
  //# sourceMappingURL=copyJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyJson.js","sourceRoot":"","sources":["../../src/copyJson.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,SAAe,SAAS,CAAC,QAAgB;;QACvC,IAAI;YACF,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAClE;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,oCAAoC,CAAC,CAAC;SAC9E;IACH,CAAC;CAAA;AAMD,MAAM,UAAgB,QAAQ,CAAC,SAAiB,EAAE,UAAkB,EAAE,MAAgB;;QACpF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,OAAO;SACR;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAEpC,MAAM,YAAY,GAAgB,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC;SACnB;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACjC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACvD,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBACjC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAChC;SACF;QAED,MAAM,OAAO,GAAgB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,KAAK,IAAI,YAAY,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;aACtC;SACF;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACxD,CAAC;CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './PublishFlat.js';
2
+ export * from './copyJson.js';
@@ -0,0 +1,3 @@
1
+ export * from './PublishFlat.js';
2
+ export * from './copyJson.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,23 @@
1
+ export interface PublishOptions {
2
+ /** Which directory to flatten (e.g. to move dist/main.js => main.js, use `dist`) */
3
+ dirToFlatten: string;
4
+ outputDir?: string;
5
+ packageDir: string;
6
+ /** Arguments to forward to npm or yarn */
7
+ publishArguments?: string[];
8
+ /** Use yarn for publishing */
9
+ useYarn?: boolean;
10
+ }
11
+ export declare class PublishFlat {
12
+ private readonly dirToFlatten;
13
+ private readonly dirToFlattenRegex;
14
+ private readonly logger;
15
+ private readonly options;
16
+ private readonly packageDir;
17
+ constructor(options: PublishOptions);
18
+ build(): Promise<string | void>;
19
+ publish(tempDir: string): Promise<void>;
20
+ private cleanDirName;
21
+ private cleanPackageJson;
22
+ private createTempDir;
23
+ }
@@ -0,0 +1,99 @@
1
+ import { execSync } from 'node:child_process';
2
+ import Arborist from '@npmcli/arborist';
3
+ import fs from 'fs-extra';
4
+ import logdown from 'logdown';
5
+ import packlist from 'npm-packlist';
6
+ import os from 'node:os';
7
+ import path from 'node:path';
8
+ export class PublishFlat {
9
+ constructor(options) {
10
+ this.options = options;
11
+ this.logger = logdown('publish-flat', {
12
+ logger: console,
13
+ markdown: false,
14
+ });
15
+ this.logger.state.isEnabled = true;
16
+ this.packageDir = path.resolve(this.options.packageDir);
17
+ this.dirToFlatten = this.cleanDirName(this.options.dirToFlatten);
18
+ this.dirToFlattenRegex = new RegExp(`${this.dirToFlatten}[\\/]`);
19
+ }
20
+ async build() {
21
+ const arborist = new Arborist({ path: this.packageDir });
22
+ const tree = await arborist.loadActual();
23
+ const files = await packlist(tree);
24
+ if (!files.length) {
25
+ this.logger.info('No files to publish');
26
+ return;
27
+ }
28
+ if (!files.includes('package.json')) {
29
+ throw new Error(`Files don't include a "package.json" file`);
30
+ }
31
+ const { normalFiles, filesInFlattenedDir } = files.reduce((result, fileName) => {
32
+ if (this.dirToFlattenRegex.test(fileName)) {
33
+ const replacedFilename = fileName.replace(this.dirToFlattenRegex, '');
34
+ result.filesInFlattenedDir.push({ fileName, replacedFilename });
35
+ }
36
+ else {
37
+ result.normalFiles.push(fileName);
38
+ }
39
+ return result;
40
+ }, { filesInFlattenedDir: [], normalFiles: [] });
41
+ const outputDir = this.options.outputDir ? path.resolve(this.options.outputDir) : await this.createTempDir();
42
+ for (const file of normalFiles) {
43
+ await fs.copy(path.join(this.packageDir, file), path.join(outputDir, file));
44
+ }
45
+ for (const { fileName, replacedFilename } of filesInFlattenedDir) {
46
+ await fs.copy(path.join(this.packageDir, fileName), path.join(outputDir, replacedFilename));
47
+ }
48
+ this.logger.info(`Flattened ${files.length} files in "${outputDir}".`);
49
+ await this.cleanPackageJson(path.join(outputDir, 'package.json'), filesInFlattenedDir);
50
+ return outputDir;
51
+ }
52
+ async publish(tempDir) {
53
+ this.logger.info(`Publishing "${this.packageDir}" ...`);
54
+ const executor = this.options.useYarn ? 'yarn' : 'npm';
55
+ const args = ['publish', `"${tempDir}"`].concat(this.options.publishArguments || []);
56
+ const command = `${executor} ${args.join(' ')}`;
57
+ this.logger.info(`Running "${command}" ...`);
58
+ const stdout = execSync(command).toString().trim();
59
+ if (stdout) {
60
+ this.logger.info(stdout);
61
+ }
62
+ await fs.remove(tempDir);
63
+ }
64
+ cleanDirName(dirName) {
65
+ const separatorRegex = new RegExp('[\\/]*([^\\/]+)[\\/]*', 'g');
66
+ const cleanName = dirName.trim().replace(separatorRegex, '$1');
67
+ if (!cleanName) {
68
+ throw new Error(`Invalid flatten dir "${dirName}" specified`);
69
+ }
70
+ return cleanName;
71
+ }
72
+ async cleanPackageJson(filePath, filesInFlattenedDir) {
73
+ const packageJson = await fs.readJSON(filePath);
74
+ if (Array.isArray(packageJson.files)) {
75
+ packageJson.files = packageJson.files
76
+ .map(fileName => fileName.replace(this.dirToFlattenRegex, ''))
77
+ .concat(filesInFlattenedDir.map(({ replacedFilename }) => replacedFilename))
78
+ .filter(fileName => fileName !== this.dirToFlatten)
79
+ .sort();
80
+ }
81
+ if (typeof packageJson.bin === 'string') {
82
+ packageJson.bin = packageJson.bin.replace(this.dirToFlattenRegex, '');
83
+ }
84
+ else if (typeof packageJson.bin === 'object') {
85
+ for (const binName in packageJson.bin) {
86
+ packageJson.bin[binName] = packageJson.bin[binName].replace(this.dirToFlattenRegex, '');
87
+ }
88
+ }
89
+ if (packageJson.main) {
90
+ packageJson.main = packageJson.main.replace(this.dirToFlattenRegex, '');
91
+ }
92
+ const packageJsonString = `${JSON.stringify(packageJson, null, 2)}\n`;
93
+ await fs.writeFile(filePath, packageJsonString, 'utf-8');
94
+ }
95
+ createTempDir() {
96
+ return fs.mkdtemp(path.join(os.tmpdir(), 'publish-flat-'));
97
+ }
98
+ }
99
+ //# sourceMappingURL=PublishFlat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublishFlat.js","sourceRoot":"","sources":["../../src/PublishFlat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { createRequire } from 'node:module';
4
+ const require = createRequire(import.meta.url);
5
+ import { copyJson } from './copyJson.js';
6
+ const { bin, version } = require('../package.json');
7
+ const name = Object.keys(bin)[1];
8
+ commander
9
+ .name(name)
10
+ .version(version)
11
+ .description(`Copy entries from one JSON file to the other (example: "${name} version")`)
12
+ .option('-i, --input <file>', 'Set the input JSON file', './package.json')
13
+ .option('-o, --output <file>', 'Set the output JSON file', '../package.json')
14
+ .parse(process.argv);
15
+ const values = commander.args;
16
+ const commanderOptions = commander.opts();
17
+ if (!values.length) {
18
+ console.error('No values to copy');
19
+ commander.help();
20
+ }
21
+ copyJson(commanderOptions.input, commanderOptions.output, values).catch(error => {
22
+ console.error(error);
23
+ process.exit(1);
24
+ });
25
+ //# sourceMappingURL=cli-copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-copy.js","sourceRoot":"","sources":["../../src/cli-copy.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAOvC,MAAM,EAAC,GAAG,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,SAAS;KACN,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2DAA2D,IAAI,YAAY,CAAC;KACxF,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,gBAAgB,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,iBAAiB,CAAC;KAC5E,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;AAC9B,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,CAAC;CAClB;AAED,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env node
2
+ import { program as commander } from 'commander';
3
+ import { PublishFlat } from './PublishFlat.js';
4
+ const { bin, description, version } = require('../package.json');
5
+ commander
6
+ .name(Object.keys(bin)[0])
7
+ .version(version)
8
+ .description(description)
9
+ .option('-y, --yarn', 'Use yarn for publishing (default: false)')
10
+ .option('-f, --flatten <dir>', 'Which directory to flatten', 'dist')
11
+ .option('-o, --output <dir>', 'Set the output directory (default: temp directory)')
12
+ .option('-p, --publish', 'Publish (default: false)')
13
+ .arguments('[dir]')
14
+ .allowUnknownOption()
15
+ .parse(process.argv);
16
+ const commanderOptions = commander.opts();
17
+ const flatPublisher = new PublishFlat({
18
+ dirToFlatten: commanderOptions.flatten,
19
+ outputDir: commanderOptions.output,
20
+ packageDir: commanderOptions.dir || '.',
21
+ publishArguments: commanderOptions.args,
22
+ useYarn: commanderOptions.yarn || false,
23
+ });
24
+ void (async () => {
25
+ try {
26
+ const outputDir = await flatPublisher.build();
27
+ if (commanderOptions.publish && outputDir) {
28
+ await flatPublisher.publish(outputDir);
29
+ }
30
+ process.exit();
31
+ }
32
+ catch (error) {
33
+ console.error(error);
34
+ process.exit(1);
35
+ }
36
+ })();
37
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAQ7C,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAgB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5E,SAAS;KACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,WAAW,CAAC;KACxB,MAAM,CAAC,YAAY,EAAE,0CAA0C,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,oBAAoB,EAAE,oDAAoD,CAAC;KAClF,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;KACnD,SAAS,CAAC,OAAO,CAAC;KAClB,kBAAkB,EAAE;KACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC;IACpC,YAAY,EAAE,gBAAgB,CAAC,OAAO;IACtC,SAAS,EAAE,gBAAgB,CAAC,MAAM;IAClC,UAAU,EAAE,gBAAgB,CAAC,GAAG,IAAI,GAAG;IACvC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;IACvC,OAAO,EAAE,gBAAgB,CAAC,IAAI,IAAI,KAAK;CACxC,CAAC,CAAC;AAEH,KAAK,CAAC,KAAK,IAAI,EAAE;IACf,IAAI;QACF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE;YACzC,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACxC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAC,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export interface packageJson {
2
+ [key: string]: string | packageJson;
3
+ }
4
+ export declare function copyJson(inputFile: string, outputFile: string, values: string[]): Promise<void>;
@@ -0,0 +1,40 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'node:path';
3
+ async function checkFile(filePath) {
4
+ try {
5
+ await fs.access(filePath, fs.constants.F_OK | fs.constants.R_OK);
6
+ }
7
+ catch (error) {
8
+ throw new Error(`Input file "${filePath} doesn't exist or is not readable.`);
9
+ }
10
+ }
11
+ export async function copyJson(inputFile, outputFile, values) {
12
+ if (!values.length) {
13
+ return;
14
+ }
15
+ const inputResolved = path.resolve(inputFile);
16
+ const outputResolved = path.resolve(outputFile);
17
+ await checkFile(inputResolved);
18
+ await fs.ensureFile(outputResolved);
19
+ const originalJSON = await fs.readJSON(inputResolved);
20
+ let newJSONRaw = await fs.readFile(outputResolved, 'utf-8');
21
+ let spaces = 2;
22
+ if (!newJSONRaw) {
23
+ console.info('New JSON file has no content.');
24
+ newJSONRaw = '{}';
25
+ }
26
+ else if (/^\{/.test(newJSONRaw)) {
27
+ const spacesMatch = newJSONRaw.match(/^\{[\n\r]?( *)/);
28
+ if (spacesMatch && spacesMatch[1]) {
29
+ spaces = spacesMatch[1].length;
30
+ }
31
+ }
32
+ const newJSON = JSON.parse(newJSONRaw);
33
+ for (const value of values) {
34
+ if (value in originalJSON) {
35
+ newJSON[value] = originalJSON[value];
36
+ }
37
+ }
38
+ await fs.writeJSON(outputResolved, newJSON, { spaces });
39
+ }
40
+ //# sourceMappingURL=copyJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyJson.js","sourceRoot":"","sources":["../../src/copyJson.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,KAAK,UAAU,SAAS,CAAC,QAAgB;IACvC,IAAI;QACF,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KAClE;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,oCAAoC,CAAC,CAAC;KAC9E;AACH,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB,EAAE,UAAkB,EAAE,MAAgB;IACpF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;QAClB,OAAO;KACR;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAgB,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACnE,IAAI,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAE5D,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,UAAU,GAAG,IAAI,CAAC;KACnB;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACjC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACvD,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;YACjC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SAChC;KACF;IAED,MAAM,OAAO,GAAgB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,KAAK,IAAI,YAAY,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;SACtC;KACF;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './PublishFlat.js';
2
+ export * from './copyJson.js';
@@ -0,0 +1,3 @@
1
+ export * from './PublishFlat.js';
2
+ export * from './copyJson.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
package/package.json CHANGED
@@ -1,59 +1,46 @@
1
1
  {
2
2
  "author": "Florian Imdahl <git@ffflorian.de>",
3
3
  "bin": {
4
- "publish-flat": "cli.js",
5
- "publish-flat-copy": "cli-copy.js"
4
+ "publish-flat": "dist/cjs/cli.js",
5
+ "publish-flat-copy": "dist/cjs/cli-copy.js"
6
6
  },
7
7
  "dependencies": {
8
- "@npmcli/arborist": "6.2.7",
9
- "@types/npmcli__arborist": "5.6.1",
10
- "commander": "10.0.1",
8
+ "@npmcli/arborist": "7.2.0",
9
+ "@types/npmcli__arborist": "5.6.4",
10
+ "commander": "11.1.0",
11
11
  "fs-extra": "11.1.1",
12
12
  "logdown": "3.3.1",
13
- "npm-packlist": "7.0.4"
13
+ "npm-packlist": "8.0.0"
14
14
  },
15
15
  "description": "Publish your project without the dist directory",
16
16
  "devDependencies": {
17
- "@types/fs-extra": "11.0.1",
18
- "@types/npm-packlist": "7.0.0",
19
- "rimraf": "5.0.0",
20
- "typescript": "5.0.4"
17
+ "@types/fs-extra": "11.0.3",
18
+ "@types/npm-packlist": "7.0.2",
19
+ "rimraf": "5.0.5",
20
+ "typescript": "5.2.2"
21
21
  },
22
22
  "files": [
23
- "PublishFlat.d.ts",
24
- "PublishFlat.js",
25
- "PublishFlat.js.map",
26
- "cli-copy.d.ts",
27
- "cli-copy.js",
28
- "cli-copy.js.map",
29
- "cli.d.ts",
30
- "cli.js",
31
- "cli.js.map",
32
- "copyJson.d.ts",
33
- "copyJson.js",
34
- "copyJson.js.map",
35
- "index.d.ts",
36
- "index.js",
37
- "index.js.map"
23
+ "dist"
38
24
  ],
39
25
  "keywords": [
40
26
  "cli",
41
27
  "typescript"
42
28
  ],
43
29
  "license": "GPL-3.0",
44
- "main": "index.js",
30
+ "main": "dist/cjs/index.js",
31
+ "module": "dist/mjs/index.js",
45
32
  "name": "publish-flat",
46
- "publishConfig": {
47
- "directory": "flattened"
48
- },
49
33
  "repository": "https://github.com/ffflorian/node-packages/tree/main/packages/publish-flat",
50
34
  "scripts": {
51
- "build": "tsc",
35
+ "build": "yarn build:cjs && yarn build:mjs && yarn generate:packagejson",
36
+ "build:cjs": "tsc -p tsconfig.cjs.json",
37
+ "build:mjs": "tsc -p tsconfig.json",
52
38
  "clean": "rimraf dist",
53
39
  "dist": "yarn clean && yarn build",
54
- "flatten": "node ./dist/cli.js -o flattened",
55
- "postversion": "node ./dist/cli-copy.js -o flattened/package.json version",
56
- "start": "ts-node src/cli.ts"
40
+ "generate:packagejson": "../../bin/generate-hybrid-package-json.sh",
41
+ "start": "ts-node-esm src/cli.ts"
57
42
  },
58
- "version": "1.7.0"
43
+ "type": "module",
44
+ "version": "1.8.0",
45
+ "gitHead": "e7bb24502cde477597fa401ea467f8d463323cda"
59
46
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"PublishFlat.js","sourceRoot":"","sources":["../src/PublishFlat.ts"],"names":[],"mappings":"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"}
package/cli-copy.js DELETED
@@ -1,34 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const commander_1 = require("commander");
8
- const fs_extra_1 = __importDefault(require("fs-extra"));
9
- const path_1 = __importDefault(require("path"));
10
- const copyJson_1 = require("./copyJson");
11
- const defaultPackageJsonPath = path_1.default.join(__dirname, 'package.json');
12
- const packageJsonPath = fs_extra_1.default.existsSync(defaultPackageJsonPath)
13
- ? defaultPackageJsonPath
14
- : path_1.default.join(__dirname, '../package.json');
15
- const { bin, version } = fs_extra_1.default.readJSONSync(packageJsonPath);
16
- const name = Object.keys(bin)[1];
17
- commander_1.program
18
- .name(name)
19
- .version(version)
20
- .description(`Copy entries from one JSON file to the other (example: "${name} version")`)
21
- .option('-i, --input <file>', 'Set the input JSON file', './package.json')
22
- .option('-o, --output <file>', 'Set the output JSON file', '../package.json')
23
- .parse(process.argv);
24
- const values = commander_1.program.args;
25
- const commanderOptions = commander_1.program.opts();
26
- if (!values.length) {
27
- console.error('No values to copy');
28
- commander_1.program.help();
29
- }
30
- (0, copyJson_1.copyJson)(commanderOptions.input, commanderOptions.output, values).catch(error => {
31
- console.error(error);
32
- process.exit(1);
33
- });
34
- //# sourceMappingURL=cli-copy.js.map
package/cli-copy.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-copy.js","sourceRoot":"","sources":["../src/cli-copy.ts"],"names":[],"mappings":";;;;;;AAEA,yCAA+C;AAC/C,wDAA0B;AAC1B,gDAAwB;AAExB,yCAAoC;AAEpC,MAAM,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,kBAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;IAC3D,CAAC,CAAC,sBAAsB;IACxB,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE5C,MAAM,EAAC,GAAG,EAAE,OAAO,EAAC,GAAG,kBAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,mBAAS;KACN,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2DAA2D,IAAI,YAAY,CAAC;KACxF,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,gBAAgB,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,iBAAiB,CAAC;KAC5E,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,MAAM,GAAG,mBAAS,CAAC,IAAI,CAAC;AAC9B,MAAM,gBAAgB,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;IAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACnC,mBAAS,CAAC,IAAI,EAAE,CAAC;CAClB;AAED,IAAA,mBAAQ,EAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IAC9E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yCAA+C;AAC/C,wDAA0B;AAC1B,gDAAwB;AAExB,+CAA0C;AAE1C,MAAM,sBAAsB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,eAAe,GAAG,kBAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC;IAC3D,CAAC,CAAC,sBAAsB;IACxB,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE5C,MAAM,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAC,GAAG,kBAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AAErE,mBAAS;KACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,WAAW,CAAC;KACxB,MAAM,CAAC,YAAY,EAAE,0CAA0C,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,oBAAoB,EAAE,oDAAoD,CAAC;KAClF,MAAM,CAAC,eAAe,EAAE,0BAA0B,CAAC;KACnD,SAAS,CAAC,OAAO,CAAC;KAClB,kBAAkB,EAAE;KACpB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvB,MAAM,gBAAgB,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;AAE1C,MAAM,aAAa,GAAG,IAAI,yBAAW,CAAC;IACpC,YAAY,EAAE,gBAAgB,CAAC,OAAO;IACtC,SAAS,EAAE,gBAAgB,CAAC,MAAM;IAClC,UAAU,EAAE,gBAAgB,CAAC,GAAG,IAAI,GAAG;IACvC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI;IACvC,OAAO,EAAE,gBAAgB,CAAC,IAAI,IAAI,KAAK;CACxC,CAAC,CAAC;AAEH,KAAK,CAAC,GAAS,EAAE;IACf,IAAI;QACF,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,EAAE;YACzC,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;SACxC;QACD,OAAO,CAAC,IAAI,EAAE,CAAC;KAChB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
package/copyJson.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"copyJson.js","sourceRoot":"","sources":["../src/copyJson.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AAExB,SAAe,SAAS,CAAC,QAAgB;;QACvC,IAAI;YACF,MAAM,kBAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAE,CAAC,SAAS,CAAC,IAAI,GAAG,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAClE;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,oCAAoC,CAAC,CAAC;SAC9E;IACH,CAAC;CAAA;AAMD,SAAsB,QAAQ,CAAC,SAAiB,EAAE,UAAkB,EAAE,MAAgB;;QACpF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,OAAO;SACR;QAED,MAAM,aAAa,GAAG,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,kBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAEpC,MAAM,YAAY,GAAgB,MAAM,kBAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,UAAU,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC;SACnB;aAAM,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACjC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACvD,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBACjC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAChC;SACF;QAED,MAAM,OAAO,GAAgB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAI,KAAK,IAAI,YAAY,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;aACtC;SACF;QAED,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACxD,CAAC;CAAA;AAnCD,4BAmCC"}
package/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './PublishFlat';
2
- export * from './copyJson';
package/index.js DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./PublishFlat"), exports);
18
- __exportStar(require("./copyJson"), exports);
19
- //# sourceMappingURL=index.js.map
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6CAA2B"}
File without changes
File without changes
File without changes
File without changes