tungsten 0.4.12 → 0.4.14
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/AnyComponent.d.ts.map +1 -1
- package/dist/Components.d.ts +40 -0
- package/dist/Components.d.ts.map +1 -1
- package/dist/Components.js +66 -77
- package/dist/DomPointer.js +1 -1
- package/dist/DomRegion.js +2 -2
- package/dist/Framework.js +1 -1
- package/dist/FrameworkConfig.d.ts.map +1 -1
- package/dist/Instance/Instance.js +1 -1
- package/dist/RenderedContentNode.d.ts.map +1 -1
- package/dist/RenderedContentNode.js +2 -1
- package/dist/Sass.d.ts.map +1 -1
- package/dist/Sass.js +1 -0
- package/dist/Servers/DevServer.d.ts.map +1 -1
- package/dist/Servers/DevServer.js +4 -3
- package/dist/Servers/ProdServer.js +1 -1
- package/dist/Servers/StaticSiteServer.js +1 -1
- package/dist/Servers/loadEnvsDev.d.ts +1 -1
- package/dist/Servers/loadEnvsDev.d.ts.map +1 -1
- package/dist/Servers/loadEnvsDev.js +4 -2
- package/dist/Servers/routing.d.ts.map +1 -1
- package/dist/Servers/routing.js +1 -1
- package/dist/Store/Store.js +1 -1
- package/dist/Store/TypeSafeStore.js +1 -1
- package/dist/Store/makeStore.js +1 -1
- package/dist/Store/registerStore.js +1 -1
- package/dist/TElement.js +1 -1
- package/dist/TungstenApp.js +6 -2
- package/dist/_client/cjsHelpers.d.ts.map +1 -1
- package/dist/_client/cjsHelpers.js +4 -2
- package/dist/_client/client.js +0 -14
- package/dist/_client/hmr.d.ts +2 -0
- package/dist/_client/hmr.d.ts.map +1 -0
- package/dist/_client/hmr.js +65 -0
- package/dist/_client/liveReload.d.ts +2 -0
- package/dist/_client/liveReload.d.ts.map +1 -0
- package/dist/_client/liveReload.js +6 -0
- package/dist/_client/liveReloadSource.d.ts +3 -0
- package/dist/_client/liveReloadSource.d.ts.map +1 -0
- package/dist/_client/liveReloadSource.js +25 -0
- package/dist/api/getExport.d.ts.map +1 -1
- package/dist/api/getExport.js +1 -0
- package/dist/babelPlugins/BabelTransformBindDirect.js +2 -0
- package/dist/babelPlugins/BabelTransformBindVar.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentState.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformComponentStyles.js +5 -4
- package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformCssImports.js +2 -2
- package/dist/babelPlugins/BabelTransformDependencyImportsOld.js +1 -1
- package/dist/babelPlugins/BabelTransformDeproxyState.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
- package/dist/babelPlugins/BabelTransformPackageImports.js +10 -5
- package/dist/babelPlugins/BabelTransformRemoveBlocks.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.js +2 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -1
- package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +2 -1
- package/dist/babelPlugins/transformPackageImports/getWebLocationOfPackageFile.js +1 -1
- package/dist/bin/args.js +1 -1
- package/dist/bin/commands/build.js +1 -1
- package/dist/bin/commands/compileSimplePackage.js +1 -0
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +11 -3
- package/dist/bin/vendorHook.d.ts +3 -0
- package/dist/bin/vendorHook.d.ts.map +1 -0
- package/dist/bin/vendorHook.js +34 -0
- package/dist/browserStorage.js +4 -2
- package/dist/build/babel.user.common.config.d.ts +2 -0
- package/dist/build/babel.user.common.config.d.ts.map +1 -1
- package/dist/build/babel.user.common.config.js +10 -4
- package/dist/build/bundle.d.ts.map +1 -1
- package/dist/build/bundle.js +10 -1
- package/dist/build/compileJavascript.d.ts.map +1 -1
- package/dist/build/compileJavascript.js +40 -27
- package/dist/build/compileStyles.js +4 -4
- package/dist/build/copyAssets.js +3 -3
- package/dist/build/copyPublicFiles.js +3 -3
- package/dist/build/createClientFiles.d.ts.map +1 -1
- package/dist/build/createClientFiles.js +4 -8
- package/dist/build/frameworkStylesheets.js +1 -1
- package/dist/build/getAllSxyClientModules.d.ts.map +1 -1
- package/dist/build/getAllSxyClientModules.js +4 -28
- package/dist/build/getSxyClientPackageAliases.d.ts.map +1 -1
- package/dist/build/getSxyClientPackageAliases.js +3 -1
- package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
- package/dist/build/makeBabelUserProdConfig.d.ts.map +1 -1
- package/dist/build/rollupExtractComponentStylesheets.js +1 -1
- package/dist/build/sassImportParser.js +2 -2
- package/dist/build/tallyBabel.d.ts +3 -0
- package/dist/build/tallyBabel.d.ts.map +1 -0
- package/dist/build/tallyBabel.js +11 -0
- package/dist/clone.js +4 -4
- package/dist/compat/context.d.ts.map +1 -1
- package/dist/compat/types.d.ts.map +1 -1
- package/dist/componentProxyHandlers.d.ts +20 -13
- package/dist/componentProxyHandlers.d.ts.map +1 -1
- package/dist/componentProxyHandlers.js +134 -94
- package/dist/components/Stylesheet.d.ts +1 -2
- package/dist/components/Stylesheet.d.ts.map +1 -1
- package/dist/components/Stylesheet.js +1 -1
- package/dist/components/bindable/BindableCheckbox.d.ts.map +1 -1
- package/dist/components/bindable/BindableInput.d.ts.map +1 -1
- package/dist/components/bindable/BindableInputTypedLegacy.d.ts.map +1 -1
- package/dist/components/bindable/BindableRadio.d.ts.map +1 -1
- package/dist/components/bindable/BindableTextarea.d.ts.map +1 -1
- package/dist/components/library/RichTextEditor/RichTextEditor.js +2 -2
- package/dist/components/library/RichTextEditor/contentTree.js +1 -1
- package/dist/concat.d.ts.map +1 -1
- package/dist/concat.js +2 -2
- package/dist/copy.d.ts.map +1 -1
- package/dist/createRoutes.d.ts +1 -1
- package/dist/createRoutes.d.ts.map +1 -1
- package/dist/env/Env.js +2 -2
- package/dist/env/getEnvSchemas.d.ts +2 -2
- package/dist/env/getEnvSchemas.d.ts.map +1 -1
- package/dist/env/getEnvSchemas.js +7 -5
- package/dist/env/windowGlobalEnvStatement.d.ts.map +1 -1
- package/dist/findProjectDir.d.ts.map +1 -1
- package/dist/findProjectDir.js +18 -4
- package/dist/findUserConfig.js +2 -2
- package/dist/foreach.js +1 -0
- package/dist/frameworkConfigSchema.js +2 -2
- package/dist/getComponent.d.ts.map +1 -1
- package/dist/getComponentDev.d.ts.map +1 -1
- package/dist/getRoutes.d.ts.map +1 -1
- package/dist/getRoutes.js +13 -22
- package/dist/getRoutesDevs.d.ts.map +1 -1
- package/dist/getStackTrace.js +1 -1
- package/dist/glob.d.ts +5 -0
- package/dist/glob.d.ts.map +1 -0
- package/dist/glob.js +103 -0
- package/dist/helpers/getFetchCompatibleHeaders.js +2 -2
- package/dist/hmr/applyHmrModule.js +5 -5
- package/dist/hmr/componentIdentity.js +1 -1
- package/dist/hmr/instanceRegistry.js +2 -2
- package/dist/hooks/useReducer.d.ts.map +1 -1
- package/dist/hooks/useState.d.ts.map +1 -1
- package/dist/hooks/useState.js +2 -8
- package/dist/hydrate/hydrate.d.ts +1 -1
- package/dist/hydrate/hydrate.d.ts.map +1 -1
- package/dist/hydrate/hydrate.js +29 -25
- package/dist/hydrate/reconcileHydratedAttributes.js +2 -2
- package/dist/indexInner.d.ts +1 -1
- package/dist/indexInner.d.ts.map +1 -1
- package/dist/indexInner.js +1 -0
- package/dist/makeFinalConfig.d.ts.map +1 -1
- package/dist/makeFinalConfig.js +2 -2
- package/dist/markOptionSelected.js +1 -1
- package/dist/mergeConfigs.d.ts.map +1 -1
- package/dist/mergeConfigs.js +11 -2
- package/dist/mutatingFunctions.d.ts +2 -1
- package/dist/mutatingFunctions.d.ts.map +1 -1
- package/dist/mutatingFunctions.js +10 -4
- package/dist/postcssPlugins/TransformCssNames.js +2 -2
- package/dist/rawHtml/parseHtml.js +1 -1
- package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -1
- package/dist/render/componentNodeToRenderingTree.js +6 -17
- package/dist/render/contentToHtml.d.ts.map +1 -1
- package/dist/render/contentToHtml.js +1 -1
- package/dist/render/getFunctionBodyAsString.d.ts.map +1 -1
- package/dist/render/getFunctionBodyAsString.js +2 -5
- package/dist/render/processHead.d.ts.map +1 -1
- package/dist/render/processHead.js +5 -34
- package/dist/render/processProps.js +2 -2
- package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
- package/dist/render/rootToHtml.d.ts.map +1 -1
- package/dist/routing/Route.js +1 -1
- package/dist/routing/RouteDataFunction.type.d.ts.map +1 -1
- package/dist/routing/RoutesWithSafeParams.js +1 -1
- package/dist/routing/WebRedirect.d.ts.map +1 -1
- package/dist/routing/compareRequestToRegex.js +2 -2
- package/dist/routing/getPathPriority.js +1 -1
- package/dist/serverRpc.d.ts.map +1 -1
- package/dist/signals/tracking.d.ts +33 -0
- package/dist/signals/tracking.d.ts.map +1 -0
- package/dist/signals/tracking.js +87 -0
- package/dist/slash.d.ts +2 -0
- package/dist/slash.d.ts.map +1 -0
- package/dist/slash.js +5 -0
- package/dist/spawnShellCommand.js +1 -1
- package/dist/staticGen/staticGen.d.ts.map +1 -1
- package/dist/staticGen/staticGen.js +9 -7
- package/dist/staticGen/staticGenFunctions.js +1 -1
- package/dist/style/jssToCss.d.ts.map +1 -1
- package/dist/style/jssToCss.js +11 -9
- package/dist/style/unusedStyles.d.ts.map +1 -1
- package/dist/testing/host.js +11 -11
- package/dist/testing/hydrateTestApp.d.ts.map +1 -1
- package/dist/testing/hydrateTestApp.js +9 -9
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/installTestStyleProcessors.js +1 -1
- package/dist/testing/loadEnv.d.ts +4 -1
- package/dist/testing/loadEnv.d.ts.map +1 -1
- package/dist/testing/loadEnv.js +2 -2
- package/dist/testing/temp/componentPackageMock.js +3 -3
- package/dist/timeProfiler.d.ts +4 -0
- package/dist/timeProfiler.d.ts.map +1 -1
- package/dist/timeProfiler.js +16 -0
- package/dist/todo.js +2 -1
- package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
- package/dist/update/integrateUpdateVdom.js +17 -14
- package/dist/update/integrateUpdateVdomPrebuild.js +5 -5
- package/dist/warnOnFrameworkChange.js +1 -1
- package/dist/watch.js +2 -2
- package/package.json +14 -33
- package/types/modules.d.ts +0 -1
- package/vendor/babel-core.js +26 -0
- package/vendor/babel-parser.js +9 -0
- package/vendor/babel-plugin-syntax-import-assertions.js +50 -0
- package/vendor/babel-preset-react.js +872 -0
- package/vendor/babel-preset-typescript.js +26 -0
- package/vendor/babel-types.js +9 -0
- package/vendor/chalk-extensions.js +1994 -0
- package/vendor/chalk.js +647 -0
- package/vendor/chokidar.js +6889 -0
- package/vendor/chunk-1TN2rK3j.js +1218 -0
- package/vendor/chunk-1UuLTU0U.js +34 -0
- package/vendor/chunk-B_NeooyV.js +86 -0
- package/vendor/chunk-C12hSZn7.js +88 -0
- package/vendor/chunk-C3YkUGz5.js +19 -0
- package/vendor/chunk-C3fcZDjl.js +41964 -0
- package/vendor/chunk-C9FSKeSx.js +14603 -0
- package/vendor/chunk-CPArXGxa.js +14623 -0
- package/vendor/cjs-module-lexer.js +6 -0
- package/vendor/dotenv.js +412 -0
- package/vendor/express.js +40577 -0
- package/vendor/import-meta-resolve.js +2201 -0
- package/vendor/manifest.json +29 -0
- package/vendor/postcss.js +8546 -0
- package/vendor/serialize-javascript.js +293 -0
- package/vendor/sxy-lib-arrays.js +113 -0
- package/vendor/sxy-lib-object-copy.js +1781 -0
- package/vendor/sxy-lib-objects.js +156 -0
- package/vendor/sxy-lib-promises.js +47 -0
- package/vendor/sxy-package-investigator.js +202 -0
- package/vendor/valibot.js +7664 -0
- package/dist/Servers/hono/DevServerHono.d.ts +0 -2
- package/dist/Servers/hono/DevServerHono.d.ts.map +0 -1
- package/dist/Servers/hono/DevServerHono.js +0 -423
- package/dist/Servers/hono/ProdServerHono.d.ts +0 -2
- package/dist/Servers/hono/ProdServerHono.d.ts.map +0 -1
- package/dist/Servers/hono/ProdServerHono.js +0 -220
- package/dist/Servers/hono/TungstenServerHono.d.ts +0 -6
- package/dist/Servers/hono/TungstenServerHono.d.ts.map +0 -1
- package/dist/Servers/hono/TungstenServerHono.js +0 -36
- package/dist/api/ApiEndpointHono.d.ts +0 -3
- package/dist/api/ApiEndpointHono.d.ts.map +0 -1
- package/dist/api/ApiEndpointHono.js +0 -1
- package/dist/api/ApiRouteHono.d.ts +0 -7
- package/dist/api/ApiRouteHono.d.ts.map +0 -1
- package/dist/api/ApiRouteHono.js +0 -1
- package/dist/api/ApiRoutesHono.d.ts +0 -5
- package/dist/api/ApiRoutesHono.d.ts.map +0 -1
- package/dist/api/ApiRoutesHono.js +0 -1
- package/dist/api/getApiRoutesHono.d.ts +0 -6
- package/dist/api/getApiRoutesHono.d.ts.map +0 -1
- package/dist/api/getApiRoutesHono.js +0 -14
- package/dist/build/compilePackages.d.ts +0 -2
- package/dist/build/compilePackages.d.ts.map +0 -1
- package/dist/build/compilePackages.js +0 -89
- package/dist/build/findRequiredUserModule.d.ts +0 -2
- package/dist/build/findRequiredUserModule.d.ts.map +0 -1
- package/dist/build/findRequiredUserModule.js +0 -36
- package/dist/build/processPackage.d.ts +0 -4
- package/dist/build/processPackage.d.ts.map +0 -1
- package/dist/build/processPackage.js +0 -91
- package/dist/build/tallyBabelPlugins.d.ts +0 -3
- package/dist/build/tallyBabelPlugins.d.ts.map +0 -1
- package/dist/build/tallyBabelPlugins.js +0 -63
- package/dist/testing/loadEnvSetup.d.ts +0 -2
- package/dist/testing/loadEnvSetup.d.ts.map +0 -1
- package/dist/testing/loadEnvSetup.js +0 -7
- package/sxy-loader.config.js +0 -7
|
@@ -11,13 +11,15 @@ import { tungstenCorePublicEnvSchema } from './tungstenCorePublicEnvSchema.js';
|
|
|
11
11
|
import { checkIsObject, validate } from '../standardSchema.js';
|
|
12
12
|
export async function loadEnvsDev(config,
|
|
13
13
|
//load: Load,
|
|
14
|
-
iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false
|
|
14
|
+
iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false,
|
|
15
|
+
// where the compiled env schemas module is, when not the dev build (a test run's own compile)
|
|
16
|
+
buildCodeFolder) {
|
|
15
17
|
//console.log('loadEnvsDev')
|
|
16
18
|
const tempEnv = {
|
|
17
19
|
...initialProcessEnv
|
|
18
20
|
};
|
|
19
21
|
// const envSchemas = await getEnvSchemasDev(config, load)
|
|
20
|
-
const envSchemas = await getEnvSchemasDev(config, iteration);
|
|
22
|
+
const envSchemas = await getEnvSchemasDev(config, iteration, buildCodeFolder);
|
|
21
23
|
const projectDir = process.cwd();
|
|
22
24
|
const envLocation = join(projectDir, '.env');
|
|
23
25
|
const privateEnvLocation = join(projectDir, '.env.private');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/Servers/routing.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/Servers/routing.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAIjE,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAE,iBAAiB,GAAG,IAAW,GAC5G,OAAO,CAAC,gBAAgB,CAAC,CA+D9B"}
|
package/dist/Servers/routing.js
CHANGED
|
@@ -9,7 +9,7 @@ export async function routing(location, routes, serverDataLoading = null) {
|
|
|
9
9
|
// this is assuming an array
|
|
10
10
|
// should check whether we have an array, fragment, or single element instead
|
|
11
11
|
for (const [_path, route] of Object.entries(routes)) {
|
|
12
|
-
const path = _path; // eslint-disable-line
|
|
12
|
+
const path = _path; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- TS fails to infer type of path correctly
|
|
13
13
|
if (path === 'default') {
|
|
14
14
|
defaultRoute = route;
|
|
15
15
|
continue;
|
package/dist/Store/Store.js
CHANGED
|
@@ -226,7 +226,7 @@ export class Store {
|
|
|
226
226
|
if (IsObject(o)) {
|
|
227
227
|
throw new TungstenError(`Store.increment() error: data for ${key} is not an object. Is type ${typeof o} instead`)
|
|
228
228
|
}
|
|
229
|
-
Object.assign(this.data[key] as GenericObject, object) // eslint-disable-line
|
|
229
|
+
Object.assign(this.data[key] as GenericObject, object) // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- TS won't let me typecheck within this.data
|
|
230
230
|
this.push(key)
|
|
231
231
|
}
|
|
232
232
|
push(key: string) {
|
|
@@ -229,7 +229,7 @@ export class TypeSafeStore<Schema extends object> {
|
|
|
229
229
|
if (IsObject(o)) {
|
|
230
230
|
throw new TungstenError(`Store.increment() error: data for ${key} is not an object. Is type ${typeof o} instead`)
|
|
231
231
|
}
|
|
232
|
-
Object.assign(this.data[key] as GenericObject, object) // eslint-disable-line
|
|
232
|
+
Object.assign(this.data[key] as GenericObject, object) // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- TS won't let me typecheck within this.data
|
|
233
233
|
this.push(key)
|
|
234
234
|
}
|
|
235
235
|
push(key: string) {
|
package/dist/Store/makeStore.js
CHANGED
|
@@ -119,5 +119,5 @@ export class StoreValue {
|
|
|
119
119
|
export function makeStore(schema, subscribedElements, serverDataLoading = null) {
|
|
120
120
|
//const Class = (isServer) ? StoreValueServer : StoreValue
|
|
121
121
|
const store = objectMap(schema, (key, value) => serverDataLoading ? new StoreValueServer(key, value, subscribedElements, serverDataLoading) : new StoreValue(key, value, subscribedElements));
|
|
122
|
-
return store; // eslint-disable-line
|
|
122
|
+
return store; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- not sure, just want to get rid of squigglies
|
|
123
123
|
}
|
|
@@ -6,7 +6,7 @@ export function registerStore(StoreSchema) {
|
|
|
6
6
|
storeSchemas[0] = StoreSchema;
|
|
7
7
|
return {
|
|
8
8
|
getComponentStore: element => {
|
|
9
|
-
const store = element.__instance.stores[position]; // eslint-disable-line
|
|
9
|
+
const store = element.__instance.stores[position]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- we set this schema above
|
|
10
10
|
const proxiedStore = element.__proxyStore(store);
|
|
11
11
|
return proxiedStore;
|
|
12
12
|
},
|
package/dist/TElement.js
CHANGED
|
@@ -17,7 +17,7 @@ export {};
|
|
|
17
17
|
// this.parentProxy = new Proxy(parent, {
|
|
18
18
|
// get: function(obj: AnyComponent, key: string | symbol) {
|
|
19
19
|
// global.__T_CurrentElement = this
|
|
20
|
-
// return (obj as AnyComponent & Record<string | symbol, unknown>)[key] // eslint-disable-line
|
|
20
|
+
// return (obj as AnyComponent & Record<string | symbol, unknown>)[key] // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- TS being difficult, whatcha gonna do?
|
|
21
21
|
// },
|
|
22
22
|
// })
|
|
23
23
|
// this.type = type
|
package/dist/TungstenApp.js
CHANGED
|
@@ -29,8 +29,12 @@ export class TungstenApp {
|
|
|
29
29
|
if (dev) cliLog('Starting Tungsten in Development mode');else cliLog('Starting Tungsten in Production mode');
|
|
30
30
|
if (this.rootComponent === undefined) throwError('TungstenApp', 'No root component set.' + ' You must set a root component in the option objects of the TungstenApp constructor, ' + ' or by calling set tungstenApp.setRootComponent()');
|
|
31
31
|
if (this.appRoutes === undefined) throwError('TungstenApp', 'No routes set.' + ' You must set your application routes in the options object of the TungstenApp constructor, ' + ' or by calling set tungstenApp.setRoutes()');
|
|
32
|
-
if (this.
|
|
33
|
-
|
|
32
|
+
if (this.privateEnvValidator === undefined) throwError(
|
|
33
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition -- validator types are `never` placeholders for now
|
|
34
|
+
'TungstenApp', 'No Private Env Validator set.' + ' You must set a private env validator in the options object of the TungstenApp constructor, ' + ' or by calling set tungstenApp.setPrivateEnvValidator()');
|
|
35
|
+
if (this.publicEnvValidator === undefined) throwError(
|
|
36
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition -- as above
|
|
37
|
+
'TungstenApp', 'No Public Env Validator set.' + ' You must set a public env validator in the options object of the TungstenApp constructor, ' + ' or by calling set tungstenApp.setPublicEnvValidator()');
|
|
34
38
|
// start stuff
|
|
35
39
|
const framework = new Framework();
|
|
36
40
|
await framework.init();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cjsHelpers.d.ts","sourceRoot":"","sources":["../../src/_client/cjsHelpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"cjsHelpers.d.ts","sourceRoot":"","sources":["../../src/_client/cjsHelpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAA;AAyCvD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC,CAAA;KAC/E;CACJ;AAkCD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,mCAuC5C"}
|
|
@@ -33,14 +33,16 @@ function pathCombine(baseFile, dest) {
|
|
|
33
33
|
let dir = baseDir;
|
|
34
34
|
let subDest = dest;
|
|
35
35
|
while (subDest.startsWith('../')) {
|
|
36
|
-
if (dir === '')
|
|
36
|
+
if (dir === '') {
|
|
37
|
+
throw new Error(`pathCombine() error, tried to back up too far. baseDir: ${baseDir} dest: ${dest}`);
|
|
38
|
+
}
|
|
37
39
|
dir = dir.slice(0, dir.lastIndexOf('/'));
|
|
38
40
|
subDest = subDest.slice(3);
|
|
39
41
|
}
|
|
40
42
|
return dir + '/' + subDest;
|
|
41
43
|
} else {
|
|
42
44
|
// unknown
|
|
43
|
-
throw new Error(
|
|
45
|
+
throw new Error('pathCombine error: unknown dest format, expected a relative import.' + ` baseDir: ${baseDir} dest: ${dest}`);
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
export async function loadDeps(deps) {
|
package/dist/_client/client.js
CHANGED
|
@@ -22,20 +22,6 @@ const clientPromise = (async () => {
|
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
await Promise.all(promises);
|
|
25
|
-
//const rootComponentRelFilePath = (await import('./rootComponentRelFilePath.js')).rootComponentRelFilePath
|
|
26
|
-
// let RootComponent: TungstenBaseComponentType
|
|
27
|
-
// if ('default' in rootModule) {
|
|
28
|
-
// // @ts-ignore
|
|
29
|
-
// RootComponent = rootModule.default
|
|
30
|
-
// } else {
|
|
31
|
-
// const file = rootComponentRelFilePath.split('/').pop() as string
|
|
32
|
-
// const componentName = file.slice(0, file.lastIndexOf('.'))
|
|
33
|
-
// if (componentName in rootModule) {
|
|
34
|
-
// RootComponent = rootModule[componentName]
|
|
35
|
-
// } else {
|
|
36
|
-
// throw new TungstenError(`Component not found in module ${rootComponentRelFilePath}`)
|
|
37
|
-
// }
|
|
38
|
-
// }
|
|
39
25
|
// @ts-expect-error -- TS doesn't understand that RootComponent was assigned by the promise
|
|
40
26
|
await hydrate(routes, RootComponent, instanceConfig);
|
|
41
27
|
})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/_client/hmr.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Tier 2 HMR (config hmr: true): swap changed components and stylesheets in place, falling back to
|
|
2
|
+
// a full reload only when that cannot be done. See docs/hmr.md.
|
|
3
|
+
//
|
|
4
|
+
// This lives in _client rather than the framework's module graph because it fetches whichever file
|
|
5
|
+
// just recompiled via a computed import(), and a non-literal import() anywhere in the traced
|
|
6
|
+
// dependency graph makes the package-copying step throw (it must know every specifier statically).
|
|
7
|
+
// _client files are copied verbatim into the app's .client folder, so they are never traced.
|
|
8
|
+
/* eslint-disable no-console -- the console is this module's output: it reports what HMR did and why */
|
|
9
|
+
import { connectLiveReload } from './liveReloadSource.js';
|
|
10
|
+
function isJsPayload(value) {
|
|
11
|
+
return typeof value === 'object' && value !== null;
|
|
12
|
+
}
|
|
13
|
+
// the re-imported file's exports; applyHmrModule scans them for component definitions
|
|
14
|
+
function importFresh(file) {
|
|
15
|
+
return import(`${file}?t=${Date.now()}`).then(m => m); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- a module namespace is always a string-keyed object
|
|
16
|
+
}
|
|
17
|
+
// Loaded on the first event, not statically: module scripts evaluate in document order and this one
|
|
18
|
+
// precedes cjsHelpers.js, whose globals the framework graph's converted CJS packages need at
|
|
19
|
+
// evaluation time. A static import here evaluated that graph first ("__tungsten_cjs_import is not
|
|
20
|
+
// defined"). Resolved by the import map (getSxyClientPackageAliases.ts).
|
|
21
|
+
const loadHmr = () => import('tungsten/hmr/applyHmrModule.js');
|
|
22
|
+
function fullReload(reason) {
|
|
23
|
+
console.info('[tungsten-hmr] full reload:', reason);
|
|
24
|
+
window.location.reload();
|
|
25
|
+
}
|
|
26
|
+
// CSS has no state to preserve, so re-applying it is always safe: refreshStylesheets() inserts the
|
|
27
|
+
// new link and only removes the old one once it has loaded, so nothing flashes.
|
|
28
|
+
function refreshCss() {
|
|
29
|
+
loadHmr().then(hmr => Promise.all(hmr.refreshStylesheets())).catch(e => console.error('[tungsten-hmr] stylesheet refresh failed', e));
|
|
30
|
+
}
|
|
31
|
+
const es = connectLiveReload(fullReload);
|
|
32
|
+
es.addEventListener('css', () => {
|
|
33
|
+
console.info('[tungsten-hmr] css change, refreshing stylesheets');
|
|
34
|
+
refreshCss();
|
|
35
|
+
});
|
|
36
|
+
es.addEventListener('js', ev => {
|
|
37
|
+
let payload;
|
|
38
|
+
try {
|
|
39
|
+
payload = JSON.parse(ev.data);
|
|
40
|
+
} catch {
|
|
41
|
+
fullReload('bad payload');
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const files = isJsPayload(payload) ? payload.files ?? [] : [];
|
|
45
|
+
if (files.length === 0) {
|
|
46
|
+
fullReload('no files in payload');
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
console.info('[tungsten-hmr] fetching', files);
|
|
50
|
+
// a component's inline style block rides this same JS pipeline (it lives in the .tsx source, not
|
|
51
|
+
// a separate .css), so refresh stylesheets here too - independently of the swap below, so a
|
|
52
|
+
// stylesheet load error does not force a full reload
|
|
53
|
+
refreshCss();
|
|
54
|
+
loadHmr().then(hmr => Promise.all(files.map(importFresh)).then(modules => Promise.all(modules.map((m, i) => hmr.applyHmrModule(m, files[i]))))).then(results => {
|
|
55
|
+
console.info('[tungsten-hmr] results', results);
|
|
56
|
+
if (results.some(r => r.orphaned)) {
|
|
57
|
+
fullReload('a component export was renamed or removed');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (!results.some(r => r.matched)) fullReload('no matching live component found');
|
|
61
|
+
}).catch(e => {
|
|
62
|
+
console.error('[tungsten-hmr] swap failed', e);
|
|
63
|
+
fullReload('error during swap');
|
|
64
|
+
});
|
|
65
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveReload.d.ts","sourceRoot":"","sources":["../../src/_client/liveReload.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Tier 1 live reload (config hmr: 'reload'): any change is a full page reload. Deliberately
|
|
2
|
+
// independent of hmr.ts so it stays a one-line escape hatch if Tier 2 misbehaves. See docs/hmr.md.
|
|
3
|
+
import { connectLiveReload } from './liveReloadSource.js';
|
|
4
|
+
const es = connectLiveReload(() => window.location.reload());
|
|
5
|
+
es.addEventListener('css', () => window.location.reload());
|
|
6
|
+
es.addEventListener('js', () => window.location.reload());
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveReloadSource.d.ts","sourceRoot":"","sources":["../../src/_client/liveReloadSource.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;AASjD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CAerE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Shared by the two live-reload entries (liveReload.ts, hmr.ts). _client files are copied verbatim
|
|
2
|
+
// into the app's .client folder by createClientFiles and served from there, outside the traced
|
|
3
|
+
// module graph - see the note atop hmr.ts for why that matters.
|
|
4
|
+
function bootIdOf(data) {
|
|
5
|
+
const payload = JSON.parse(data);
|
|
6
|
+
if (typeof payload !== 'object' || payload === null || !('bootId' in payload)) return undefined;
|
|
7
|
+
return typeof payload.bootId === 'string' ? payload.bootId : undefined;
|
|
8
|
+
}
|
|
9
|
+
// This module is served from <siteBasePath>/.client/, so the endpoint resolves relative to it.
|
|
10
|
+
export function connectLiveReload(fullReload) {
|
|
11
|
+
const es = new EventSource(new URL('../__tungsten_live_reload__', import.meta.url));
|
|
12
|
+
// The server sends its bootId as the first event on every connection (handleLiveReloadStream).
|
|
13
|
+
// A different one already in sessionStorage means this is a reconnect to a process that
|
|
14
|
+
// restarted since the page loaded (e.g. devmon after a framework rebuild) - EventSource retries
|
|
15
|
+
// silently on its own, so this is the only reliable signal that the page is now stale.
|
|
16
|
+
es.addEventListener('boot', ev => {
|
|
17
|
+
const bootId = bootIdOf(ev.data);
|
|
18
|
+
if (bootId === undefined) return;
|
|
19
|
+
const key = '__tungsten_boot_id__';
|
|
20
|
+
const prev = sessionStorage.getItem(key);
|
|
21
|
+
sessionStorage.setItem(key, bootId);
|
|
22
|
+
if (prev !== null && prev !== bootId) fullReload('dev server restarted');
|
|
23
|
+
});
|
|
24
|
+
return es;
|
|
25
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExport.d.ts","sourceRoot":"","sources":["../../src/api/getExport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getExport.d.ts","sourceRoot":"","sources":["../../src/api/getExport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQjC,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAa,GAAG,OAAO,CAAC,GAAG,CAAC,CAuBpG"}
|
package/dist/api/getExport.js
CHANGED
|
@@ -147,6 +147,7 @@ export function MakeBabelTransformBindDirect(/*opts: Opts*/
|
|
|
147
147
|
let setFieldExpression;
|
|
148
148
|
if (stateBased) {
|
|
149
149
|
if (stateSettingMode === 'assignment') {
|
|
150
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition -- other modes kept switchable
|
|
150
151
|
stateAssignmentExpression = make.expressionStatement(make.assignmentExpression('=', originalVariable, make.identifier('value')));
|
|
151
152
|
} else {
|
|
152
153
|
//// unused
|
|
@@ -185,6 +186,7 @@ export function MakeBabelTransformBindDirect(/*opts: Opts*/
|
|
|
185
186
|
else functionBodyExpressions.push(assignToValueVarExpression);
|
|
186
187
|
if (stateBased) {
|
|
187
188
|
if (stateSettingMode === 'assignment') {
|
|
189
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition -- other modes kept switchable
|
|
188
190
|
if (stateAssignmentExpression === undefined) {
|
|
189
191
|
throwError('BabelTransformBindDirect', 'failed to create the state assignment expression');
|
|
190
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformBindVar.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformBindVar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"BabelTransformBindVar.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformBindVar.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AA0FzD,wBAAgB,yBAAyB,KACC,OAAO,SAAS;;;2BAKvB,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,UAAU;;EAgRjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformComponentState.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformComponentState.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAQ,QAAQ,
|
|
1
|
+
{"version":3,"file":"BabelTransformComponentState.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformComponentState.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EACH,oBAAoB,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAChE,sBAAsB,EAAoB,gBAAgB,EAAE,mBAAmB,EAClF,MAAM,cAAc,CAAA;AAGrB,wBAAgB,gCAAgC,KACC,OAAO,SAAS;;;;wBAuFzC,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC;uBAOtC,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC;;;wBAPpC,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC;uBAOtC,QAAQ,CAAC,WAAW,GAAG,aAAa,CAAC;;mCAgBjB,QAAQ,CAAC,oBAAoB,CAAC;+BA0BlC,QAAQ,CAAC,gBAAgB,CAAC;6BAU5B,QAAQ,CAAC,cAAc,CAAC;kCAqCnB,QAAQ,CAAC,mBAAmB,CAAC;qCAgB1B,QAAQ,CAAC,sBAAsB,CAAC;;EA0B5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformComponentStyles.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformComponentStyles.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"BabelTransformComponentStyles.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformComponentStyles.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAYjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAiRvD,KAAK,IAAI,GAAG;IACR,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wBAAwB,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAKxB,YAAY,CAAC,EAAE,MAAM,CAAA;IAIrB,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE7B,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAID,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,IAAI,IAsMV,OAAO,KAAK;;;;6BAMjC,MAAM;;mBAIZ,MAAM;;;uCAkBkB,QAAQ,CAAC,wBAAwB,CAAC;sBAf3D,MAAM;kBACV;gBACF,IAAI;qCATS,MAAM;kBASL;aACjB;+BACkB,MAAM;;;EAsKpC"}
|
|
@@ -15,7 +15,7 @@ import { TransformCssNames } from '../postcssPlugins/TransformCssNames.js';
|
|
|
15
15
|
import { CssNames } from '../CssNames.js';
|
|
16
16
|
//const CSSModulesSync = require('postcss-modules-sync').default
|
|
17
17
|
import { watch } from '../watch.js';
|
|
18
|
-
import slash from 'slash';
|
|
18
|
+
import slash from '../slash.js';
|
|
19
19
|
import { resolveSassImport } from 'tungsten/build/resolveSassScssImports.js';
|
|
20
20
|
import { sassImportParser } from 'tungsten/build/sassImportParser.js';
|
|
21
21
|
import { modifySassImports } from 'tungsten/build/modifySassImports.js';
|
|
@@ -309,6 +309,7 @@ export function MakeBabelTransformComponentStyles(opts) {
|
|
|
309
309
|
if (typeof opts.cssOutputFile === 'string' && opts.cssOutputFile !== '') {
|
|
310
310
|
//console.log('css:', css)
|
|
311
311
|
if (mode === 'new') {
|
|
312
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition -- 'old' kept switchable
|
|
312
313
|
// write a bunch of @import statements
|
|
313
314
|
fs.writeFileSync(opts.cssOutputFile, Object.values(stylesheets).map(file => `@import "${individualFolderName}/${file}";`).join('\n'));
|
|
314
315
|
} else {
|
|
@@ -361,7 +362,7 @@ export function MakeBabelTransformComponentStyles(opts) {
|
|
|
361
362
|
const tag = tte.tag;
|
|
362
363
|
if (tag.type === 'Identifier' && tag.name in languages) {
|
|
363
364
|
//if ( opts.functionNames.includes(tag.name) ) {
|
|
364
|
-
const tagName = tag.name; // eslint-disable-line
|
|
365
|
+
const tagName = tag.name; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- fine, TS narrowing from the 'in' check above isn't working here
|
|
365
366
|
//console.log('found stylesheet', tag.name)
|
|
366
367
|
const Assistant = languages[tagName];
|
|
367
368
|
const template = tte.quasi.quasis[0];
|
|
@@ -437,13 +438,13 @@ export function MakeBabelTransformComponentStyles(opts) {
|
|
|
437
438
|
const {
|
|
438
439
|
names,
|
|
439
440
|
transformedCss
|
|
440
|
-
} = tagName === 'ReactZoneScss' ? cssToReactZoneStyles(css, fullFilePath, moduleName) : cssToLocalClassNames(css, fullFilePath, moduleName);
|
|
441
|
+
} = tallied('component css names (postcss)', () => tagName === 'ReactZoneScss' ? cssToReactZoneStyles(css, fullFilePath, moduleName) : cssToLocalClassNames(css, fullFilePath, moduleName));
|
|
441
442
|
// `#` is a fragment delimiter in the `@import "i/….css"`
|
|
442
443
|
// the manifest is built from, so it cannot survive into
|
|
443
444
|
// a filename. The prefix's trailing `-` keeps the result
|
|
444
445
|
// readable and distinct.
|
|
445
446
|
stylesheets[moduleName] = moduleName.replaceAll('#', '') + '.css';
|
|
446
|
-
writeOutIfNeeded(transformedCss, names, opts);
|
|
447
|
+
tallied('component css write', () => writeOutIfNeeded(transformedCss, names, opts));
|
|
447
448
|
// Kept out of the style object, which ships to the browser: a separate
|
|
448
449
|
// static the build can extract and then erase.
|
|
449
450
|
const classBody = path.findParent(parent => parent.isClassBody());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformCssImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformCssImports.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"BabelTransformCssImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformCssImports.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAQjD,KAAK,IAAI,GAAG;IACR,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AACD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,IACV,OAAO,KAAK;;iBAOvB,UAAU;;kCAUO,QAAQ,CAAC,iBAAiB,CAAC;;EAiJ7E"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// that stylesheet
|
|
11
11
|
import { createRequire } from 'module';
|
|
12
12
|
import { dirname } from 'path';
|
|
13
|
-
import slash from 'slash';
|
|
13
|
+
import slash from '../slash.js';
|
|
14
14
|
import { cliError } from 'tungsten/cliOutput.js';
|
|
15
15
|
import { throwError } from 'tungsten/throwError.js';
|
|
16
16
|
import { existsSync } from 'fs';
|
|
@@ -41,7 +41,7 @@ export function MakeBabelTransformCssImports(opts) {
|
|
|
41
41
|
//console.log('found a css import in', filename)
|
|
42
42
|
//console.log('absCodeDir', opts.absCodeDir)
|
|
43
43
|
//console.log('found stylesheet import', location)
|
|
44
|
-
|
|
44
|
+
const bare = false;
|
|
45
45
|
if (isBareImport(location)) {
|
|
46
46
|
//bare = true
|
|
47
47
|
// cliAlert('Bare CSS import:', location)
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// to relative imports e.g. '../../axios', pointing to local (and transpiled?)
|
|
13
13
|
// copies of that package
|
|
14
14
|
import { dirname, relative } from 'path';
|
|
15
|
-
import slash from 'slash';
|
|
15
|
+
import slash from '../slash.js';
|
|
16
16
|
import { createRequire } from 'module';
|
|
17
17
|
export function MakeBabelTransformDependencyImports(opts) {
|
|
18
18
|
return function BabelTransformDependencyImports(babel) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformDeproxyState.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformDeproxyState.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"BabelTransformDeproxyState.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformDeproxyState.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAc,sBAAsB,EAAoB,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAanJ,wBAAgB,8BAA8B,KACC,OAAO,SAAS;;;mCAiDpB,QAAQ,CAAC,oBAAoB,CAAC;6BASpC,QAAQ,CAAC,cAAc,CAAC;kCAgBnB,QAAQ,CAAC,mBAAmB,CAAC;qCAW1B,QAAQ,CAAC,sBAAsB,CAAC;;gBAWrD,SAAS;EAgBhC"}
|
|
@@ -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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"}
|
|
@@ -9,13 +9,12 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
9
9
|
// The end of the page ('index.js') is determining through import
|
|
10
10
|
// resolution
|
|
11
11
|
import { join, dirname, relative } from 'path';
|
|
12
|
-
import slash from 'slash';
|
|
13
|
-
import precinct from 'precinct';
|
|
12
|
+
import slash from '../slash.js';
|
|
14
13
|
import { existsSync, mkdirSync, promises as fsPromises, readFileSync, writeFileSync } from 'fs';
|
|
15
14
|
import { createRequire } from 'module';
|
|
16
15
|
import { transformFileSync as babelTransformFileSync, transformSync as babelTransformSync } from '@babel/core';
|
|
17
16
|
import babelPluginSyntaxImportAssertionsModule from '@babel/plugin-syntax-import-assertions';
|
|
18
|
-
import {
|
|
17
|
+
import { mapToObject } from 'sxy-lib/arrays.js';
|
|
19
18
|
const babelPluginSyntaxImportAssertions = babelPluginSyntaxImportAssertionsModule.default;
|
|
20
19
|
import { init as lexerInit, parse as lexerParse } from 'cjs-module-lexer';
|
|
21
20
|
lexerInit();
|
|
@@ -34,6 +33,12 @@ import { throwError } from '../throwError.js';
|
|
|
34
33
|
import { isProfiling, tallied } from '../timeProfiler.js';
|
|
35
34
|
//import { copyPackageModulesToPackagesFolder } from '../build/copyPackageModulesToPackagesFolder.js'
|
|
36
35
|
const require = createRequire(import.meta.url);
|
|
36
|
+
// precinct drags in typescript and the typescript-eslint parser (~250 modules), so it is only
|
|
37
|
+
// paid for on a packages-cache miss
|
|
38
|
+
let precinctLoaded;
|
|
39
|
+
function precinct() {
|
|
40
|
+
return precinctLoaded ??= require('precinct'); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- require() is untyped
|
|
41
|
+
}
|
|
37
42
|
function debug(...texts) {
|
|
38
43
|
//console.log(...texts)
|
|
39
44
|
}
|
|
@@ -219,7 +224,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
219
224
|
const {
|
|
220
225
|
file
|
|
221
226
|
} = fileInfo;
|
|
222
|
-
const precinctResults = tallied('precinct.paperwork', () => precinct.paperwork(file, {
|
|
227
|
+
const precinctResults = tallied('precinct.paperwork', () => precinct().paperwork(file, {
|
|
223
228
|
includeCore: false
|
|
224
229
|
}));
|
|
225
230
|
const deps = precinctResults.map(d => {
|
|
@@ -723,7 +728,7 @@ export function MakeBabelTransformPackageImports(opts) {
|
|
|
723
728
|
reexports
|
|
724
729
|
} = lexerParse(code);
|
|
725
730
|
//console.log('lexInner exports', exports)
|
|
726
|
-
const exportsMap =
|
|
731
|
+
const exportsMap = mapToObject(exports, value => [value, true]);
|
|
727
732
|
//console.log('lexInner exports map', exportsMap)
|
|
728
733
|
for (const re of reexports) {
|
|
729
734
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BabelTransformRemoveBlocks.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformRemoveBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"BabelTransformRemoveBlocks.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformRemoveBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAc,qBAAqB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE7E,KAAK,IAAI,GAAG;IACR,KAAK,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI;;0BAmBvB,QAAQ,CAAC,WAAW,CAAC;oCAWX,QAAQ,CAAC,qBAAqB,CAAC;;EAS1E"}
|
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,
|
|
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,CAAC;AAK9B,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"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
// funcs from the parent to do various things.
|
|
8
8
|
// passed in from the parent because this allows them to use a central cache
|
|
9
9
|
// }
|
|
10
|
+
//import type { types as Types } from '@babel/core';
|
|
10
11
|
import { dirname, relative } from 'path';
|
|
11
|
-
import slash from 'slash';
|
|
12
|
+
import slash from '../../slash.js';
|
|
12
13
|
import { isBareImport } from '../isBareImport.js';
|
|
13
14
|
import { cliWarn } from '../../cliOutput.js';
|
|
14
15
|
import { warn } from '../../output.js';
|
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,
|
|
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,CAAC;AAM9B,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"}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
// funcs from the parent to do various things.
|
|
8
8
|
// passed in from the parent because this allows them to use a central cache
|
|
9
9
|
// }
|
|
10
|
+
//import type { types as Types } from '@babel/core';
|
|
10
11
|
import { dirname, relative } from 'path';
|
|
11
|
-
import slash from 'slash';
|
|
12
|
+
import slash from '../../slash.js';
|
|
12
13
|
import { isBareImport } from '../isBareImport.js';
|
|
13
14
|
import { throwError } from 'tungsten/throwError.js';
|
|
14
15
|
import { cliError, cliOut } from 'tungsten/cliOutput.js';
|
|
@@ -15,7 +15,7 @@ function getPackageDirForDir(dir) {
|
|
|
15
15
|
}
|
|
16
16
|
function getPackageDirForFile(file) {
|
|
17
17
|
const dir = getPackageDirForDir(dirname(file));
|
|
18
|
-
if (dir === undefined) throw new TungstenError(`
|
|
18
|
+
if (dir === undefined) throw new TungstenError(`getPackageDirForFile Error: could not find package dir for file ${file}`);
|
|
19
19
|
return dir;
|
|
20
20
|
}
|
|
21
21
|
// function getWebLocationOfPackageFile(file: string): string {
|
package/dist/bin/args.js
CHANGED
|
@@ -59,7 +59,7 @@ export function cliArgs(specs, options = {}) {
|
|
|
59
59
|
parsed[name] = flag.startsWith('--no-') ? !on : on;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
return parsed; // eslint-disable-line
|
|
62
|
+
return parsed; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- built from specs' own keys
|
|
63
63
|
}
|
|
64
64
|
// '--ignore-dirs <dir>...' -> its flag, that it takes a value, and that it may be given more than once
|
|
65
65
|
function shapeOf(spec) {
|
|
@@ -34,7 +34,7 @@ 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,
|
|
37
|
+
// eslint-disable-line @typescript-eslint/no-non-null-assertion, @typescript-eslint/no-unsafe-type-assertion -- config better be set
|
|
38
38
|
if (!quiet) cliOut(`Building static site`);
|
|
39
39
|
await sxyFramework.clean('staticSite');
|
|
40
40
|
await sxyFramework.staticGen();
|
package/dist/bin/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bin/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bin/index.ts"],"names":[],"mappings":"AAoHA,OAAO,EAAE,CAAA"}
|
package/dist/bin/index.js
CHANGED
|
@@ -10,13 +10,21 @@ const profile = args.includes('--profile');
|
|
|
10
10
|
// while it populates, so a single run straight after a rebuild looks like a regression.
|
|
11
11
|
// NODE_DISABLE_COMPILE_CACHE=1 turns it off (NODE_COMPILE_CACHE does not - it names the cache
|
|
12
12
|
// directory, so a value of 0 makes a folder called 0).
|
|
13
|
-
|
|
13
|
+
// OFF for a trial (2026-09-07): Robert is checking whether occasional slow starts persist without
|
|
14
|
+
// it. Measured worth ~200ms warm. Set TUNGSTEN_COMPILE_CACHE=1 to turn it back on meanwhile.
|
|
15
|
+
const compileCacheWanted = process.env.TUNGSTEN_COMPILE_CACHE === '1';
|
|
16
|
+
const compileCache = compileCacheWanted ? enableCompileCache() : undefined;
|
|
14
17
|
// reported under --profile because "is it even on?" is otherwise only answerable by inspecting
|
|
15
18
|
// the cache directory's timestamps - status 1 is enabled, 2 already enabled, 3 disabled
|
|
16
19
|
if (profile) {
|
|
17
|
-
cliOut(`compile cache: status ${compileCache.status}
|
|
20
|
+
cliOut(compileCache === undefined ? `compile cache: off (trial - TUNGSTEN_COMPILE_CACHE=1 enables)` : `compile cache: status ${compileCache.status} ${compileCache.directory ?? compileCache.message ?? ''}`);
|
|
18
21
|
}
|
|
19
22
|
// hooks have to be registered before the command module - and so its import tree - is loaded
|
|
23
|
+
const {
|
|
24
|
+
registerVendorHook
|
|
25
|
+
} = await import('./vendorHook.js');
|
|
26
|
+
const vendorStatus = registerVendorHook();
|
|
27
|
+
if (profile) cliOut(`vendor bundle: ${vendorStatus}`);
|
|
20
28
|
const profileModulesArg = args.find(arg => arg === '--profile-modules' || arg.startsWith('--profile-modules='));
|
|
21
29
|
if (profileModulesArg !== undefined) {
|
|
22
30
|
const {
|
|
@@ -105,7 +113,7 @@ switch (command) {
|
|
|
105
113
|
// exited - signals skip exit handling - so they would populate the cache and then throw it away,
|
|
106
114
|
// paying the cold cost on every run forever. The import above has returned by here, which for a
|
|
107
115
|
// server command means it has finished starting, so this persists what that startup compiled.
|
|
108
|
-
flushCompileCache();
|
|
116
|
+
if (compileCacheWanted) flushCompileCache();
|
|
109
117
|
// A profiled dev run has measured everything it will measure once the server is up and the report
|
|
110
118
|
// has printed. Exit rather than leave a server to be killed - after the flush above, which a kill
|
|
111
119
|
// would have skipped. (dev.ts itself must not exit: its import returning is what reaches here.)
|