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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEnvSchemas.d.ts","sourceRoot":"","sources":["../../src/env/getEnvSchemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getEnvSchemas.d.ts","sourceRoot":"","sources":["../../src/env/getEnvSchemas.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMjF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGxC,MAAM,MAAM,UAAU,GAAG;IACrB,gBAAgB,CAAC,EAAE,cAAc,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC;IACpE,eAAe,CAAC,EAAE,cAAc,CAAC,WAAW,GAAG,iBAAiB,CAAC,CAAC;CACrE,CAAA;AAKD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GACzF,OAAO,CAAC,UAAU,CAAC,CAAA;AACtB,wBAAsB,aAAa,CAAC,MAAM,EAAE,uBAAuB,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GACjG,OAAO,CAAC,UAAU,CAAC,CAAA;AAwDrB,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,uBAG5G"}
|
|
@@ -5,16 +5,18 @@ import { devBuildFolder, prodBuildCodeFolder } from '../settings.js';
|
|
|
5
5
|
import { throwError } from '../throwError.js';
|
|
6
6
|
import { iterationQueryString } from '../iterationQueryString.js';
|
|
7
7
|
import { importDevModuleWithRetry } from '../importDevModuleWithRetry.js';
|
|
8
|
-
export async function getEnvSchemas(config, iteration = null, mode = 'prod'
|
|
8
|
+
export async function getEnvSchemas(config, iteration = null, mode = 'prod',
|
|
9
|
+
// a compiled tree other than the mode's own - a test run's `compile --output`
|
|
10
|
+
buildCodeFolderOverride) {
|
|
9
11
|
const {
|
|
10
12
|
envSchemasLocation
|
|
11
13
|
} = config;
|
|
12
14
|
//if (envSchemasLocation === undefined) return {} // I think we're validating configs now, so don't need this
|
|
13
|
-
//console.log('envSchemasLocation', envSchemasLocation)
|
|
15
|
+
//console.log('envSchemasLocation', envSchemasLocation)
|
|
14
16
|
const projectDir = process.cwd();
|
|
15
17
|
// the compiled copy in the build, like every other module the server runs - codeDir may hold
|
|
16
18
|
// typescript (config.typescript) that node cannot import
|
|
17
|
-
const buildCodeFolder = mode === 'dev' ? devBuildFolder : prodBuildCodeFolder;
|
|
19
|
+
const buildCodeFolder = buildCodeFolderOverride ?? (mode === 'dev' ? devBuildFolder : prodBuildCodeFolder);
|
|
18
20
|
const fullFilePath = 'file://' + join(projectDir, buildCodeFolder, fixExtension(envSchemasLocation));
|
|
19
21
|
let module;
|
|
20
22
|
try {
|
|
@@ -44,7 +46,7 @@ export async function getEnvSchemas(config, iteration = null, mode = 'prod') {
|
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
//export function getEnvSchemasDev(config: FrameworkConfigComplete, load: Load) {
|
|
47
|
-
export function getEnvSchemasDev(config, iteration) {
|
|
49
|
+
export function getEnvSchemasDev(config, iteration, buildCodeFolder) {
|
|
48
50
|
//return getEnvSchemas(config, load, true)
|
|
49
|
-
return getEnvSchemas(config, iteration, 'dev');
|
|
51
|
+
return getEnvSchemas(config, iteration, 'dev', buildCodeFolder);
|
|
50
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windowGlobalEnvStatement.d.ts","sourceRoot":"","sources":["../../src/env/windowGlobalEnvStatement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"windowGlobalEnvStatement.d.ts","sourceRoot":"","sources":["../../src/env/windowGlobalEnvStatement.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findProjectDir.d.ts","sourceRoot":"","sources":["../src/findProjectDir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"findProjectDir.d.ts","sourceRoot":"","sources":["../src/findProjectDir.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,qBAAqB,GAAG;IAIhC,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,UAkBxF"}
|
package/dist/findProjectDir.js
CHANGED
|
@@ -1,13 +1,27 @@
|
|
|
1
|
-
import { dirname } from 'path';
|
|
1
|
+
import { dirname, join } from 'path';
|
|
2
|
+
import { existsSync, readFileSync } from 'fs';
|
|
2
3
|
import { fileURLToPath } from 'url';
|
|
3
|
-
import packageJsonFinder from 'find-package-json';
|
|
4
4
|
import { TungstenError } from './TungstenError.js';
|
|
5
|
+
// find-package-json in-house: every package.json from startLocation up to the root
|
|
6
|
+
function* packageJsonFinder(startLocation) {
|
|
7
|
+
let dir = startLocation;
|
|
8
|
+
for (;;) {
|
|
9
|
+
const filename = join(dir, 'package.json');
|
|
10
|
+
if (existsSync(filename)) yield {
|
|
11
|
+
filename,
|
|
12
|
+
value: JSON.parse(readFileSync(filename, 'utf8'))
|
|
13
|
+
};
|
|
14
|
+
const parent = dirname(dir);
|
|
15
|
+
if (parent === dir) return;
|
|
16
|
+
dir = parent;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
5
19
|
export function findProjectDir(startLocation, options = {}) {
|
|
6
20
|
if (startLocation.startsWith('file:')) startLocation = fileURLToPath(startLocation);
|
|
7
21
|
const finder = packageJsonFinder(startLocation);
|
|
8
22
|
let packageJson = finder.next();
|
|
9
23
|
if (options.requireName) {
|
|
10
|
-
while (!packageJson.done && !hasName(packageJson.value)) {
|
|
24
|
+
while (!packageJson.done && !hasName(packageJson.value.value)) {
|
|
11
25
|
packageJson = finder.next();
|
|
12
26
|
}
|
|
13
27
|
if (packageJson.done) {
|
|
@@ -18,7 +32,7 @@ export function findProjectDir(startLocation, options = {}) {
|
|
|
18
32
|
// couldn't find a package.json
|
|
19
33
|
throw new TungstenError(`findProjectDir() error - could not find the package.json is the project directory`);
|
|
20
34
|
}
|
|
21
|
-
return dirname(packageJson.filename);
|
|
35
|
+
return dirname(packageJson.value.filename);
|
|
22
36
|
}
|
|
23
37
|
function hasName(packageJson) {
|
|
24
38
|
return typeof packageJson === 'object' && packageJson !== null && 'name' in packageJson && typeof packageJson.name === 'string' && packageJson.name !== '';
|
package/dist/findUserConfig.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
|
-
import slash from 'slash';
|
|
2
|
+
import slash from './slash.js';
|
|
3
3
|
import { loadPackageDotJsonFromDir } from './loadPackageDotJsonFromDir.js';
|
|
4
4
|
import { configName } from './packageSettings.js';
|
|
5
5
|
import { cliNote, cliWarn } from './cliOutput.js';
|
|
@@ -7,7 +7,7 @@ import { TungstenError } from './TungstenError.js';
|
|
|
7
7
|
import { packageNameCapitalized } from './settings.js';
|
|
8
8
|
//import { throwError } from './throwError.js'
|
|
9
9
|
export async function findUserConfig(projectDir, volume = 'noisy') {
|
|
10
|
-
const packageConfig = await loadPackageDotJsonFromDir(projectDir); // eslint-disable-line
|
|
10
|
+
const packageConfig = await loadPackageDotJsonFromDir(projectDir); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion
|
|
11
11
|
if (packageConfig === null) {
|
|
12
12
|
throw new TungstenError(`findUserConfig() error: Could not find project tungsten config`);
|
|
13
13
|
}
|
package/dist/foreach.js
CHANGED
|
@@ -4,6 +4,7 @@ export function foreach(list, callback) {
|
|
|
4
4
|
if (Array.isArray(list)) {
|
|
5
5
|
return list.map(callback);
|
|
6
6
|
} else if (typeof list === 'object' && list !== null) {
|
|
7
|
+
// eslint-disable-line @typescript-eslint/no-unnecessary-condition -- runtime callers may pass anything
|
|
7
8
|
//return Object.entries(list).map(([key, value]) => (callback as ObjectCallback<L, R>)(value, key, list))
|
|
8
9
|
const result = [];
|
|
9
10
|
for (const key in list) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import * as v from 'valibot';
|
|
4
4
|
// shape only - babel validates its own options, and a hand-copied key list just drifts from theirs
|
|
5
5
|
const babelParserOptionsSchema = v.pipe(v.looseObject({}),
|
|
6
|
-
// eslint-disable-next-line
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- see above
|
|
7
7
|
v.transform(options => options));
|
|
8
8
|
const stringOrStrings = v.union([v.string(), v.array(v.string())]);
|
|
9
9
|
const frameworkConfigBaseEntries = {
|
|
@@ -19,7 +19,7 @@ const frameworkConfigBaseEntries = {
|
|
|
19
19
|
styleImportBase: v.exactOptional(v.string()),
|
|
20
20
|
// valibot has no template-literal schema, so the regex proves what the cast then states
|
|
21
21
|
siteBasePath: v.exactOptional(v.pipe(v.union([v.literal(''), v.pipe(v.string(), v.regex(/^\/.*$/))]),
|
|
22
|
-
// eslint-disable-next-line
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- see above
|
|
23
23
|
v.transform(path => path))),
|
|
24
24
|
clientSideNav: v.exactOptional(v.boolean()),
|
|
25
25
|
staticSite: v.exactOptional(v.boolean()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getComponent.d.ts","sourceRoot":"","sources":["../src/getComponent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getComponent.d.ts","sourceRoot":"","sources":["../src/getComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAOhC,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAEhB,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,IAAI,GAAE,IAAa,GACpB,OAAO,CAAC,gBAAgB,CAAC,CA6B3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getComponentDev.d.ts","sourceRoot":"","sources":["../src/getComponentDev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getComponentDev.d.ts","sourceRoot":"","sources":["../src/getComponentDev.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAI7D,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAGhH"}
|
package/dist/getRoutes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRoutes.d.ts","sourceRoot":"","sources":["../src/getRoutes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getRoutes.d.ts","sourceRoot":"","sources":["../src/getRoutes.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAM5D,wBAAsB,SAAS,CAC3B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,uBAAuB,EAE/B,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,IAAI,GAAE,IAAa,GACnB,OAAO,CAAC,SAAS,CAAC,CA0BrB"}
|
package/dist/getRoutes.js
CHANGED
|
@@ -9,28 +9,19 @@ export async function getRoutes(compilationInfo, config,
|
|
|
9
9
|
iteration = null, mode = 'prod') {
|
|
10
10
|
//console.log('config.routesLocation', config.routesLocation)
|
|
11
11
|
//console.log('config.routesLocation', config.routesLocation)
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
const [routesFile, routeExport] = config.routesLocation;
|
|
13
|
+
const filePath = 'file://' + fixExtension(join(compilationInfo.buildCodeLocation, routesFile));
|
|
14
|
+
let module;
|
|
15
|
+
if (mode === 'dev') {
|
|
16
|
+
if (iteration === null) throwError('getComponent()', 'iteration is null in dev mode');
|
|
17
|
+
// can we share load across the render?
|
|
18
|
+
module = await importDevModuleWithRetry(iterationQueryString(filePath, iteration));
|
|
15
19
|
} else {
|
|
16
|
-
|
|
17
|
-
//console.log(join(compilationInfo.location, routesFile))
|
|
18
|
-
//console.log(fixExtension( join(compilationInfo.location, routesFile) ))
|
|
19
|
-
const filePath = 'file://' + fixExtension(join(compilationInfo.buildCodeLocation, routesFile));
|
|
20
|
-
let module;
|
|
21
|
-
if (mode === 'dev') {
|
|
22
|
-
if (iteration === null) throwError('getComponent()', 'iteration is null in dev mode');
|
|
23
|
-
// can we share load across the render?
|
|
24
|
-
//const load = await createLoad(import.meta.url, sxyLoaderConfig)
|
|
25
|
-
//module = await load(filePath)
|
|
26
|
-
module = await importDevModuleWithRetry(iterationQueryString(filePath, iteration));
|
|
27
|
-
} else {
|
|
28
|
-
module = await import(filePath); // import the module
|
|
29
|
-
}
|
|
30
|
-
// use the config to determine the export name
|
|
31
|
-
if (!(routeExport in module)) {
|
|
32
|
-
throw new TungstenError(`Could not find an export named ${routeExport} in routes file ${routesFile}.` + ` These settings are set in config.routesLocation.`);
|
|
33
|
-
}
|
|
34
|
-
return module[routeExport];
|
|
20
|
+
module = await import(filePath); // import the module
|
|
35
21
|
}
|
|
22
|
+
// use the config to determine the export name
|
|
23
|
+
if (!(routeExport in module)) {
|
|
24
|
+
throw new TungstenError(`Could not find an export named ${routeExport} in routes file ${routesFile}.` + ` These settings are set in config.routesLocation.`);
|
|
25
|
+
}
|
|
26
|
+
return module[routeExport];
|
|
36
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRoutesDevs.d.ts","sourceRoot":"","sources":["../src/getRoutesDevs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getRoutesDevs.d.ts","sourceRoot":"","sources":["../src/getRoutesDevs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKjE,wBAAgB,YAAY,CAAC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,uDAGhH"}
|
package/dist/getStackTrace.js
CHANGED
package/dist/glob.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"AA8CA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAyBD,wBAAsB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBzG"}
|
package/dist/glob.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { readdirSync } from 'fs';
|
|
2
|
+
import { isAbsolute } from 'path';
|
|
3
|
+
import slash from './slash.js';
|
|
4
|
+
// globby's job for the patterns tungsten uses (`**`, `*`, `?`, `{a,b}`, `[…]`, `!` excludes):
|
|
5
|
+
// a sync walk from each pattern's static prefix, matched with precompiled regexes. Results are
|
|
6
|
+
// absolute forward-slash paths. Dot segments are skipped, node_modules is not - both as globby
|
|
7
|
+
// did. Sync on purpose: node's fs.glob and a promise-per-directory walk both sat behind the
|
|
8
|
+
// sync sass compile at startup (35ms standalone, ~380ms in dev), a sync walk cannot.
|
|
9
|
+
const globChars = /[*?{[]/;
|
|
10
|
+
function escapeRegExp(text) {
|
|
11
|
+
return text.replace(/[.+^$()|\\]/g, '\\$&');
|
|
12
|
+
}
|
|
13
|
+
// glob source -> regex source, no anchors
|
|
14
|
+
function convert(pattern) {
|
|
15
|
+
let out = '';
|
|
16
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
17
|
+
const char = pattern[i];
|
|
18
|
+
if (char === '*') {
|
|
19
|
+
if (pattern[i + 1] === '*') {
|
|
20
|
+
if (pattern[i + 2] === '/') {
|
|
21
|
+
out += '(?:[^/]*/)*';
|
|
22
|
+
i += 2;
|
|
23
|
+
} // any depth, including none
|
|
24
|
+
else {
|
|
25
|
+
out += '.*';
|
|
26
|
+
i += 1;
|
|
27
|
+
}
|
|
28
|
+
} else out += '[^/]*';
|
|
29
|
+
} else if (char === '?') {
|
|
30
|
+
out += '[^/]';
|
|
31
|
+
} else if (char === '{') {
|
|
32
|
+
const end = pattern.indexOf('}', i);
|
|
33
|
+
if (end === -1) {
|
|
34
|
+
out += '\\{';
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
out += `(?:${pattern.slice(i + 1, end).split(',').map(convert).join('|')})`;
|
|
38
|
+
i = end;
|
|
39
|
+
} else if (char === '[') {
|
|
40
|
+
const end = pattern.indexOf(']', i);
|
|
41
|
+
if (end === -1) {
|
|
42
|
+
out += '\\[';
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const body = pattern.slice(i + 1, end);
|
|
46
|
+
out += `[${body.startsWith('!') ? '^' + body.slice(1) : body}]`;
|
|
47
|
+
i = end;
|
|
48
|
+
} else {
|
|
49
|
+
out += escapeRegExp(char ?? '');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
export function globToRegExp(pattern) {
|
|
55
|
+
return new RegExp(`^${convert(pattern)}$`);
|
|
56
|
+
}
|
|
57
|
+
// the directory to walk: the segments before the first one holding a glob character
|
|
58
|
+
function staticPrefix(pattern) {
|
|
59
|
+
const segments = pattern.split('/');
|
|
60
|
+
const firstGlob = segments.findIndex(segment => globChars.test(segment));
|
|
61
|
+
return (firstGlob === -1 ? segments.slice(0, -1) : segments.slice(0, firstGlob)).join('/');
|
|
62
|
+
}
|
|
63
|
+
function walk(dir, files = []) {
|
|
64
|
+
let entries;
|
|
65
|
+
try {
|
|
66
|
+
entries = readdirSync(dir, {
|
|
67
|
+
withFileTypes: true
|
|
68
|
+
});
|
|
69
|
+
} catch (error) {
|
|
70
|
+
if (error.code === 'ENOENT') return files; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- fs errors carry a code
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
for (const entry of entries) {
|
|
74
|
+
if (entry.name.startsWith('.')) continue;
|
|
75
|
+
if (entry.isDirectory()) walk(`${dir}/${entry.name}`, files);else if (entry.isFile()) files.push(`${dir}/${entry.name}`);
|
|
76
|
+
}
|
|
77
|
+
return files;
|
|
78
|
+
}
|
|
79
|
+
export async function glob(patterns, options = {}) {
|
|
80
|
+
const cwd = slash(options.cwd ?? process.cwd());
|
|
81
|
+
const full = pattern => {
|
|
82
|
+
const normalised = slash(pattern);
|
|
83
|
+
return isAbsolute(normalised) ? normalised : `${cwd}/${normalised}`;
|
|
84
|
+
};
|
|
85
|
+
const list = (Array.isArray(patterns) ? patterns : [patterns]).map(slash);
|
|
86
|
+
const includes = list.filter(pattern => !pattern.startsWith('!')).map(full);
|
|
87
|
+
const excludes = list.filter(pattern => pattern.startsWith('!')).map(pattern => globToRegExp(full(pattern.slice(1))));
|
|
88
|
+
// one walk per distinct base, every include tested against each of its files
|
|
89
|
+
const byBase = new Map();
|
|
90
|
+
for (const pattern of includes) {
|
|
91
|
+
const base = staticPrefix(pattern);
|
|
92
|
+
byBase.set(base, [...(byBase.get(base) ?? []), globToRegExp(pattern)]);
|
|
93
|
+
}
|
|
94
|
+
const found = new Set();
|
|
95
|
+
for (const [base, matchers] of byBase) {
|
|
96
|
+
for (const file of walk(base)) {
|
|
97
|
+
if (!matchers.some(matcher => matcher.test(file))) continue;
|
|
98
|
+
if (excludes.some(matcher => matcher.test(file))) continue;
|
|
99
|
+
found.add(file);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return [...found];
|
|
103
|
+
}
|
|
@@ -11,10 +11,10 @@ export function getFetchCompatibleHeaders(req) {
|
|
|
11
11
|
...restHeaders
|
|
12
12
|
} = req.headers;
|
|
13
13
|
const headers = block(
|
|
14
|
-
// eslint-disable-line
|
|
14
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- this refers to the typecast at the end of this block: recast it as a record to avoid difficulty getting required values of partials
|
|
15
15
|
// Headers will all be strings, except for set-cookie, so we will override the types from @types/node here
|
|
16
16
|
restHeaders,
|
|
17
|
-
// eslint-disable-line
|
|
17
|
+
// eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- countering bad typing in @types/node for 'http' incoming headers
|
|
18
18
|
header => header === undefined);
|
|
19
19
|
return new Headers({
|
|
20
20
|
...headers
|
|
@@ -32,18 +32,18 @@ export async function applyHmrModule(moduleExports, file) {
|
|
|
32
32
|
for (const exportName in moduleExports) {
|
|
33
33
|
const exported = moduleExports[exportName];
|
|
34
34
|
if (typeof exported !== 'function') continue;
|
|
35
|
-
const NewType = exported; // eslint-disable-line
|
|
35
|
+
const NewType = exported; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowed by typeof above, definitively a function/class value
|
|
36
36
|
const newKind = componentTypeKind(NewType);
|
|
37
37
|
const newKey = componentTypeIdentityKey(NewType);
|
|
38
38
|
currentIdentities.add(identityToken(newKind, newKey));
|
|
39
39
|
// snapshot: hot-swapping unregisters the old instance and registers its replacement,
|
|
40
40
|
// mutating registeredComponents mid-loop otherwise
|
|
41
41
|
for (const component of [...instance.registeredComponents]) {
|
|
42
|
-
const anyComponent = component; // eslint-disable-line
|
|
42
|
+
const anyComponent = component; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- every registered component is actually a class instance or FunctionElement stand-in
|
|
43
43
|
if (liveComponentKind(anyComponent) !== newKind) continue;
|
|
44
44
|
if (liveComponentIdentityKey(anyComponent) !== newKey) continue;
|
|
45
|
-
const swapped = AnyComponentIsFunctionComponentStandIn(anyComponent) ? await hotSwapFunctionComponent(anyComponent, NewType) // eslint-disable-line
|
|
46
|
-
: await hotSwapClassComponent(anyComponent, NewType); // eslint-disable-line
|
|
45
|
+
const swapped = AnyComponentIsFunctionComponentStandIn(anyComponent) ? await hotSwapFunctionComponent(anyComponent, NewType) // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- newKind === 'function' guaranteed by the kind check above
|
|
46
|
+
: await hotSwapClassComponent(anyComponent, NewType); // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- newKind === 'class' guaranteed by the kind check above
|
|
47
47
|
if (swapped !== null) matchedCount++;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -56,7 +56,7 @@ export async function applyHmrModule(moduleExports, file) {
|
|
|
56
56
|
const kind = tokenKind(previousToken);
|
|
57
57
|
const key = tokenKey(previousToken);
|
|
58
58
|
const stillLive = [...instance.registeredComponents].some(component => {
|
|
59
|
-
const anyComponent = component; // eslint-disable-line
|
|
59
|
+
const anyComponent = component; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- every registered component is actually a class instance or FunctionElement stand-in
|
|
60
60
|
return liveComponentKind(anyComponent) === kind && liveComponentIdentityKey(anyComponent) === key;
|
|
61
61
|
});
|
|
62
62
|
if (stillLive) {
|
|
@@ -7,7 +7,7 @@ export function componentTypeKind(Type) {
|
|
|
7
7
|
return AnyComponentTypeIsClassComponentType(Type) ? 'class' : 'function';
|
|
8
8
|
}
|
|
9
9
|
export function liveComponentType(component) {
|
|
10
|
-
return AnyComponentIsFunctionComponentStandIn(component) ? component.func : component.constructor; // eslint-disable-line
|
|
10
|
+
return AnyComponentIsFunctionComponentStandIn(component) ? component.func : component.constructor; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- constructor of a TungstenBaseComponent instance is its component type
|
|
11
11
|
}
|
|
12
12
|
export function liveComponentKind(component) {
|
|
13
13
|
return AnyComponentIsFunctionComponentStandIn(component) ? 'function' : 'class';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export function setCurrentInstance(instance) {
|
|
2
|
-
globalThis.__tungstenHmrInstance = instance; // eslint-disable-line
|
|
2
|
+
globalThis.__tungstenHmrInstance = instance; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowing globalThis to add one optional dev-only field
|
|
3
3
|
}
|
|
4
4
|
export function getCurrentInstance() {
|
|
5
|
-
return globalThis.__tungstenHmrInstance; // eslint-disable-line
|
|
5
|
+
return globalThis.__tungstenHmrInstance; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- narrowing globalThis to add one optional dev-only field
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReducer.d.ts","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useReducer.d.ts","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CACtB,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,UAAU,EAAE,GAAG,EAC1D,IAAI,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,GAAG,SAkCnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAA;AAOrD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,SAAS,SAAS,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,GACnG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,CAwB/B"}
|
package/dist/hooks/useState.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { getCurrentComponent } from './getCurrentComponent.js';
|
|
2
|
-
import { TungstenError, TungstenProductionError } from '../TungstenError.js';
|
|
3
|
-
import { isDev } from '../isDev.js';
|
|
4
|
-
const thisHook = 'useState';
|
|
5
2
|
// overloads just so TS errs say defaultValue not args
|
|
6
3
|
// export function useState<T extends undefined>(defaultValue?: T): [T, (newValue: T) => void]
|
|
7
4
|
// export function useState<T>(defaultValue: T): [T, (newValue: T) => void]
|
|
@@ -9,10 +6,7 @@ const thisHook = 'useState';
|
|
|
9
6
|
// : [T, (newValue: T) => void] {
|
|
10
7
|
export function useState(...defaultValue) {
|
|
11
8
|
// what do we do here?
|
|
12
|
-
const c = getCurrentComponent();
|
|
13
|
-
if (c === undefined) {
|
|
14
|
-
if (isDev) throw new TungstenError(`Invalid call to ${thisHook} outside of a component`);else throw new TungstenProductionError();
|
|
15
|
-
}
|
|
9
|
+
const c = getCurrentComponent(); // throws outside a component
|
|
16
10
|
const index = c.useStateIndex++;
|
|
17
11
|
//console.log('c.state', c.state)
|
|
18
12
|
//console.log('looking for'. indexOf.toString(), 'in component')
|
|
@@ -32,6 +26,6 @@ export function useState(...defaultValue) {
|
|
|
32
26
|
} else {
|
|
33
27
|
//console.log('useState initial run')
|
|
34
28
|
c.state[index] = defaultValue[0];
|
|
35
|
-
return [defaultValue[0], update]; // eslint-disable-line
|
|
29
|
+
return [defaultValue[0], update]; // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- args[0] can only be undefined if T includes undefined
|
|
36
30
|
}
|
|
37
31
|
}
|
|
@@ -12,6 +12,6 @@ export type HydrateMeta = {
|
|
|
12
12
|
};
|
|
13
13
|
export declare function makeDefaultHydrateMeta(): HydrateMeta;
|
|
14
14
|
export declare function hydrate(appRoutes: AppRoutes, RootComponent: TungstenBaseComponentType | null, instanceConfig: InstanceConfig): Promise<void>;
|
|
15
|
-
export declare function hydrateRootComponent<ComponentType extends TungstenBaseComponentType<any, any>>(instance: Instance, RootComponent: ComponentType, domPointer: DomPointer, meta: HydrateMeta, props?: InstanceType<ComponentType>['props'], // eslint-disable-line
|
|
15
|
+
export declare function hydrateRootComponent<ComponentType extends TungstenBaseComponentType<any, any>>(instance: Instance, RootComponent: ComponentType, domPointer: DomPointer, meta: HydrateMeta, props?: InstanceType<ComponentType>['props'], // eslint-disable-line @typescript-eslint/no-unsafe-type-assertion -- default only reached when Props is empty, same as the hardcoded {} this replaces
|
|
16
16
|
routeParams?: Record<string, string>, routeData?: unknown): Promise<InstanceType<ComponentType>>;
|
|
17
17
|
//# sourceMappingURL=hydrate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/hydrate/hydrate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"hydrate.d.ts","sourceRoot":"","sources":["../../src/hydrate/hydrate.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAmBxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAM7C,OAAO,EACH,yBAAyB,EAC5B,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAmBlD,OAAO,EAC4B,KAAK,uBAAuB,EAC9D,MAAM,oCAAoC,CAAA;AAQ3C,OAAO,0BAA0B,CAAA;AASjC,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,uBAAuB,EAAE,CAAA;IAGrC,WAAW,EAAE,OAAO,CAAA;CACvB,CAAA;AACD,wBAAgB,sBAAsB,IAAI,WAAW,CAEpD;AAID,wBAAsB,OAAO,CACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,yBAAyB,GAAG,IAAI,EAC/C,cAAc,EAAE,cAAc,iBA2DjC;AAyBD,wBAAsB,oBAAoB,CACtC,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEzD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,WAAW,EAIjB,KAAK,GAAE,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAAM,EAAE,sJAAsJ;AACxM,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,SAAS,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CA6DtC"}
|