1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.ProtonFramework = void 0;
|
7 |
|
8 | function _builderUtil() {
|
9 | const data = require("builder-util");
|
10 |
|
11 | _builderUtil = function () {
|
12 | return data;
|
13 | };
|
14 |
|
15 | return data;
|
16 | }
|
17 |
|
18 | function _builderUtilRuntime() {
|
19 | const data = require("builder-util-runtime");
|
20 |
|
21 | _builderUtilRuntime = function () {
|
22 | return data;
|
23 | };
|
24 |
|
25 | return data;
|
26 | }
|
27 |
|
28 | function _core() {
|
29 | const data = require("./core");
|
30 |
|
31 | _core = function () {
|
32 | return data;
|
33 | };
|
34 |
|
35 | return data;
|
36 | }
|
37 |
|
38 | function _fileTransformer() {
|
39 | const data = require("./fileTransformer");
|
40 |
|
41 | _fileTransformer = function () {
|
42 | return data;
|
43 | };
|
44 |
|
45 | return data;
|
46 | }
|
47 |
|
48 | function _LibUiFramework() {
|
49 | const data = require("./frameworks/LibUiFramework");
|
50 |
|
51 | _LibUiFramework = function () {
|
52 | return data;
|
53 | };
|
54 |
|
55 | return data;
|
56 | }
|
57 |
|
58 | function _pathManager() {
|
59 | const data = require("./util/pathManager");
|
60 |
|
61 | _pathManager = function () {
|
62 | return data;
|
63 | };
|
64 |
|
65 | return data;
|
66 | }
|
67 |
|
68 | class ProtonFramework extends _LibUiFramework().LibUiFramework {
|
69 | constructor(version, distMacOsAppName, isUseLaunchUi) {
|
70 | super(version, distMacOsAppName, isUseLaunchUi);
|
71 | this.name = "proton";
|
72 |
|
73 | this.defaultAppIdPrefix = "com.proton-native.";
|
74 | }
|
75 |
|
76 | getDefaultIcon(platform) {
|
77 | if (platform === _core().Platform.WINDOWS) {
|
78 | return (0, _pathManager().getTemplatePath)("icons/proton-native/proton-native.ico");
|
79 | } else if (platform === _core().Platform.LINUX) {
|
80 | return (0, _pathManager().getTemplatePath)("icons/proton-native/linux");
|
81 | } else {
|
82 | return (0, _pathManager().getTemplatePath)("icons/proton-native/proton-native.icns");
|
83 | }
|
84 | }
|
85 |
|
86 | createTransformer() {
|
87 | let babel;
|
88 | const babelOptions = {
|
89 | ast: false,
|
90 | sourceMaps: "inline"
|
91 | };
|
92 |
|
93 | if (process.env.TEST_SET_BABEL_PRESET === "true") {
|
94 | babel = require("@babel/core");
|
95 |
|
96 | babel = testOnlyBabel(babel, babelOptions, this.version);
|
97 | } else {
|
98 | try {
|
99 | babel = require("babel-core");
|
100 | } catch (e) {
|
101 |
|
102 | _builderUtil().log.debug(null, "don't transpile source code using Babel");
|
103 |
|
104 | return null;
|
105 | }
|
106 | }
|
107 |
|
108 | _builderUtil().log.info({
|
109 | options: (0, _builderUtilRuntime().safeStringifyJson)(babelOptions, new Set(["presets"]))
|
110 | }, "transpile source code using Babel");
|
111 |
|
112 | return file => {
|
113 | if (!(file.endsWith(".js") || file.endsWith(".jsx")) || file.includes(_fileTransformer().NODE_MODULES_PATTERN)) {
|
114 | return null;
|
115 | }
|
116 |
|
117 | return new Promise((resolve, reject) => {
|
118 | return babel.transformFile(file, babelOptions, (error, result) => {
|
119 | if (error == null) {
|
120 | resolve(result.code);
|
121 | } else {
|
122 | reject(error);
|
123 | }
|
124 | });
|
125 | });
|
126 | };
|
127 | }
|
128 |
|
129 | }
|
130 |
|
131 | exports.ProtonFramework = ProtonFramework;
|
132 |
|
133 | function testOnlyBabel(babel, babelOptions, nodeVersion) {
|
134 |
|
135 | babelOptions.presets = [[require("@babel/preset-env").default, {
|
136 | targets: {
|
137 | node: nodeVersion
|
138 | }
|
139 | }], require("@babel/preset-react")];
|
140 | babelOptions.plugins = [
|
141 | require("@babel/plugin-proposal-function-bind").default,
|
142 | require("@babel/plugin-proposal-export-default-from").default, require("@babel/plugin-proposal-logical-assignment-operators").default, [require("@babel/plugin-proposal-optional-chaining").default, {
|
143 | loose: false
|
144 | }], [require("@babel/plugin-proposal-pipeline-operator").default, {
|
145 | proposal: "minimal"
|
146 | }], [require("@babel/plugin-proposal-nullish-coalescing-operator").default, {
|
147 | loose: false
|
148 | }], require("@babel/plugin-proposal-do-expressions").default,
|
149 | [require("@babel/plugin-proposal-decorators").default, {
|
150 | legacy: true
|
151 | }], require("@babel/plugin-proposal-function-sent").default, require("@babel/plugin-proposal-export-namespace-from").default, require("@babel/plugin-proposal-numeric-separator").default, require("@babel/plugin-proposal-throw-expressions").default,
|
152 | require("@babel/plugin-syntax-dynamic-import").default, require("@babel/plugin-syntax-import-meta").default, [require("@babel/plugin-proposal-class-properties").default, {
|
153 | loose: false
|
154 | }], require("@babel/plugin-proposal-json-strings").default];
|
155 | babelOptions.babelrc = false;
|
156 | return babel;
|
157 | }
|
158 |
|
159 |
|
\ | No newline at end of file |