@atls/code-service 0.0.10 → 0.0.13

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/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
package/dist/service.js CHANGED
@@ -23,7 +23,7 @@ class Service {
23
23
  }
24
24
  else {
25
25
  resolve({
26
- errors: [{ message: error.message }],
26
+ errors: [error],
27
27
  warnings: [],
28
28
  });
29
29
  }
@@ -31,8 +31,8 @@ class Service {
31
31
  else if (stats) {
32
32
  const { errors = [], warnings = [] } = stats.toJson();
33
33
  resolve({
34
- errors: errors.map((error) => ({ message: error.message })),
35
- warnings: warnings.map((warning) => ({ message: warning.message })),
34
+ errors,
35
+ warnings,
36
36
  });
37
37
  }
38
38
  else {
@@ -76,18 +76,18 @@ class Service {
76
76
  if (error) {
77
77
  callback({
78
78
  severityText: 'ERROR',
79
- body: error.message || error,
79
+ body: error,
80
80
  });
81
81
  }
82
82
  else if (stats) {
83
83
  const { errors = [], warnings = [] } = stats.toJson();
84
84
  warnings.forEach((warning) => callback({
85
85
  severityText: 'WARN',
86
- body: warning.message,
86
+ body: warning,
87
87
  }));
88
88
  errors.forEach((err) => callback({
89
89
  severityText: 'ERROR',
90
- body: err.message,
90
+ body: err,
91
91
  }));
92
92
  }
93
93
  });
@@ -4,13 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.WebpackConfig = void 0;
7
- const node_path_1 = require("node:path");
8
7
  const promises_1 = require("node:fs/promises");
9
- const core_1 = require("@yarnpkg/core");
10
- const core_2 = require("@yarnpkg/core");
11
- const cli_1 = require("@yarnpkg/cli");
8
+ const node_path_1 = require("node:path");
12
9
  const webpack_chain_1 = __importDefault(require("webpack-chain"));
13
10
  const fast_glob_1 = __importDefault(require("fast-glob"));
11
+ const find_up_1 = __importDefault(require("find-up"));
14
12
  const webpack_1 = require("webpack");
15
13
  const config_typescript_1 = __importDefault(require("@atls/config-typescript"));
16
14
  const webpack_externals_1 = require("./webpack.externals");
@@ -20,14 +18,11 @@ class WebpackConfig {
20
18
  this.cwd = cwd;
21
19
  }
22
20
  async build(environment = 'production', plugins = []) {
23
- const root = process.cwd();
24
- const configuration = await core_1.Configuration.find(root, (0, cli_1.getPluginConfiguration)());
25
- const { project } = await core_2.Project.find(configuration, root);
26
21
  const config = new webpack_chain_1.default();
27
22
  this.applyCommon(config, environment);
28
23
  this.applyPlugins(config, environment);
29
24
  this.applyModules(config);
30
- config.externals(await this.getExternals(configuration, project));
25
+ config.externals(await this.getExternals());
31
26
  plugins.forEach((plugin) => {
32
27
  config.plugin(plugin.name).use(plugin.use, plugin.args);
33
28
  });
@@ -68,8 +63,12 @@ class WebpackConfig {
68
63
  .use('proto')
69
64
  .loader(require.resolve('@atls/webpack-proto-imports-loader'));
70
65
  }
71
- async getUnpluggedDependencies(configuration) {
72
- const pnpUnpluggedFolder = configuration.get('pnpUnpluggedFolder');
66
+ async getUnpluggedDependencies() {
67
+ const yarnFolder = await (0, find_up_1.default)('.yarn');
68
+ if (!yarnFolder) {
69
+ return Promise.resolve(new Set());
70
+ }
71
+ const pnpUnpluggedFolder = (0, node_path_1.join)(yarnFolder, 'unplugged');
73
72
  const dependenciesNames = new Set();
74
73
  const entries = await (0, fast_glob_1.default)('*/node_modules/*/package.json', {
75
74
  cwd: pnpUnpluggedFolder,
@@ -87,10 +86,19 @@ class WebpackConfig {
87
86
  }));
88
87
  return dependenciesNames;
89
88
  }
90
- async getExternals(configuration, project) {
91
- const workspace = project.getWorkspaceByFilePath(this.cwd);
92
- const workspaceExternals = Object.keys(workspace?.manifest?.raw?.externalDependencies || {});
93
- const unpluggedExternals = Array.from(await this.getUnpluggedDependencies(configuration));
89
+ async getWorkspaceExternals() {
90
+ try {
91
+ const content = await (0, promises_1.readFile)((0, node_path_1.join)(this.cwd, 'package.json'), 'utf-8');
92
+ const { externalDependencies = {} } = JSON.parse(content);
93
+ return new Set(Object.keys(externalDependencies));
94
+ }
95
+ catch {
96
+ return Promise.resolve(new Set());
97
+ }
98
+ }
99
+ async getExternals() {
100
+ const workspaceExternals = Array.from(await this.getWorkspaceExternals());
101
+ const unpluggedExternals = Array.from(await this.getUnpluggedDependencies());
94
102
  return Array.from(new Set([...workspaceExternals, ...unpluggedExternals, ...webpack_externals_2.UNUSED_EXTERNALS])).reduce((result, dependency) => ({
95
103
  ...result,
96
104
  [dependency]: `commonjs2 ${dependency}`,
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@atls/code-service",
3
- "version": "0.0.10",
3
+ "version": "0.0.13",
4
4
  "license": "BSD-3-Clause",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
- "dist"
7
+ "dist",
8
+ "tsconfig.stub.json"
8
9
  ],
9
10
  "scripts": {
10
11
  "build": "yarn library build",
@@ -13,24 +14,25 @@
13
14
  },
14
15
  "dependencies": {
15
16
  "@atls/config-typescript": "0.0.1",
16
- "@atls/webpack-proto-imports-loader": "0.0.6",
17
- "@atls/webpack-start-server-plugin": "0.0.4",
18
- "@yarnpkg/cli": "^3.2.0-rc.8",
19
- "@yarnpkg/core": "^3.2.0-rc.8",
20
- "fast-glob": "^3.2.7",
21
- "string-replace-loader": "^3.0.3",
22
- "ts-loader": "^9.2.6",
23
- "typescript": "^4.5.4",
24
- "webpack": "^5.65.0",
17
+ "@atls/webpack-proto-imports-loader": "0.0.8",
18
+ "@atls/webpack-start-server-plugin": "0.0.5",
19
+ "@yarnpkg/cli": "^3.2.0",
20
+ "@yarnpkg/core": "^3.2.0",
21
+ "fast-glob": "^3.2.11",
22
+ "find-up": "^5.0.0",
23
+ "string-replace-loader": "^3.1.0",
24
+ "ts-loader": "^9.2.8",
25
+ "typescript": "^4.6.2",
26
+ "webpack": "^5.70.0",
25
27
  "webpack-chain": "^6.5.1"
26
28
  },
27
29
  "devDependencies": {
28
- "@types/jest": "^27.0.3",
29
- "@types/node": "^16.11.12",
30
+ "@types/jest": "^27.4.1",
31
+ "@types/node": "^17.0.21",
30
32
  "@types/protocol-buffers-schema": "3.4.1",
31
33
  "@types/wait-for-localhost": "3.1.0",
32
34
  "@types/webpack": "^5.28.0",
33
- "@yarnpkg/fslib": "^2.6.1-rc.3",
35
+ "@yarnpkg/fslib": "^2.6.1",
34
36
  "wait-for-localhost": "^3.3.0"
35
37
  },
36
38
  "publishConfig": {
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getExternals = exports.getUnpluggedDependencies = exports.unusedExternals = void 0;
7
- const core_1 = require("@yarnpkg/core");
8
- const core_2 = require("@yarnpkg/core");
9
- const cli_1 = require("@yarnpkg/cli");
10
- const fast_glob_1 = __importDefault(require("fast-glob"));
11
- const path_1 = __importDefault(require("path"));
12
- const fs_1 = require("fs");
13
- const FORCE_UNPLUGGED_PACKAGES = new Set([
14
- 'nan',
15
- 'node-gyp',
16
- 'node-pre-gyp',
17
- 'node-addon-api',
18
- 'fsevents',
19
- 'core-js',
20
- 'core-js-pure',
21
- 'protobufjs',
22
- ]);
23
- exports.unusedExternals = [
24
- 'cli-color',
25
- 'flaschenpost',
26
- 'amqp-connection-manager',
27
- 'kafkajs',
28
- 'amqplib',
29
- 'redis',
30
- 'mqtt',
31
- 'nats',
32
- '@nestjs/websockets',
33
- 'typeorm-aurora-data-api-driver',
34
- 'react-native-sqlite-storage',
35
- '@sap/hana-client',
36
- 'better-sqlite3',
37
- 'mongodb',
38
- 'oracledb',
39
- 'pg-native',
40
- 'mysql',
41
- 'ioredis',
42
- 'hdb-pool',
43
- 'mysql2',
44
- 'mssql',
45
- 'sql.js',
46
- 'pnpapi',
47
- 'next',
48
- ];
49
- const getUnpluggedDependencies = async () => {
50
- const configuration = await core_1.Configuration.find(process.cwd(), (0, cli_1.getPluginConfiguration)());
51
- const pnpUnpluggedFolder = configuration.get('pnpUnpluggedFolder');
52
- const dependenciesNames = new Set();
53
- const entries = await (0, fast_glob_1.default)('*/node_modules/*/package.json', {
54
- cwd: pnpUnpluggedFolder,
55
- });
56
- await Promise.all(entries
57
- .map((entry) => path_1.default.join(pnpUnpluggedFolder, entry))
58
- .map(async (entry) => {
59
- try {
60
- const { name } = JSON.parse((await fs_1.promises.readFile(entry)).toString());
61
- if (name && !FORCE_UNPLUGGED_PACKAGES.has(name)) {
62
- dependenciesNames.add(name);
63
- }
64
- }
65
- catch { }
66
- }));
67
- return dependenciesNames;
68
- };
69
- exports.getUnpluggedDependencies = getUnpluggedDependencies;
70
- const getExternals = async (cwd) => {
71
- const configuration = await core_1.Configuration.find(process.cwd(), (0, cli_1.getPluginConfiguration)());
72
- const { project } = await core_2.Project.find(configuration, process.cwd());
73
- const workspace = project.getWorkspaceByFilePath(cwd);
74
- const workspaceExternals = Object.keys(workspace?.manifest?.raw?.externalDependencies || {});
75
- const unpluggedExternals = Array.from(await (0, exports.getUnpluggedDependencies)());
76
- return Array.from(new Set([...workspaceExternals, ...unpluggedExternals, ...exports.unusedExternals]));
77
- };
78
- exports.getExternals = getExternals;
@@ -1,13 +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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./webpack.config"), exports);
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getResolveAliases = void 0;
4
- const core_1 = require("@yarnpkg/core");
5
- const core_2 = require("@yarnpkg/core");
6
- const cli_1 = require("@yarnpkg/cli");
7
- const getResolveAliases = async (cwd) => {
8
- const configuration = await core_1.Configuration.find(process.cwd(), (0, cli_1.getPluginConfiguration)());
9
- const { project } = await core_2.Project.find(configuration, process.cwd());
10
- const workspace = project.getWorkspaceByFilePath(cwd);
11
- return workspace?.manifest?.raw?.resolve?.alias || [];
12
- };
13
- exports.getResolveAliases = getResolveAliases;
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createWebpackConfig = void 0;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const webpack_chain_1 = __importDefault(require("webpack-chain"));
9
- const webpack_1 = __importDefault(require("webpack"));
10
- const config_typescript_1 = __importDefault(require("@atls/config-typescript"));
11
- const externals_1 = require("./externals");
12
- const resolve_1 = require("./resolve");
13
- const createWebpackConfig = async (cwd, environment, plugins = []) => {
14
- const externals = (await (0, externals_1.getExternals)(cwd)).reduce((result, dependency) => ({
15
- ...result,
16
- [dependency]: `commonjs2 ${dependency}`,
17
- }), {});
18
- const config = new webpack_chain_1.default();
19
- config
20
- .mode(environment)
21
- .bail(environment === 'production')
22
- .target('async-node')
23
- .optimization.minimize(false);
24
- config.node.set('__dirname', false).set('__filename', false);
25
- config.entry('index').add(node_path_1.default.join(cwd, 'src/index'));
26
- config.output.path(node_path_1.default.join(cwd, 'dist')).filename('[name].js');
27
- config.resolve.extensions.add('.tsx').add('.ts').add('.js');
28
- const aliases = await (0, resolve_1.getResolveAliases)(cwd);
29
- aliases.forEach((target) => {
30
- config.resolve.alias.set(target, require.resolve(target, { paths: [cwd] }));
31
- });
32
- config.externals(externals);
33
- config.when(environment === 'development', () => {
34
- config.plugin('hot').use(webpack_1.default.HotModuleReplacementPlugin);
35
- });
36
- plugins.forEach((plugin) => {
37
- config.plugin(plugin.name).use(plugin.use, plugin.args);
38
- });
39
- config.module
40
- .rule('ts')
41
- .test(/.tsx?$/)
42
- .use('ts')
43
- .loader(require.resolve('ts-loader'))
44
- .options({
45
- transpileOnly: true,
46
- experimentalWatchApi: true,
47
- compilerOptions: { ...config_typescript_1.default.compilerOptions, sourceMap: true },
48
- configFile: node_path_1.default.join(__dirname, '../../tsconfig.stub.json'),
49
- });
50
- config.module
51
- .rule('protos')
52
- .test(/\.proto$/)
53
- .use('proto')
54
- .loader(require.resolve('@atls/webpack-proto-imports-loader'));
55
- config.devtool(environment === 'production' ? 'source-map' : 'eval-cheap-module-source-map');
56
- return config.toConfig();
57
- };
58
- exports.createWebpackConfig = createWebpackConfig;