Skip to content

Commit 9771215

Browse files
committed
use webpack alias
1 parent ab109e8 commit 9771215

File tree

17 files changed

+75
-88
lines changed

17 files changed

+75
-88
lines changed

.eslintrc.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ module.exports = {
3636
parserOptions: {
3737
sourceType: "module",
3838
},
39+
rules: {
40+
"no-console": "off",
41+
},
3942
},
4043
],
4144
};
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-capture-exception",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-capture-message",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-custom-integration",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-custom-transport",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-no-client-reports",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-no-default-integrations",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-no-dsn",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-no-sessions",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-with-debug",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-with-sessions",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic-with-tunnel",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}

scenarios/browser/basic/package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
{
22
"name": "basic",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser"
7-
}
4+
"version": "0.0.0"
85
}
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
{
22
"name": "perf-auto",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser",
7-
"@sentry/tracing": "file:../../../packages/tracing"
8-
}
4+
"version": "0.0.0"
95
}
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
{
22
"name": "perf-manual",
33
"private": true,
4-
"version": "0.0.0",
5-
"dependencies": {
6-
"@sentry/browser": "file:../../../packages/browser",
7-
"@sentry/tracing": "file:../../../packages/tracing"
8-
}
4+
"version": "0.0.0"
95
}

scenarios/browser/react/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"version": "0.0.0",
55
"dependencies": {
66
"react": "17",
7-
"react-dom": "17",
8-
"@sentry/react": "file:../../../packages/react"
7+
"react-dom": "17"
98
}
109
}

scenarios/browser/webpack.js

Lines changed: 57 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,69 @@
11
const path = require('path');
2-
const { readdirSync } = require('fs')
2+
const { promises } = require('fs');
33

44
const webpack = require('webpack');
55
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
66
const HtmlWebpackPlugin = require('html-webpack-plugin');
77

8-
const CURRENT_SCENARIO = 'basic';
8+
async function init(scenario) {
9+
if (!hasCurrentScenario(scenario)) {
10+
throw new Error(`Scenario "${scenario}" does not exist`);
11+
}
912

10-
const hasCurrentScenario = () =>
11-
readdirSync(__dirname, { withFileTypes: true })
12-
.filter(dir => dir.isDirectory())
13-
.find(dir => dir.name === CURRENT_SCENARIO)
13+
console.log(`Bundling scenario: ${scenario}`);
1414

15-
if (!hasCurrentScenario()) {
16-
throw new Error(`Scenario "${CURRENT_SCENARIO}" does not exist`)
15+
await runWebpack(scenario);
1716
}
1817

19-
// eslint-disable-next-line no-console
20-
console.log(`Bundling scenario: ${CURRENT_SCENARIO}`)
18+
async function runWebpack(scenario) {
19+
const alias = await generateAlias();
2120

22-
webpack(
23-
{
24-
mode: 'production',
25-
entry: path.resolve(__dirname, CURRENT_SCENARIO),
26-
output: {
27-
filename: 'main.js',
28-
path: path.resolve(__dirname, 'dist', CURRENT_SCENARIO),
21+
webpack(
22+
{
23+
mode: 'development',
24+
entry: path.resolve(__dirname, scenario),
25+
output: {
26+
filename: 'main.js',
27+
path: path.resolve(__dirname, 'dist', scenario),
28+
},
29+
plugins: [new BundleAnalyzerPlugin({ analyzerMode: 'static' }), new HtmlWebpackPlugin()],
30+
resolve: {
31+
alias,
32+
},
33+
},
34+
(err, stats) => {
35+
if (err || stats.hasErrors()) {
36+
console.log(err);
37+
}
38+
console.log('DONE', stats);
2939
},
30-
plugins: [new BundleAnalyzerPlugin({ analyzerMode: 'static' }), new HtmlWebpackPlugin()],
31-
},
32-
(err, stats) => {
33-
if (err || stats.hasErrors()) {
34-
// eslint-disable-next-line no-console
35-
console.log(err);
36-
}
37-
// eslint-disable-next-line no-console
38-
console.log('DONE', stats);
39-
},
40-
);
40+
);
41+
}
42+
43+
const PACKAGE_PATH = '../../packages';
44+
45+
/**
46+
* Generate webpack aliases based on packages in monorepo
47+
* Example of an alias: '@sentry/serverless': 'path/to/sentry-javascript/packages/serverless',
48+
*/
49+
async function generateAlias() {
50+
const dirents = await promises.readdir(PACKAGE_PATH);
51+
52+
return Object.fromEntries(
53+
await Promise.all(
54+
dirents.map(async d => {
55+
const packageJSON = JSON.parse(await promises.readFile(path.resolve(PACKAGE_PATH, d, 'package.json')));
56+
return [packageJSON['name'], path.resolve(PACKAGE_PATH, d)];
57+
}),
58+
),
59+
);
60+
}
61+
62+
async function hasCurrentScenario(scenario) {
63+
const dirents = await promises.readdir(__dirname, { withFileTypes: true });
64+
return dirents.filter(dir => dir.isDirectory()).find(dir => dir.name === scenario);
65+
}
66+
67+
const CURRENT_SCENARIO = 'basic';
68+
69+
init(CURRENT_SCENARIO);

0 commit comments

Comments
 (0)