@umijs/bundler-esbuild 4.0.0-beta.8 → 4.0.0-beta.9

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/build.d.ts CHANGED
@@ -13,6 +13,7 @@ interface IOpts {
13
13
  beforeBabelPresets?: any[];
14
14
  extraBabelPlugins?: IBabelPlugin[];
15
15
  extraBabelPresets?: IBabelPlugin[];
16
+ inlineStyle?: boolean;
16
17
  }
17
18
  export declare function build(opts: IOpts): Promise<import("@umijs/bundler-utils/compiled/esbuild").BuildResult>;
18
19
  export {};
package/dist/build.js CHANGED
@@ -19,6 +19,7 @@ const path_1 = require("path");
19
19
  const alias_1 = __importDefault(require("./plugins/alias"));
20
20
  const externals_1 = __importDefault(require("./plugins/externals"));
21
21
  const less_1 = __importDefault(require("./plugins/less"));
22
+ const style_1 = require("./plugins/style");
22
23
  function build(opts) {
23
24
  return __awaiter(this, void 0, void 0, function* () {
24
25
  const outputPath = opts.config.outputPath || (0, path_1.join)(opts.cwd, 'dist');
@@ -38,6 +39,7 @@ function build(opts) {
38
39
  (0, less_1.default)(Object.assign({ modifyVars: opts.config.theme, javascriptEnabled: true }, opts.config.lessLoader)),
39
40
  opts.config.alias && (0, alias_1.default)(addCwdPrefix(opts.config.alias, opts.cwd)),
40
41
  opts.config.externals && (0, externals_1.default)(opts.config.externals),
42
+ opts.inlineStyle && (0, style_1.inlineStyle)(),
41
43
  ].filter(Boolean),
42
44
  define: {
43
45
  // __dirname sham
@@ -0,0 +1,14 @@
1
+ import { Charset, Plugin } from '@umijs/bundler-utils/compiled/esbuild';
2
+ export interface StylePluginOptions {
3
+ /**
4
+ * whether to minify the css code.
5
+ * @default true
6
+ */
7
+ minify?: boolean;
8
+ /**
9
+ * css charset.
10
+ * @default 'utf8'
11
+ */
12
+ charset?: Charset;
13
+ }
14
+ export declare function inlineStyle({ minify, charset, }?: StylePluginOptions): Plugin;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
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.inlineStyle = void 0;
16
+ // ref: https://github.com/hyrious/esbuild-plugin-style/blob/main/index.ts
17
+ const esbuild_1 = __importDefault(require("@umijs/bundler-utils/compiled/esbuild"));
18
+ const fs_1 = __importDefault(require("fs"));
19
+ const path_1 = __importDefault(require("path"));
20
+ // https://github.com/evanw/esbuild/issues/20#issuecomment-802269745
21
+ function inlineStyle({ minify = true, charset = 'utf8', } = {}) {
22
+ return {
23
+ name: 'style',
24
+ setup({ onResolve, onLoad }) {
25
+ const cwd = process.cwd();
26
+ const opt = {
27
+ logLevel: 'silent',
28
+ bundle: true,
29
+ write: false,
30
+ charset,
31
+ minify,
32
+ };
33
+ onResolve({ filter: /\.css$/, namespace: 'file' }, (args) => {
34
+ const absPath = path_1.default.join(args.resolveDir, args.path);
35
+ const relPath = path_1.default.relative(cwd, absPath);
36
+ const resolved = fs_1.default.existsSync(absPath) ? relPath : args.path;
37
+ return { path: resolved, namespace: 'style-stub' };
38
+ });
39
+ onResolve({ filter: /\.css$/, namespace: 'style-stub' }, (args) => {
40
+ return { path: args.path, namespace: 'style-content' };
41
+ });
42
+ onResolve({ filter: /^__style_helper__$/, namespace: 'style-stub' }, (args) => ({
43
+ path: args.path,
44
+ namespace: 'style-helper',
45
+ sideEffects: false,
46
+ }));
47
+ onLoad({ filter: /.*/, namespace: 'style-helper' }, () => __awaiter(this, void 0, void 0, function* () {
48
+ return ({
49
+ contents: `
50
+ export function injectStyle(text) {
51
+ if (typeof document !== 'undefined') {
52
+ var style = document.createElement('style')
53
+ var node = document.createTextNode(text)
54
+ style.appendChild(node)
55
+ document.head.appendChild(style)
56
+ }
57
+ }
58
+ `,
59
+ });
60
+ }));
61
+ onLoad({ filter: /.*/, namespace: 'style-stub' }, (args) => __awaiter(this, void 0, void 0, function* () {
62
+ return ({
63
+ contents: `
64
+ import { injectStyle } from "__style_helper__"
65
+ import css from ${JSON.stringify(args.path)}
66
+ injectStyle(css)
67
+ `,
68
+ });
69
+ }));
70
+ onLoad({ filter: /.*/, namespace: 'style-content' }, (args) => __awaiter(this, void 0, void 0, function* () {
71
+ const options = Object.assign({ entryPoints: [args.path] }, opt);
72
+ const { errors, warnings, outputFiles } = yield esbuild_1.default.build(options);
73
+ return {
74
+ errors,
75
+ warnings,
76
+ contents: outputFiles[0].text,
77
+ loader: 'text',
78
+ };
79
+ }));
80
+ },
81
+ };
82
+ }
83
+ exports.inlineStyle = inlineStyle;
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
1
  {
2
2
  "name": "@umijs/bundler-esbuild",
3
- "version": "4.0.0-beta.8",
3
+ "version": "4.0.0-beta.9",
4
4
  "description": "@umijs/bundler-esbuild",
5
+ "homepage": "https://github.com/umijs/umi-next/tree/master/packages/bundler-esbuild#readme",
6
+ "bugs": "https://github.com/umijs/umi-next/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/umijs/umi-next"
10
+ },
11
+ "license": "MIT",
5
12
  "main": "dist/index.js",
6
13
  "types": "dist/index.d.ts",
7
- "files": [
8
- "dist"
9
- ],
10
14
  "bin": {
11
15
  "bundler-esbuild": "bin/bundler-esbuild.js"
12
16
  },
17
+ "files": [
18
+ "dist"
19
+ ],
13
20
  "scripts": {
14
21
  "build": "pnpm tsc",
15
22
  "build:deps": "pnpm esno ../../scripts/bundleDeps.ts",
16
23
  "dev": "pnpm build -- --watch"
17
24
  },
18
- "repository": {
19
- "type": "git",
20
- "url": "https://github.com/umijs/umi-next"
21
- },
22
- "authors": [
23
- "chencheng <sorrycc@gmail.com> (https://github.com/sorrycc)"
24
- ],
25
- "license": "MIT",
26
- "bugs": "https://github.com/umijs/umi-next/issues",
27
- "homepage": "https://github.com/umijs/umi-next/tree/master/packages/bundler-esbuild#readme",
28
- "publishConfig": {
29
- "access": "public"
30
- },
31
25
  "dependencies": {
32
- "@umijs/bundler-utils": "4.0.0-beta.8",
33
- "@umijs/utils": "4.0.0-beta.8",
26
+ "@umijs/bundler-utils": "4.0.0-beta.9",
27
+ "@umijs/utils": "4.0.0-beta.9",
34
28
  "enhanced-resolve": "5.8.3",
35
29
  "less": "4.1.2"
36
30
  },
37
31
  "devDependencies": {
38
32
  "@types/less": "^3.0.3"
39
- }
33
+ },
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "authors": [
38
+ "chencheng <sorrycc@gmail.com> (https://github.com/sorrycc)"
39
+ ]
40
40
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAEP,MAAM,uCAAuC,CAAC;AAM/C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhD,UAAU,KAAK;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IACrD,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;IACnC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;CACpC;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,KAAK,wEA6BtC"}
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"__sample.d.ts","sourceRoot":"","sources":["../../src/plugins/__sample.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAE/D,wBAAgB,MAAM,IAAI,MAAM,CAE/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"alias.d.ts","sourceRoot":"","sources":["../../src/plugins/alias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;mCAqBtC,OAAO,MAAM,EAAE,MAAM,CAAC,KAAQ,MAAM;AAA7D,wBA0CE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"externals.d.ts","sourceRoot":"","sources":["../../src/plugins/externals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;0EAEZ,MAAM;AAAzD,wBAmBE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"less.d.ts","sourceRoot":"","sources":["../../src/plugins/less.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;mCAKtC,KAAK,OAAO,KAAQ,MAAM;AAAnD,wBAwCE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodeGlobalsPolyfill.d.ts","sourceRoot":"","sources":["../../src/plugins/nodeGlobalsPolyfill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAE/D,wBAAgB,mBAAmB,IAAI,MAAM,CAS5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,oBAAY,GAAG;IACb,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC1B;AAED,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,oBAAY,YAAY,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC,CAAC;AAErE,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;IACnC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;IACnC,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAC3C,UAAU,CAAC,EAAE;QAAE,WAAW,EAAE,GAAG,CAAA;KAAE,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACjC,aAAa,CAAC,EAAE;QAAE,cAAc,EAAE,GAAG,CAAA;KAAE,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sortByAffix.d.ts","sourceRoot":"","sources":["../../src/utils/sortByAffix.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,YAOjE"}