@digigov/cli-build 1.1.1 → 2.0.0-rc.17

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.
@@ -111,6 +111,30 @@
111
111
  "@babel/traverse@7.23.9": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==",
112
112
  "@babel/types@7.23.9": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
113
113
  "@babel/types@7.8.3": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
114
+ "@esbuild/aix-ppc64@0.23.0": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==",
115
+ "@esbuild/android-arm64@0.23.0": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==",
116
+ "@esbuild/android-arm@0.23.0": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==",
117
+ "@esbuild/android-x64@0.23.0": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==",
118
+ "@esbuild/darwin-arm64@0.23.0": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==",
119
+ "@esbuild/darwin-x64@0.23.0": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==",
120
+ "@esbuild/freebsd-arm64@0.23.0": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==",
121
+ "@esbuild/freebsd-x64@0.23.0": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==",
122
+ "@esbuild/linux-arm64@0.23.0": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==",
123
+ "@esbuild/linux-arm@0.23.0": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==",
124
+ "@esbuild/linux-ia32@0.23.0": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==",
125
+ "@esbuild/linux-loong64@0.23.0": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==",
126
+ "@esbuild/linux-mips64el@0.23.0": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==",
127
+ "@esbuild/linux-ppc64@0.23.0": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==",
128
+ "@esbuild/linux-riscv64@0.23.0": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==",
129
+ "@esbuild/linux-s390x@0.23.0": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==",
130
+ "@esbuild/linux-x64@0.23.0": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==",
131
+ "@esbuild/netbsd-x64@0.23.0": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==",
132
+ "@esbuild/openbsd-arm64@0.23.0": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==",
133
+ "@esbuild/openbsd-x64@0.23.0": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==",
134
+ "@esbuild/sunos-x64@0.23.0": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==",
135
+ "@esbuild/win32-arm64@0.23.0": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==",
136
+ "@esbuild/win32-ia32@0.23.0": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==",
137
+ "@esbuild/win32-x64@0.23.0": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==",
114
138
  "@hapi/accept@5.0.1": "sha512-fMr4d7zLzsAXo28PRRQPXR1o2Wmu+6z+VY1UzDp0iFo13Twj8WePakwXBiqn3E1aAlTpSNzCXdnnQXFhst8h8Q==",
115
139
  "@hapi/boom@9.1.4": "sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==",
116
140
  "@hapi/hoek@9.3.0": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
@@ -132,6 +156,7 @@
132
156
  "@types/eslint-scope@3.7.7": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
133
157
  "@types/eslint@8.56.2": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==",
134
158
  "@types/estree@0.0.51": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
159
+ "@types/estree@1.0.5": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
135
160
  "@types/json-schema@7.0.15": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
136
161
  "@types/node@18.19.0": "sha512-667KNhaD7U29mT5wf+TZUnrzPrlL2GNQ5N0BMjO2oNULhBxX0/FKCkm6JMu0Jh7Z+1LwUlR21ekd7KhIboNFNw==",
137
162
  "@webassemblyjs/ast@1.11.1": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
@@ -268,6 +293,7 @@
268
293
  "enhanced-resolve@5.15.0": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
269
294
  "es-module-lexer@0.9.3": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
270
295
  "esbuild@0.11.14": "sha512-ejheEPkqhq5y0LM9rG9e+3yDihPtqeeE4NZmG7VQiSGJ3CjO4HvPOHmhhttSksfSztjLAGo2+0/zSIvlqj4JOQ==",
296
+ "esbuild@0.23.0": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==",
271
297
  "escalade@3.1.1": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
272
298
  "escape-string-regexp@1.0.5": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
273
299
  "eslint-scope@5.1.1": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
package/index.js CHANGED
@@ -1,8 +1,10 @@
1
- const { Command, flags } = require("@oclif/command");
1
+ const { Command } = require("@oclif/command");
2
2
  const execa = require("execa");
3
3
  const { resolveProject, DigigovCommand } = require("@digigov/cli/lib");
4
4
  const path = require("path");
5
5
  const fs = require("fs");
6
+ const esbuild = require("esbuild");
7
+ const glob = require("glob");
6
8
 
7
9
  module.exports = class Build extends DigigovCommand {
8
10
  static description = "build digigov libraries";
@@ -10,15 +12,12 @@ module.exports = class Build extends DigigovCommand {
10
12
  dirname = __dirname;
11
13
  static examples = [`$ digigov build`];
12
14
  static strict = false;
13
- static flags = {
14
- subpackages: flags.boolean({ char: "--subpackages" }),
15
- };
16
15
  static load() {
17
16
  return Build;
18
17
  }
19
18
  script = "babel";
20
19
  async run() {
21
- const { argv, flags } = this.parse(Build);
20
+ const { argv } = this.parse(Build);
22
21
  try {
23
22
  await this.exec("rimraf", ["dist"]);
24
23
  const project = resolveProject();
@@ -34,76 +33,75 @@ module.exports = class Build extends DigigovCommand {
34
33
  const distDir = path.resolve(project.root, project.distDir);
35
34
  const basename = path.basename(project.root);
36
35
 
37
- if (flags.subpackages) {
38
- if (argv.includes("--watch") || argv.includes("-w")) {
39
- throw new Error("--watch cannot be combined with --subpackages");
36
+ if (project.isTs) {
37
+ const tsconfigProduction = path.join(
38
+ project.root,
39
+ "tsconfig.production.json",
40
+ );
41
+ const tsArgs = [];
42
+ if (fs.existsSync(tsconfigProduction)) {
43
+ tsArgs.push("--project", tsconfigProduction);
40
44
  }
41
- const args = argv.filter((a) => a !== "--subpackages");
42
- if (project.isTs) {
43
- const tsconfigProduction = path.join(
44
- project.root,
45
- "tsconfig.production.json",
45
+ await this.exec("tsc", [
46
+ "--emitDeclarationOnly",
47
+ "--outDir",
48
+ "dist",
49
+ ...tsArgs,
50
+ ]);
51
+ if (fs.existsSync(path.join(distDir, basename))) {
52
+ const typesIncluded = fs.readdirSync(path.join(distDir));
53
+ const paths = fs.readdirSync(
54
+ path.join(distDir, basename, project.src),
46
55
  );
47
- const tsArgs = [];
48
- if (fs.existsSync(tsconfigProduction)) {
49
- tsArgs.push("--project", tsconfigProduction);
50
- }
51
- await this.exec("tsc", [
52
- "--emitDeclarationOnly",
53
- "--outDir",
54
- "dist",
55
- ...tsArgs,
56
- ]);
57
- if (fs.existsSync(path.join(distDir, basename))) {
58
- const typesIncluded = fs.readdirSync(path.join(distDir));
59
- const paths = fs.readdirSync(
60
- path.join(distDir, basename, project.src),
56
+ paths.forEach((p) => {
57
+ fs.renameSync(
58
+ path.join(distDir, basename, project.src, p),
59
+ path.join(distDir, p),
61
60
  );
62
- paths.forEach((p) => {
63
- fs.renameSync(
64
- path.join(distDir, basename, project.src, p),
65
- path.join(distDir, p),
66
- );
67
- });
68
- typesIncluded.forEach((typesDir) => {
69
- fs.rmSync(path.join(distDir, typesDir), { recursive: true });
70
- });
71
- }
61
+ });
62
+ typesIncluded.forEach((typesDir) => {
63
+ fs.rmSync(path.join(distDir, typesDir), { recursive: true });
64
+ });
72
65
  }
73
- await this.exec(this.script, [...babelArgs, "dist", ...args], {
74
- env: {
75
- BABEL_ENV: "esm",
76
- BABEL_PUBLISH: "true",
77
- },
78
- stdio: "inherit",
79
- });
80
- const proc = await this.exec(
81
- this.script,
82
- [...babelArgs, "dist/cjs", ...argv],
83
- {
84
- env: {
85
- BABEL_ENV: "cjs",
86
- BABEL_PUBLISH: "true",
87
- },
88
- stdio: "inherit",
89
- },
90
- );
91
- await execa("node", [path.join(__dirname, "copy-files.js")], {
92
- env: {},
93
- stdio: "inherit",
94
- });
95
- return proc;
96
- } else {
97
- return this.exec(this.script, [...babelArgs, "", ...argv], {
98
- env: {
99
- BABEL_ENV: "cjs",
100
- BABEL_PUBLISH: "true",
101
- },
102
- stdio: "inherit",
103
- });
104
66
  }
67
+
68
+ const files = glob.sync(
69
+ path.join(project.root, "src", "**/*.{tsx,ts,js,jsx}"),
70
+ {
71
+ ignore: "**/*.{spec,test}.{ts,tsx,js,jsx}",
72
+ },
73
+ );
74
+ const commonBuildOptions = {
75
+ entryPoints: files,
76
+ platform: "node",
77
+ sourcemap: true,
78
+ target: ["esnext"],
79
+ logLevel: "error",
80
+ };
81
+ if (fs.existsSync(path.join(project.root, "tsconfig.production.json"))) {
82
+ commonBuildOptions["tsconfig"] = "tsconfig.production.json";
83
+ } else if (fs.existsSync(path.join(project.root, "tsconfig.json"))) {
84
+ commonBuildOptions["tsconfig"] = "tsconfig.json";
85
+ }
86
+
87
+ await Promise.all([
88
+ esbuild.build({
89
+ ...commonBuildOptions,
90
+ format: "esm",
91
+ outdir: `dist`,
92
+ }),
93
+ esbuild.build({
94
+ ...commonBuildOptions,
95
+ format: "cjs",
96
+ outdir: `dist/cjs`,
97
+ }),
98
+ ]);
99
+ await execa("node", [path.join(__dirname, "copy-files.js")], {
100
+ env: {},
101
+ stdio: "inherit",
102
+ });
105
103
  } catch (err) {
106
- console.log(err);
104
+ console.error(err);
107
105
  }
108
106
  }
109
107
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digigov/cli-build",
3
- "version": "1.1.1",
3
+ "version": "2.0.0-rc.17",
4
4
  "description": "Build plugin for Digigov CLI",
5
5
  "main": "./index.js",
6
6
  "author": "GRNET Devs <devs@lists.grnet.gr>",
@@ -31,13 +31,14 @@
31
31
  "@digigov/babel-ts-to-proptypes": "1.1.0",
32
32
  "@types/node": "18.19.0",
33
33
  "babel-plugin-istanbul": "6.0.0",
34
- "publint": "0.1.8"
34
+ "publint": "0.1.8",
35
+ "esbuild": "0.23.0"
35
36
  },
36
37
  "devDependencies": {
37
38
  "publint": "0.1.8"
38
39
  },
39
40
  "peerDependencies": {
40
- "@digigov/cli": "1.1.0",
41
+ "@digigov/cli": "1.1.1-rc.17",
41
42
  "rimraf": "3.0.2",
42
43
  "next": "10.0.9"
43
44
  },