tungsten 0.5.1 → 0.5.3
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-complete +1 -1
- package/dist/Components.d.ts +14 -6
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +67 -23
- package/dist/DomPointer.js +1 -1
- package/dist/DomRegion.js +2 -2
- package/dist/Framework.js +1 -1
- package/dist/FunctionComponentStandIn.d.ts +4 -0
- package/dist/FunctionComponentStandIn.d.ts.map +1 -1
- package/dist/FunctionComponentStandIn.js +11 -1
- package/dist/Json.type.d.ts.map +1 -1
- package/dist/Servers/DevServer.js +1 -1
- package/dist/Servers/MatchedRouteInfo.d.ts +1 -1
- package/dist/Servers/MatchedRouteInfo.d.ts.map +1 -1
- package/dist/Servers/ProdServer.js +2 -3
- package/dist/Servers/initStores.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +2 -2
- package/dist/Store/makeStore.d.ts.map +1 -1
- package/dist/Store/makeStore.js +7 -3
- package/dist/api/ApiMethod.type.d.ts +2 -0
- package/dist/api/ApiMethod.type.d.ts.map +1 -0
- package/dist/api/ApiRoute.d.ts +2 -2
- package/dist/api/ApiRoute.d.ts.map +1 -1
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts +2 -2
- package/dist/babelPlugins/BabelExtractComponentStylesheet.d.ts.map +1 -1
- package/dist/babelPlugins/BabelExtractComponentStylesheet.js +1 -1
- package/dist/babelPlugins/BabelTransformBindDirect.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformBindDirect.js +2 -4
- package/dist/babelPlugins/BabelTransformBindVar.js +2 -3
- package/dist/babelPlugins/BabelTransformDocInit.js +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts +1 -0
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +51 -69
- package/dist/babelPlugins/BabelTypes.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
- package/dist/bin/commands/build.js +0 -1
- package/dist/bin/commands/compile.js +4 -4
- package/dist/build/babel.user.common.config.d.ts +2 -1
- package/dist/build/babel.user.common.config.d.ts.map +1 -1
- package/dist/build/babel.user.common.config.js +16 -10
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +3 -4
- package/dist/build/compileStyles.d.ts.map +1 -1
- package/dist/build/compileStyles.js +7 -3
- package/dist/build/createClientFiles.js +2 -3
- package/dist/build/createInstanceConfigFile.js +1 -1
- package/dist/build/devBundle.rollup.config.js +6 -6
- package/dist/build/frameworkDestLocation.d.ts.map +1 -1
- package/dist/build/frameworkDestLocation.js +5 -2
- package/dist/build/makeBabelRawConfig.js +1 -1
- package/dist/build/makeBabelUserProdConfig.js +2 -4
- package/dist/build/packageIdentifier.d.ts +6 -0
- package/dist/build/packageIdentifier.d.ts.map +1 -0
- package/dist/build/packageIdentifier.js +19 -0
- package/dist/build/rollup.user.prod.config.js +12 -12
- package/dist/build/sassImportParser.js +0 -3
- package/dist/clone.js +1 -3
- package/dist/compat/types.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +1 -1
- package/dist/components/NativeHtml.d.ts +1 -1
- package/dist/components/NativeHtml.d.ts.map +1 -1
- package/dist/components/Protected.d.ts +1 -1
- package/dist/components/Protected.d.ts.map +1 -1
- package/dist/components/Stylesheet.js +0 -1
- package/dist/components/bindable/BindableInputTyped.d.ts.map +1 -1
- package/dist/components/library/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/library/RichTextEditor/RichTextEditor.js +3 -3
- package/dist/createRef.d.ts +1 -1
- package/dist/createRef.d.ts.map +1 -1
- package/dist/createRef.js +1 -1
- package/dist/env/getEnvSchemas.d.ts +3 -4
- package/dist/env/getEnvSchemas.d.ts.map +1 -1
- package/dist/env/registerEnvSchemas.d.ts +4 -2
- package/dist/env/registerEnvSchemas.d.ts.map +1 -1
- package/dist/foreach.d.ts.map +1 -1
- package/dist/frameworkConfigSchema.js +1 -3
- package/dist/helpers/forwardingFetch.d.ts +3 -0
- package/dist/helpers/forwardingFetch.d.ts.map +1 -0
- package/dist/helpers/forwardingFetch.js +14 -0
- package/dist/helpers/index.d.ts +2 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +3 -1
- package/dist/helpers/perRequest.d.ts +3 -0
- package/dist/helpers/perRequest.d.ts.map +1 -0
- package/dist/helpers/perRequest.js +17 -0
- package/dist/hmr/instanceRegistry.js +2 -2
- package/dist/hooks/useCallback.d.ts.map +1 -1
- package/dist/hydrate/hydrate.d.ts +1 -2
- package/dist/hydrate/hydrate.d.ts.map +1 -1
- package/dist/hydrate/hydrate.js +1 -3
- package/dist/hydrate/reconcileHydratedAttributes.js +1 -1
- package/dist/importDevModuleWithRetry.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/indexInner.d.ts +1 -2
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/logAndReturn.d.ts.map +1 -1
- package/dist/markOptionSelected.js +1 -1
- package/dist/mutatingFunctions.js +0 -3
- package/dist/postcssPlugins/TransformCssNames.js +2 -2
- package/dist/render/addImportMap.js +0 -1
- package/dist/requests/fetch/delete.d.ts +2 -1
- package/dist/requests/fetch/delete.d.ts.map +1 -1
- package/dist/requests/fetch/delete.js +7 -7
- package/dist/requests/fetch/get.d.ts.map +1 -1
- package/dist/requests/fetch/get.js +4 -6
- package/dist/requests/fetch/mergeFetchInit.d.ts +2 -0
- package/dist/requests/fetch/mergeFetchInit.d.ts.map +1 -0
- package/dist/requests/fetch/mergeFetchInit.js +17 -0
- package/dist/requests/fetch/patch.d.ts.map +1 -1
- package/dist/requests/fetch/patch.js +4 -6
- package/dist/requests/fetch/post.d.ts.map +1 -1
- package/dist/requests/fetch/post.js +4 -6
- package/dist/requests/fetch/put.d.ts.map +1 -1
- package/dist/requests/fetch/put.js +4 -6
- package/dist/routing/ParamsFromPath.d.ts.map +1 -1
- package/dist/routing/RouteType.d.ts +1 -8
- package/dist/routing/RouteType.d.ts.map +1 -1
- package/dist/routing/RouteTypes.d.ts +11 -0
- package/dist/routing/RouteTypes.d.ts.map +1 -1
- package/dist/routing/Routes.d.ts +7 -8
- package/dist/routing/Routes.d.ts.map +1 -1
- package/dist/routing/__fluentRouteBuilder.d.ts +80 -0
- package/dist/routing/__fluentRouteBuilder.d.ts.map +1 -0
- package/dist/routing/__fluentRouteBuilder.js +183 -0
- package/dist/routing/__fluentRoutes.d.ts +2 -0
- package/dist/routing/__fluentRoutes.d.ts.map +1 -0
- package/dist/routing/__fluentRoutes.js +59 -0
- package/dist/staticGen/staticGen.d.ts.map +1 -1
- package/dist/testing/host.d.ts +1 -1
- package/dist/testing/host.d.ts.map +1 -1
- package/dist/testing/host.js +1 -2
- package/dist/testing/hydrateTestApp.js +5 -9
- package/dist/testing/normalize.d.ts +2 -0
- package/dist/testing/normalize.d.ts.map +1 -0
- package/dist/testing/normalize.js +1 -0
- package/dist/update/guardedUpdate.d.ts +9 -0
- package/dist/update/guardedUpdate.d.ts.map +1 -0
- package/dist/update/guardedUpdate.js +20 -0
- package/dist/update/integrateUpdateVdom.js +2 -2
- package/dist/zones/react.d.ts.map +1 -1
- package/dist/zones/react.js +2 -2
- package/package.json +7 -10
- package/types/env.d.ts +11 -11
- package/types/index.d.ts +7 -3
- package/types/jsx/html.d.ts +5 -5
- package/types/jsx/html.events.d.ts +202 -200
- package/types/jsx/html.global.d.ts +150 -150
- package/types/jsx/html.values.d.ts +29 -29
- package/types/jsx/jsx.d.ts +16 -5
- package/vendor/babel-core.js +13 -8
- package/vendor/babel-parser.js +5 -1
- package/vendor/babel-plugin-syntax-import-assertions.js +5 -1
- package/vendor/babel-preset-react.js +13 -8
- package/vendor/babel-preset-typescript.js +13 -8
- package/vendor/babel-types.js +5 -1
- package/vendor/chalk-extensions.js +6 -161
- package/vendor/chalk.js +4 -0
- package/vendor/chokidar.js +17 -13
- package/vendor/{chunk-B_NeooyV.js → chunk-BSJqV47f.js} +4 -0
- package/vendor/{chunk-1UuLTU0U.js → chunk-BYvDIO7e.js} +4 -0
- package/vendor/chunk-BfcfwwoF.js +15 -0
- package/vendor/{chunk-CPArXGxa.js → chunk-BiUcnLhT.js} +4 -0
- package/vendor/chunk-Bu8ZRE-c.js +179 -0
- package/vendor/chunk-CmnhIuzX.js +167 -0
- package/vendor/chunk-Cqrj-Zqr.js +8579 -0
- package/vendor/{chunk-1TN2rK3j.js → chunk-D2EnpcLg.js} +7 -3
- package/vendor/{chunk-C9FSKeSx.js → chunk-DHmjZ22y.js} +4 -0
- package/vendor/{chunk-C3YkUGz5.js → chunk-Hy-cCmu-.js} +4 -0
- package/vendor/{chunk-C12hSZn7.js → chunk-Lqa6rV_r.js} +4 -0
- package/vendor/{chunk-C3fcZDjl.js → chunk-OUnVY4Wm.js} +24 -191
- package/vendor/cjs-module-lexer.js +4 -0
- package/vendor/dotenv.js +10 -6
- package/vendor/express.js +30 -31
- package/vendor/import-meta-resolve.js +4 -0
- package/vendor/manifest.json +3 -2
- package/vendor/postcss.js +9 -8544
- package/vendor/precinct.js +326959 -0
- package/vendor/serialize-javascript.js +4 -0
- package/vendor/sxy-lib-arrays.js +4 -0
- package/vendor/sxy-lib-object-copy.js +5 -1
- package/vendor/sxy-lib-objects.js +4 -0
- package/vendor/sxy-lib-promises.js +4 -0
- package/vendor/sxy-package-investigator.js +7 -3
- package/vendor/valibot.js +4 -0
- package/dist/.tsbuildinfo +0 -1
- package/dist/api/Method.d.ts +0 -2
- package/dist/api/Method.d.ts.map +0 -1
- /package/dist/api/{Method.js → ApiMethod.type.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelExtractComponentStylesheet.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelExtractComponentStylesheet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"BabelExtractComponentStylesheet.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelExtractComponentStylesheet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE3D,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1D,CAAA;AAKD,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,IAAI;;;4BAK1B,QAAQ,CAAC,aAAa,CAAC,SAAS,UAAU;;EAc7E"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// names a css file inside the package; it is extracted here so the file can be copied into the
|
|
3
3
|
// build, and removed so it never reaches the browser.
|
|
4
4
|
export function MakeBabelExtractComponentStylesheet(opts) {
|
|
5
|
-
return function BabelExtractComponentStylesheet(
|
|
5
|
+
return function BabelExtractComponentStylesheet() {
|
|
6
6
|
return {
|
|
7
7
|
name: 'extract-component-stylesheet',
|
|
8
8
|
visitor: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformBindDirect.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformBindDirect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AA0C9C,wBAAgB,4BAA4B,KACC,OAAO,SAAS;;;2BAK1B,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,UAAU;;
|
|
1
|
+
{"version":3,"file":"BabelTransformBindDirect.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformBindDirect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AA0C9C,wBAAgB,4BAA4B,KACC,OAAO,SAAS;;;2BAK1B,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,UAAU;;EA+VjF"}
|
|
@@ -153,7 +153,6 @@ export function MakeBabelTransformBindDirect(/*opts: Opts*/
|
|
|
153
153
|
//// unused
|
|
154
154
|
//// would only be useful for a back compat mode
|
|
155
155
|
if (variableParts.length === 3) {
|
|
156
|
-
// eslint-disable-line @typescript-eslint/no-unnecessary-condition
|
|
157
156
|
const stateProperty = variableParts[2]?.property;
|
|
158
157
|
if (stateProperty?.type !== 'Identifier') {
|
|
159
158
|
throwError('BabelTransformBindDirect', 'setState requires an identifier state property');
|
|
@@ -182,8 +181,7 @@ export function MakeBabelTransformBindDirect(/*opts: Opts*/
|
|
|
182
181
|
}
|
|
183
182
|
const functionBodyExpressions = [];
|
|
184
183
|
const assignToValueVarExpression = make.variableDeclaration('const', [make.variableDeclarator(make.identifier('value'), make.memberExpression(make.memberExpression(make.identifier('event'), make.identifier('target')), make.identifier('value')))]);
|
|
185
|
-
if (filter) functionBodyExpressions.push(filter);
|
|
186
|
-
else functionBodyExpressions.push(assignToValueVarExpression);
|
|
184
|
+
if (filter) functionBodyExpressions.push(filter);else functionBodyExpressions.push(assignToValueVarExpression);
|
|
187
185
|
if (stateBased) {
|
|
188
186
|
if (stateSettingMode === 'assignment') {
|
|
189
187
|
// eslint-disable-line @typescript-eslint/no-unnecessary-condition -- other modes kept switchable
|
|
@@ -205,7 +203,7 @@ export function MakeBabelTransformBindDirect(/*opts: Opts*/
|
|
|
205
203
|
}
|
|
206
204
|
functionBodyExpressions.push(setFieldExpression);
|
|
207
205
|
}
|
|
208
|
-
if (originalOnChange) functionBodyExpressions.push(originalOnChange);
|
|
206
|
+
if (originalOnChange) functionBodyExpressions.push(originalOnChange);
|
|
209
207
|
const attr = make.jsxAttribute(make.jsxIdentifier('onKeyUp'), make.jsxExpressionContainer(make.arrowFunctionExpression([make.identifier('event')], make.blockStatement(functionBodyExpressions))));
|
|
210
208
|
parent.attributes.push(attr);
|
|
211
209
|
}
|
|
@@ -203,8 +203,7 @@ export function MakeBabelTransformBindVar(/*opts: Opts*/
|
|
|
203
203
|
// }
|
|
204
204
|
const functionBodyExpressions = [];
|
|
205
205
|
const assignToValueVarExpression = make.variableDeclaration('const', [make.variableDeclarator(make.identifier('value'), make.memberExpression(make.memberExpression(make.identifier('event'), make.identifier('target')), make.identifier('value')))]);
|
|
206
|
-
if (filter) functionBodyExpressions.push(filter);
|
|
207
|
-
else functionBodyExpressions.push(assignToValueVarExpression);
|
|
206
|
+
if (filter) functionBodyExpressions.push(filter);else functionBodyExpressions.push(assignToValueVarExpression);
|
|
208
207
|
// if (stateBased) {
|
|
209
208
|
// if (stateSettingMode === 'assignment') {
|
|
210
209
|
// functionBodyExpressions.push(stateAssignmentExpression)
|
|
@@ -216,7 +215,7 @@ export function MakeBabelTransformBindVar(/*opts: Opts*/
|
|
|
216
215
|
// }
|
|
217
216
|
// else functionBodyExpressions.push(setFieldExpression)
|
|
218
217
|
functionBodyExpressions.push(assignmentExpression);
|
|
219
|
-
if (originalOnChange) functionBodyExpressions.push(originalOnChange);
|
|
218
|
+
if (originalOnChange) functionBodyExpressions.push(originalOnChange);
|
|
220
219
|
const attr = make.jsxAttribute(make.jsxIdentifier('onKeyUp'), make.jsxExpressionContainer(make.arrowFunctionExpression([make.identifier('event')], make.blockStatement(functionBodyExpressions))));
|
|
221
220
|
openingElement.attributes.push(attr);
|
|
222
221
|
}
|
|
@@ -183,7 +183,7 @@ export function MakeBabelTransformDocInit(opts) {
|
|
|
183
183
|
},
|
|
184
184
|
// after the presets have run on the function bodies: types stripped, jsx compiled
|
|
185
185
|
exit(_path, state) {
|
|
186
|
-
const filename = state.filename ?? '';
|
|
186
|
+
const filename = state.filename ?? '';
|
|
187
187
|
if (calls.length === 0 && !entriesByFile.has(filename)) return;
|
|
188
188
|
const local = runtimeLocal;
|
|
189
189
|
const entries = local === null ? [] : calls.map(callPath => rewriteCall(callPath, local, state, filename));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformPackageImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformPackageImports.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAMrD,OAAO,EAGH,QAAQ,EACX,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"BabelTransformPackageImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformPackageImports.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,14 +30,15 @@ import { isBareImport } from './isBareImport.js';
|
|
|
30
30
|
import { resolveBareImport } from './transformPackageImports/resolveBareImport.js';
|
|
31
31
|
import { TungstenError } from '../TungstenError.js';
|
|
32
32
|
import { throwError } from '../throwError.js';
|
|
33
|
-
import {
|
|
33
|
+
import { tallied } from '../timeProfiler.js';
|
|
34
|
+
import { makePackageIdentifier, packageIsLocal } from '../build/packageIdentifier.js';
|
|
34
35
|
//import { copyPackageModulesToPackagesFolder } from '../build/copyPackageModulesToPackagesFolder.js'
|
|
35
36
|
const require = createRequire(import.meta.url);
|
|
36
37
|
// precinct drags in typescript and the typescript-eslint parser (~250 modules), so it is only
|
|
37
|
-
// paid for on a packages-cache miss
|
|
38
|
+
// paid for on a packages-cache miss. import() rather than require() so the vendor hook serves it
|
|
38
39
|
let precinctLoaded;
|
|
39
|
-
function
|
|
40
|
-
return precinctLoaded ??=
|
|
40
|
+
async function loadPrecinct() {
|
|
41
|
+
return precinctLoaded ??= (await import('precinct')).default;
|
|
41
42
|
}
|
|
42
43
|
function debug(...texts) {
|
|
43
44
|
//console.log(...texts)
|
|
@@ -220,11 +221,11 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
220
221
|
}
|
|
221
222
|
return out;
|
|
222
223
|
}
|
|
223
|
-
function getFileDependencies(fileInfo, sourceFilename, history) {
|
|
224
|
+
function getFileDependencies(precinct, fileInfo, sourceFilename, history) {
|
|
224
225
|
const {
|
|
225
226
|
file
|
|
226
227
|
} = fileInfo;
|
|
227
|
-
const precinctResults = tallied('precinct.paperwork', () => precinct
|
|
228
|
+
const precinctResults = tallied('precinct.paperwork', () => precinct.paperwork(file, {
|
|
228
229
|
includeCore: false
|
|
229
230
|
}));
|
|
230
231
|
const deps = precinctResults.map(d => {
|
|
@@ -289,8 +290,10 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
289
290
|
const packageJson = require(join(packageDir, 'package.json'));
|
|
290
291
|
const packageName = packageJson.name;
|
|
291
292
|
const version = packageJson.version;
|
|
292
|
-
const
|
|
293
|
-
const
|
|
293
|
+
const local = packageIsLocal(packageDir);
|
|
294
|
+
const packageIdentifier = makePackageIdentifier(packageDir, packageJson);
|
|
295
|
+
// a local package's identifier comes from its location, so only an installed one needs a version
|
|
296
|
+
const missingFields = [...(isNonEmptyString(packageName) ? [] : ['name']), ...(!local && !isNonEmptyString(version) ? ['version'] : [])];
|
|
294
297
|
if (missingFields.length > 0) {
|
|
295
298
|
cliWarn(`BabelTransformPackageImports could not resolve a package identifier for` + `\n${packageDir}` + `\nits package.json has no ${missingFields.map(f => `'${f}'`).join(' and no ')}.` + ` Using \`${packageIdentifier}\`, which may collide with other packages` + ` in the output folder.`);
|
|
296
299
|
}
|
|
@@ -302,6 +305,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
302
305
|
packageJson,
|
|
303
306
|
packageName,
|
|
304
307
|
version,
|
|
308
|
+
local,
|
|
305
309
|
packageIdentifier,
|
|
306
310
|
type: packageType,
|
|
307
311
|
cacheLocation,
|
|
@@ -324,17 +328,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
324
328
|
nonEsmPackages[packageIdentifier] = packageLogItem;
|
|
325
329
|
}
|
|
326
330
|
}
|
|
327
|
-
return importedPackageLocations[packageDir] =
|
|
328
|
-
packageDir,
|
|
329
|
-
packageJson,
|
|
330
|
-
packageName,
|
|
331
|
-
version,
|
|
332
|
-
packageIdentifier,
|
|
333
|
-
type: packageType,
|
|
334
|
-
cacheLocation,
|
|
335
|
-
finalLocation
|
|
336
|
-
//dependencyPackagesInfo
|
|
337
|
-
};
|
|
331
|
+
return importedPackageLocations[packageDir] = packageInfo;
|
|
338
332
|
}
|
|
339
333
|
}
|
|
340
334
|
const getPackageInfoForFile = function getPackageInfoForFile(file) {
|
|
@@ -401,12 +395,13 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
401
395
|
if (result.code === null || result.code === undefined) {
|
|
402
396
|
throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (2)` + ` returned code was null or undefined: ${typeof result.code}, ${file}`);
|
|
403
397
|
}
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
398
|
+
if (!packageInfo.local) {
|
|
399
|
+
const intermedCacheLocation = getFileEsmGenIntermediateCacheLocation(file, packageInfo);
|
|
400
|
+
await fsPromises.mkdir(dirname(intermedCacheLocation), {
|
|
401
|
+
recursive: true
|
|
402
|
+
});
|
|
403
|
+
await fsPromises.writeFile(intermedCacheLocation, result.code); // rel contains the slash at start
|
|
404
|
+
}
|
|
410
405
|
const code = result.code;
|
|
411
406
|
result = tallied('babel transform (packages)', () => babelTransformSync(code, {
|
|
412
407
|
filename: file,
|
|
@@ -467,6 +462,24 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
467
462
|
packageInfo
|
|
468
463
|
};
|
|
469
464
|
}
|
|
465
|
+
// The build always gets the output. The cache does not for a local package: it is never read
|
|
466
|
+
// back for one (cachedSubtreeIsUsable), so the copy would just sit there.
|
|
467
|
+
async function writeOutput(fileInfo, code) {
|
|
468
|
+
if (!fileInfo.packageInfo.local) await fsPromises.writeFile(fileInfo.cacheDest, code);
|
|
469
|
+
await fsPromises.writeFile(fileInfo.finalDest, code);
|
|
470
|
+
}
|
|
471
|
+
async function copyOutput(fileInfo) {
|
|
472
|
+
if (!fileInfo.packageInfo.local) await fsPromises.copyFile(fileInfo.file, fileInfo.cacheDest);
|
|
473
|
+
await fsPromises.copyFile(fileInfo.file, fileInfo.finalDest);
|
|
474
|
+
}
|
|
475
|
+
async function makeOutputDirs(fileInfo) {
|
|
476
|
+
if (!fileInfo.packageInfo.local) await fsPromises.mkdir(dirname(fileInfo.cacheDest), {
|
|
477
|
+
recursive: true
|
|
478
|
+
});
|
|
479
|
+
await fsPromises.mkdir(dirname(fileInfo.finalDest), {
|
|
480
|
+
recursive: true
|
|
481
|
+
});
|
|
482
|
+
}
|
|
470
483
|
async function doProcessFile(fileInfo, sourceFilename, history) {
|
|
471
484
|
const {
|
|
472
485
|
file,
|
|
@@ -476,18 +489,13 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
476
489
|
} = fileInfo;
|
|
477
490
|
let stylesheet;
|
|
478
491
|
//try {
|
|
479
|
-
const dependencies = getFileDependencies(fileInfo, sourceFilename, history);
|
|
492
|
+
const dependencies = getFileDependencies(await loadPrecinct(), fileInfo, sourceFilename, history);
|
|
480
493
|
// cliInfo(`deps for ${file}`)
|
|
481
494
|
// cliInfo(dependencies)
|
|
482
495
|
const dependenciesFull = dependencies.map(d => resolveFile(d));
|
|
483
496
|
const nonEsmDependenciesFull = dependenciesFull.filter(fi => fi.type !== 'esm');
|
|
484
497
|
//await recordFileInPackagesLog(relFile, packageInfo)
|
|
485
|
-
await
|
|
486
|
-
recursive: true
|
|
487
|
-
});
|
|
488
|
-
await fsPromises.mkdir(dirname(finalDest), {
|
|
489
|
-
recursive: true
|
|
490
|
-
});
|
|
498
|
+
await makeOutputDirs(fileInfo);
|
|
491
499
|
//if (file.endsWith('index.cjs')) console.log('checking type for *index.cjs file:', packageInfo.type)
|
|
492
500
|
if (hasJavascriptFileExtension(file)) {
|
|
493
501
|
if (getModuleFormatForFile(file) === 'esm' && file.endsWith('.js') || file.endsWith('.mjs')) {
|
|
@@ -495,10 +503,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
495
503
|
const code = await babelFileEsm(file /*, packageInfo*/, nonEsmDependenciesFull, rel => {
|
|
496
504
|
stylesheet = rel;
|
|
497
505
|
});
|
|
498
|
-
|
|
499
|
-
//console.log('writing file', finalDest)
|
|
500
|
-
await fsPromises.writeFile(cacheDest, code); // rel contains the slash at start
|
|
501
|
-
await fsPromises.writeFile(finalDest, code); // rel contains the slash at start
|
|
506
|
+
await writeOutput(fileInfo, code);
|
|
502
507
|
} catch (e) {
|
|
503
508
|
cliError(`Error transforming file '${file}' with bableFileEsm`);
|
|
504
509
|
throw e;
|
|
@@ -507,12 +512,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
507
512
|
try {
|
|
508
513
|
//if (file.endsWith('index.cjs')) console.log('trying to transform a *index.cjs file:', file)
|
|
509
514
|
const code = await babelFileCjs(file, cacheDest, finalDest, packageInfo, nonEsmDependenciesFull);
|
|
510
|
-
|
|
511
|
-
//console.log('writing file', finalDest)
|
|
512
|
-
//if (file.endsWith('index.cjs')) console.log('writing a transformed *index.cjs file to cache:', cacheDest)
|
|
513
|
-
await fsPromises.writeFile(cacheDest, code); // rel contains the slash at start
|
|
514
|
-
//if (file.endsWith('index.cjs')) console.log('writing a transformed *index.cjs file to final:', finalDest)
|
|
515
|
-
await fsPromises.writeFile(finalDest, code); // rel contains the slash at start
|
|
515
|
+
await writeOutput(fileInfo, code);
|
|
516
516
|
} catch (e) {
|
|
517
517
|
cliError(`Error transforming file '${file}' with babelFileCjs`);
|
|
518
518
|
throw e;
|
|
@@ -520,8 +520,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
520
520
|
}
|
|
521
521
|
} else {
|
|
522
522
|
cliInfo(`copying package file ${file}`);
|
|
523
|
-
await
|
|
524
|
-
await fsPromises.copyFile(file, finalDest);
|
|
523
|
+
await copyOutput(fileInfo);
|
|
525
524
|
}
|
|
526
525
|
const dependenciesFileIndentifiers = dependenciesFull.map(d => d.fileIdentifier);
|
|
527
526
|
addToDependencyGraphFromFileInfo(fileInfo, dependenciesFileIndentifiers, stylesheet);
|
|
@@ -600,21 +599,15 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
600
599
|
if (visiting.has(fileIdentifier)) return true;
|
|
601
600
|
const node = opts.oldDependencyGraph[fileIdentifier];
|
|
602
601
|
visiting.add(fileIdentifier);
|
|
603
|
-
//
|
|
604
|
-
//
|
|
605
|
-
//
|
|
606
|
-
//
|
|
607
|
-
const usable = node !== undefined && (
|
|
602
|
+
// The cache key carries the package version, which is only a fingerprint of the content for
|
|
603
|
+
// something installed. A local package changes underneath an unchanged version, and the
|
|
604
|
+
// graph records no mtime or hash to catch that, so those are always compiled afresh - and
|
|
605
|
+
// never written to the cache either (writeOutput).
|
|
606
|
+
const usable = node !== undefined && !packageIsLocal(node.originalLocation) && tallied('package dirs exist', () => packageDirsExist(fileIdentifier, node)) && (node.dependencies ?? []).every(dep => cachedSubtreeIsUsable(dep, visiting));
|
|
608
607
|
visiting.delete(fileIdentifier);
|
|
609
608
|
subtreeUsable.set(fileIdentifier, usable);
|
|
610
609
|
return usable;
|
|
611
610
|
}
|
|
612
|
-
// The cache key carries the package version, which is only a fingerprint of the content for
|
|
613
|
-
// something installed. A linked package changes underneath an unchanged version, and the graph
|
|
614
|
-
// records no mtime or hash to catch that, so those are always compiled afresh.
|
|
615
|
-
function cacheKeyIdentifiesContent(originalLocation) {
|
|
616
|
-
return slash(originalLocation).includes('/node_modules/');
|
|
617
|
-
}
|
|
618
611
|
const processedFilesCache = {};
|
|
619
612
|
async function processFile(fileInfo, sourceFilename, history) {
|
|
620
613
|
const {
|
|
@@ -644,21 +637,10 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
644
637
|
} else {
|
|
645
638
|
//// Do we need to save these json files in dep chart?
|
|
646
639
|
//// Probably??
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
const relFile = file.slice(packageDir.length); // we're keeping the slash at the start
|
|
650
|
-
const cacheDest = packageInfo.cacheLocation + relFile;
|
|
651
|
-
const finalDest = packageInfo.finalLocation + relFile;
|
|
652
|
-
await fsPromises.mkdir(dirname(cacheDest), {
|
|
653
|
-
recursive: true
|
|
654
|
-
});
|
|
655
|
-
await fsPromises.mkdir(dirname(finalDest), {
|
|
656
|
-
recursive: true
|
|
657
|
-
});
|
|
658
|
-
await fsPromises.copyFile(file, cacheDest);
|
|
659
|
-
await fsPromises.copyFile(file, finalDest);
|
|
640
|
+
await makeOutputDirs(fileInfo);
|
|
641
|
+
await copyOutput(fileInfo);
|
|
660
642
|
addToDependencyGraphFromFileInfo(fileInfo);
|
|
661
|
-
return processedJsonFilesCache[file] = packageInfo;
|
|
643
|
+
return processedJsonFilesCache[file] = fileInfo.packageInfo;
|
|
662
644
|
}
|
|
663
645
|
}
|
|
664
646
|
async function processDependencies(dependencies, sourceFilename, history) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTypes.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,CAAA;AACzB,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvD,MAAM,MAAM,KAAK,GAAG,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"BabelTypes.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,CAAA;AACzB,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvD,MAAM,MAAM,KAAK,GAAG,OAAO,SAAS,CAAA;AAEpC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAA"}
|
package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformDependencyImportsCjs.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACjD,KAAK,KAAK,GAAG,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"BabelTransformDependencyImportsCjs.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACjD,KAAK,KAAK,GAAG,OAAO,SAAS,CAAA;AAK7B,OAAO,EACH,oBAAoB,EAAE,sBAAsB,EAC5C,KAAK,cAAc,EAAmB,KAAK,iBAAiB,EAC/D,MAAM,cAAc,CAAA;AAIrB,OAAO,KAAK,EACR,oBAAoB,EAAE,qBAAqB,EAAE,oCAAoC,EACjF,uCAAuC,EAAE,oBAAoB,EAChE,MAAM,oCAAoC,CAAA;AAU3C,KAAK,IAAI,GAAG;IACR,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,KAAK,KAAK,GAAG;IACT,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oCAAoC,EAAE,oCAAoC,CAAA;IAC1E,uCAAuC,EAAE,uCAAuC,CAAA;IAChF,oBAAoB,EAAE,oBAAoB,CAAA;CAC7C,CAAA;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IACxB,OAAO,KAAK;eAoC5C,SAAS;;kCAcmB,QAAQ,CAAC,iBAAiB,CAAC;uCAKtB,QAAQ,CAAC,sBAAsB,CAAC;qCAOlC,QAAQ,CAAC,oBAAoB,CAAC;6BAO/C,QAAQ,CAAC,cAAc,CAAC;;EAiE5D"}
|
package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformDependencyImportsEsm.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACjD,KAAK,KAAK,GAAG,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"BabelTransformDependencyImportsEsm.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACjD,KAAK,KAAK,GAAG,OAAO,SAAS,CAAA;AAM7B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAI9G,OAAO,KAAK,EACR,oBAAoB,EAAE,qBAAqB,EAAE,oCAAoC,EACjF,oBAAoB,EAAE,gBAAgB,EACzC,MAAM,oCAAoC,CAAA;AAM3C,KAAK,IAAI,GAAG;IACR,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,KAAK,KAAK,GAAG;IACT,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oCAAoC,EAAE,oCAAoC,CAAA;IAC1E,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,gBAAgB,EAAE,gBAAgB,CAAA;CACrC,CAAA;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IACxB,OAAO,KAAK;eA0B5C,SAAS;;gCAWQ,QAAQ,CAAC,iBAAiB,CAAC;uCAYX,QAAQ,CAAC,sBAAsB,CAAC;qCAalC,QAAQ,CAAC,oBAAoB,CAAC;6BAa/C,QAAQ,CAAC,cAAc,CAAC;;EAiC5D"}
|
|
@@ -34,7 +34,6 @@ await sxyFramework.build('prod');
|
|
|
34
34
|
// }
|
|
35
35
|
// //// end dev
|
|
36
36
|
if (sxyFramework.config.staticSite) {
|
|
37
|
-
// eslint-disable-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unsafe-type-assertion -- config better be set
|
|
38
37
|
if (!quiet) cliOut(`Building static site`);
|
|
39
38
|
await sxyFramework.clean('staticSite');
|
|
40
39
|
await sxyFramework.staticGen();
|
|
@@ -22,16 +22,16 @@ const {
|
|
|
22
22
|
assets,
|
|
23
23
|
publicFiles,
|
|
24
24
|
all,
|
|
25
|
+
packages,
|
|
26
|
+
tests,
|
|
25
27
|
watch,
|
|
26
28
|
clean,
|
|
27
29
|
quiet,
|
|
28
|
-
packages,
|
|
29
30
|
profile,
|
|
30
31
|
output: outputOption,
|
|
31
32
|
readyFile: readyFileOption,
|
|
32
33
|
ignoreDirs,
|
|
33
34
|
ignorePatterns,
|
|
34
|
-
tests,
|
|
35
35
|
fresh
|
|
36
36
|
} = cliArgs({
|
|
37
37
|
js: '--js',
|
|
@@ -40,16 +40,16 @@ const {
|
|
|
40
40
|
assets: '--assets',
|
|
41
41
|
publicFiles: '--public',
|
|
42
42
|
all: '--all',
|
|
43
|
+
packages: '--packages',
|
|
44
|
+
tests: '--tests',
|
|
43
45
|
watch: '--watch',
|
|
44
46
|
clean: '--no-clean',
|
|
45
47
|
quiet: '--quiet',
|
|
46
|
-
packages: '--packages',
|
|
47
48
|
profile: '--profile',
|
|
48
49
|
output: '--output <dir>',
|
|
49
50
|
readyFile: '--ready-file <file>',
|
|
50
51
|
ignoreDirs: '--ignore-dirs <dir>...',
|
|
51
52
|
ignorePatterns: '--ignore-patterns <pattern>...',
|
|
52
|
-
tests: '--tests',
|
|
53
53
|
fresh: '--fresh'
|
|
54
54
|
}, {
|
|
55
55
|
handledElsewhere: ['--profile-modules'],
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { PluginItem } from
|
|
1
|
+
import type { PluginItem } from '@babel/core';
|
|
2
|
+
export declare function loadTypescriptPreset(): Promise<void>;
|
|
2
3
|
export declare function typescriptPreset(): PluginItem;
|
|
3
4
|
declare const userCommonConfig: {
|
|
4
5
|
ignore: RegExp[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babel.user.common.config.d.ts","sourceRoot":"","sources":["../../src/build/babel.user.common.config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAW/D,wBAAgB,gBAAgB,IAAI,UAAU,
|
|
1
|
+
{"version":3,"file":"babel.user.common.config.d.ts","sourceRoot":"","sources":["../../src/build/babel.user.common.config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAW/D,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1D;AACD,wBAAgB,gBAAgB,IAAI,UAAU,CAK7C;AAMD,QAAA,MAAM,gBAAgB;;;;aAcb,UAAU,EAAE;aAMZ,UAAU,EAAE;CACO,CAAA;AAE5B,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
import { MakeBabelTransformJsxExtensionsToJs } from
|
|
2
|
-
import { buildFolder } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import { MakeBabelTransformJsxExtensionsToJs } from '../babelPlugins/BabelTransformJsxExtensionsToJs.js';
|
|
2
|
+
import { buildFolder } from '../settings.js';
|
|
3
|
+
import babelPresetReactModule from '@babel/preset-react';
|
|
4
|
+
import { TungstenError } from '../TungstenError.js';
|
|
5
5
|
const babelPresetReact = babelPresetReactModule.default;
|
|
6
|
-
const require = createRequire(import.meta.url);
|
|
7
6
|
// config `typescript: true`: appended after preset-react so babel runs it first (presets run last
|
|
8
7
|
// to first). allowDeclareFields matches tsc's useDefineForClassFields: `x: T` stays a field,
|
|
9
8
|
// `declare x: T` is erased - without it babel erases both.
|
|
10
|
-
//
|
|
9
|
+
// Loaded on demand - ~115 modules only this flag needs - by import() so the vendor hook serves it.
|
|
10
|
+
// The config builders are synchronous, so the load is a separate step they rely on.
|
|
11
|
+
let babelPresetTypescript;
|
|
12
|
+
export async function loadTypescriptPreset() {
|
|
13
|
+
babelPresetTypescript ??= (await import('@babel/preset-typescript')).default.default;
|
|
14
|
+
}
|
|
11
15
|
export function typescriptPreset() {
|
|
12
|
-
|
|
16
|
+
if (babelPresetTypescript === undefined) {
|
|
17
|
+
throw new TungstenError(`typescriptPreset() called before loadTypescriptPreset()`);
|
|
18
|
+
}
|
|
13
19
|
return [babelPresetTypescript, {
|
|
14
20
|
allowDeclareFields: true
|
|
15
21
|
}];
|
|
16
22
|
}
|
|
17
|
-
const regexEscape = r => r.replaceAll(
|
|
23
|
+
const regexEscape = r => r.replaceAll('.', '\\.');
|
|
18
24
|
const ignoreRegex = new RegExp(`(node_modules|${regexEscape(buildFolder)})`);
|
|
19
25
|
const userCommonConfig = {
|
|
20
26
|
ignore: [ignoreRegex],
|
|
@@ -22,8 +28,8 @@ const userCommonConfig = {
|
|
|
22
28
|
babelrc: false,
|
|
23
29
|
configFile: false,
|
|
24
30
|
presets: [[babelPresetReact, {
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
'runtime': 'automatic',
|
|
32
|
+
'importSource': 'tungsten'
|
|
27
33
|
}]
|
|
28
34
|
// [babelPresetTungstenSignals, {
|
|
29
35
|
// "runtime": "automatic",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileJavascript.d.ts","sourceRoot":"","sources":["../../src/build/compileJavascript.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAO/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"compileJavascript.d.ts","sourceRoot":"","sources":["../../src/build/compileJavascript.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAO/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAoBtC,KAAK,uBAAuB,GAAG;IAC3B,OAAO,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAA;IAClC,WAAW,EAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAA;IACtC,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,MAAM,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACnC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,eAAe,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IAE3F,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAuBD,wBAAsB,iBAAiB,CACnC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,EACtD,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EACrE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,UAAO,EAC1E,OAAO,GAAE,wBAA6B,GACvC,OAAO,CAAC,uBAAuB,CAAC,CAsgBlC"}
|
|
@@ -8,10 +8,11 @@ import serializeJavascript from 'serialize-javascript';
|
|
|
8
8
|
import { glob } from '../glob.js';
|
|
9
9
|
import { devRawBuildFolder, packagesCacheFolder, prodRawBuildFolder, stylesCacheFolder } from '../settings.js';
|
|
10
10
|
import { frameworkVersion } from './frameworkDestLocation.js';
|
|
11
|
+
import { loadTypescriptPreset } from './babel.user.common.config.js';
|
|
11
12
|
import { makeBabelUserDevConfig } from './makeBabelUserDevConfig.js';
|
|
12
13
|
import { makeBabelUserProdConfig } from './makeBabelUserProdConfig.js';
|
|
13
14
|
import { makeBabelRawConfig } from './makeBabelRawConfig.js';
|
|
14
|
-
import { cliOut, cliLog, cliError, cliWarn } from '../cliOutput.js';
|
|
15
|
+
import { cliOut, cliLog, cliError, cliWarn } from '../cliOutput.js';
|
|
15
16
|
import { createTimeProfiler, isProfiling, tallied } from '../timeProfiler.js';
|
|
16
17
|
import { tallyBabel } from './tallyBabel.js';
|
|
17
18
|
import { TungstenError } from '../TungstenError.js';
|
|
@@ -40,6 +41,7 @@ export async function compileJavascript(projectDir, appConfig, codeLocation, sou
|
|
|
40
41
|
const compilePackages = options.packages !== false;
|
|
41
42
|
// codeLocation's .ts/.tsx are sources too, compiled to .js by babel; .d.ts is never one
|
|
42
43
|
const typescript = appConfig.typescript === true;
|
|
44
|
+
if (typescript) await loadTypescriptPreset();
|
|
43
45
|
const rawBuildLocation = options.rawBuildLocation ?? join(projectDir, mode === 'dev' ? devRawBuildFolder : prodRawBuildFolder);
|
|
44
46
|
let dependencyGraphDir = '';
|
|
45
47
|
let dependencyGraphLocation = '';
|
|
@@ -77,9 +79,6 @@ export async function compileJavascript(projectDir, appConfig, codeLocation, sou
|
|
|
77
79
|
if (isProfiling()) {
|
|
78
80
|
tallyBabel(config);
|
|
79
81
|
tallyBabel(rawConfig);
|
|
80
|
-
if (mode === 'dev' && compilePackages) {
|
|
81
|
-
cliWarn(`profiling serves linked packages from the packages cache -` + ` pass --fresh after rebuilding one, or this run compiles stale code`);
|
|
82
|
-
}
|
|
83
82
|
}
|
|
84
83
|
// compile with the API
|
|
85
84
|
const codeLocationLength = codeLocation.length + 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileStyles.d.ts","sourceRoot":"","sources":["../../src/build/compileStyles.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"compileStyles.d.ts","sourceRoot":"","sources":["../../src/build/compileStyles.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AA2OpE,wBAAsB,aAAa,CAC/B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,uBAAuB,EAC/B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,KAAK,UAAO,EACZ,QAAQ,CAAC,EAAE,MAAM,IAAI,EACrB,KAAK,UAAQ,oBAiGhB"}
|
|
@@ -6,7 +6,7 @@ import { promises as fsPromises, utimesSync } from 'fs';
|
|
|
6
6
|
import * as sass from 'sass';
|
|
7
7
|
import { glob } from '../glob.js';
|
|
8
8
|
import { staticFolder } from '../settings.js';
|
|
9
|
-
import { cliError, cliOut } from '../cliOutput.js';
|
|
9
|
+
import { cliError, cliOut } from '../cliOutput.js';
|
|
10
10
|
import { throwError } from '../throwError.js';
|
|
11
11
|
import { resolveSassImport, resolveScssImport } from './resolveSassScssImports.js';
|
|
12
12
|
function debug(...texts) {
|
|
@@ -32,7 +32,9 @@ function sassToCss(data, file, importBase) {
|
|
|
32
32
|
return error;
|
|
33
33
|
} else {
|
|
34
34
|
// throw not return because this is unexpected
|
|
35
|
-
|
|
35
|
+
const ex = new Error(`Error returned from sass compilation was not an instance of Error.` + ` Type: ${typeof error}, value: ${String(error)}`);
|
|
36
|
+
ex.cause = error;
|
|
37
|
+
throw ex;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -50,7 +52,9 @@ function scssToCss(data, file, importBase) {
|
|
|
50
52
|
return error;
|
|
51
53
|
} else {
|
|
52
54
|
// throw not return because this is unexpected
|
|
53
|
-
|
|
55
|
+
const ex = new Error(`Error returned from scss compilation was not an instance of Error.` + ` Type: ${typeof error}, value: ${String(error)}`);
|
|
56
|
+
ex.cause = error;
|
|
57
|
+
throw ex;
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
}
|
|
@@ -30,14 +30,13 @@ export async function createClientFiles(config, mode, buildLocation) {
|
|
|
30
30
|
const possibleRootComponentExportName = rcFile.slice(0, rcFile.lastIndexOf('.'));
|
|
31
31
|
const rootComponentPromise = fsPromises.writeFile(clientRootComponentFileLocation,
|
|
32
32
|
// to
|
|
33
|
-
`export * as module from '../${codeSubPath}${fixExtension(rootComponentRelFilePath)}'; export const filename = '${possibleRootComponentExportName}'` // eslint-disable-line max-len
|
|
33
|
+
`export * as module from '../${codeSubPath}${fixExtension(rootComponentRelFilePath)}'; export const filename = '${possibleRootComponentExportName}'` // eslint-disable-line @stylistic/max-len
|
|
34
34
|
);
|
|
35
35
|
promises.push(rootComponentPromise);
|
|
36
36
|
} else {
|
|
37
37
|
const rootComponentPromise = fsPromises.writeFile(clientRootComponentFileLocation,
|
|
38
38
|
// to
|
|
39
|
-
`export default null`
|
|
40
|
-
);
|
|
39
|
+
`export default null`);
|
|
41
40
|
promises.push(rootComponentPromise);
|
|
42
41
|
}
|
|
43
42
|
// if (config.useRootComponent) {
|
|
@@ -20,7 +20,7 @@ export async function createInstanceConfigFile(config, mode, buildLocation) {
|
|
|
20
20
|
});
|
|
21
21
|
await fsPromises.writeFile(appConfigLocation,
|
|
22
22
|
// to
|
|
23
|
-
`export default { prod: ${(mode === 'prod').toString()}, useRootComponent: ${config.useRootComponent.toString()}, siteBasePath: "${siteBasePath}", clientSideNav: ${config.clientSideNav.toString()}, staticSite: ${config.staticSite.toString()}, csr: ${config.csr.toString()} };` // eslint-disable-line max-len
|
|
23
|
+
`export default { prod: ${(mode === 'prod').toString()}, useRootComponent: ${config.useRootComponent.toString()}, siteBasePath: "${siteBasePath}", clientSideNav: ${config.clientSideNav.toString()}, staticSite: ${config.staticSite.toString()}, csr: ${config.csr.toString()} };` // eslint-disable-line @stylistic/max-len
|
|
24
24
|
);
|
|
25
25
|
} catch (e) {
|
|
26
26
|
throw new TungstenError(`createAppConfig() Error: error creating app config file`);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { nodeResolve } from
|
|
2
|
-
import commonjs from
|
|
1
|
+
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
2
|
+
import commonjs from '@rollup/plugin-commonjs';
|
|
3
3
|
//import { babel } from "@rollup/plugin-babel"
|
|
4
|
-
import terser from
|
|
4
|
+
import terser from '@rollup/plugin-terser';
|
|
5
5
|
//import gzip from "rollup-plugin-gzip"
|
|
6
|
-
import jsonModule from
|
|
7
|
-
const json = typeof jsonModule ===
|
|
8
|
-
import { visualizer } from
|
|
6
|
+
import jsonModule from '@rollup/plugin-json';
|
|
7
|
+
const json = typeof jsonModule === 'function' ? jsonModule : jsonModule.default;
|
|
8
|
+
import { visualizer } from 'rollup-plugin-visualizer';
|
|
9
9
|
const rollupConfig = {
|
|
10
10
|
plugins: [json(), nodeResolve(), commonjs(),
|
|
11
11
|
// must be before babel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frameworkDestLocation.d.ts","sourceRoot":"","sources":["../../src/build/frameworkDestLocation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"frameworkDestLocation.d.ts","sourceRoot":"","sources":["../../src/build/frameworkDestLocation.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,gBAAgB,EAAE,MAA4B,CAAA;AAG3D,eAAO,MAAM,qBAAqB,QACwE,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getPackageJson } from 'sxy-package-investigator';
|
|
2
2
|
import { TungstenError } from '../TungstenError.js';
|
|
3
3
|
import { getFrameworkDir } from '../getFrameworkDir.js';
|
|
4
|
-
import { frameworkDistFolder,
|
|
4
|
+
import { frameworkDistFolder, packagesFolder } from '../settings.js';
|
|
5
|
+
import { makePackageIdentifier } from './packageIdentifier.js';
|
|
5
6
|
const packageJsonResult = getPackageJson(getFrameworkDir());
|
|
6
7
|
const packageJson = packageJsonResult.value;
|
|
7
8
|
if (packageJson === undefined) {
|
|
@@ -11,4 +12,6 @@ if (packageJson.version === undefined) {
|
|
|
11
12
|
throw new TungstenError(`frameworkDestLocation error: framework package.json has no version`);
|
|
12
13
|
}
|
|
13
14
|
export const frameworkVersion = packageJson.version;
|
|
14
|
-
|
|
15
|
+
// the same identifier BabelTransformPackageImports gives the framework when it compiles it, so
|
|
16
|
+
// the aliases point where the files land - a linked framework is not at tungsten@<version>
|
|
17
|
+
export const frameworkDestLocation = `/${packagesFolder}/${makePackageIdentifier(getFrameworkDir(), packageJson)}/${frameworkDistFolder}`;
|
|
@@ -6,7 +6,7 @@ import { MakeBabelTransformJsxExtensionsToJs } from '../babelPlugins/BabelTransf
|
|
|
6
6
|
// extension rewrite; none of the client plugins, so imports are left for node to resolve.
|
|
7
7
|
export function makeBabelRawConfig(typescript) {
|
|
8
8
|
const rawConfig = objectCopy(userCommonConfig);
|
|
9
|
-
if (typescript) rawConfig.presets.push(typescriptPreset());
|
|
9
|
+
if (typescript) rawConfig.presets.push(typescriptPreset());
|
|
10
10
|
rawConfig.plugins = [MakeBabelTransformJsxExtensionsToJs()];
|
|
11
11
|
return rawConfig;
|
|
12
12
|
}
|