tungsten 0.3.4 → 0.3.6

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.
@@ -1 +1 @@
1
- 1785884617383
1
+ 1786056051420
@@ -81,10 +81,10 @@ export declare abstract class TungstenBaseComponent<Props extends TungstenCompon
81
81
  routeParams?: RouteParams | undefined;
82
82
  routeData: RouteData;
83
83
  storeData?: Record<string, unknown>;
84
- abstract __init: (() => void);
85
- abstract init?: ((props: Props, state: any) => void) | ((props: Props) => void) | (() => void);
86
- abstract clientInit?: ((props: Props, state: any) => void) | ((props: Props) => void) | (() => void);
87
- abstract serverInit?: ((props: Props, state: any) => void) | ((props: Props) => void) | (() => void);
84
+ abstract __init: () => void | Promise<void>;
85
+ abstract init?: ((props: Props, state: any) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
86
+ abstract clientInit?: ((props: Props, state: any) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
87
+ abstract serverInit?: ((props: Props, state: any) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
88
88
  title?: string | number | ((props: Props, state: any) => string) | ((props: Props) => any) | (() => any);
89
89
  style?: CssNames;
90
90
  /**
@@ -98,35 +98,41 @@ export declare abstract class TungstenBaseComponent<Props extends TungstenCompon
98
98
  protected __dead: boolean;
99
99
  __unmountStarted: boolean;
100
100
  __renderedNode?: RenderedContentNodeClassComponent;
101
+ /**
102
+ * An async update can be unmounted while it is suspended building content. In that
103
+ * case its DOM region has already been removed and must not be reconciled.
104
+ */
105
+ __cancelledUpdateResult: () => UpdateResult;
106
+ __applyStyle: (content: ContentNode) => ContentNode;
101
107
  content?: ContentFunctionStateful<Props, any>;
102
108
  render?: ContentFunctionStateful<Props, any>;
103
- abstract __initialContent: () => Promise<ContentNode>;
109
+ abstract __initialContent: () => ContentNode | Promise<ContentNode>;
104
110
  abstract __handleTitle: () => void;
105
- abstract __content: () => Promise<ContentNode>;
106
- abstract __styledContent: () => Promise<ContentNode>;
111
+ abstract __content: () => ContentNode | Promise<ContentNode>;
112
+ abstract __styledContent: () => ContentNode | Promise<ContentNode>;
107
113
  abstract __update: () => Promise<UpdateResult>;
108
114
  abstract __updateAndReturnContent: () => Promise<{
109
115
  content: ContentNode;
110
116
  complete: () => void;
111
117
  }>;
112
- componentDidMount?: () => void;
113
- _mounted?: () => void;
114
- componentDidHydrate?: () => void;
115
- _hydrated?: () => void;
116
- abstract componentDidUpdate?: ((prevProps: Props, state: any) => any) | ((prevProps: Props) => any) | (() => any);
117
- abstract _updated?: ((prevProps: Props, state: any) => any) | ((prevProps: Props) => any) | (() => any);
118
- abstract componentDidRender?: ((prevProps: Props, state: any) => any) | ((prevProps: Props) => any) | (() => any);
119
- abstract _rendered?: ((prevProps: Props, state: any) => any) | ((prevProps: Props) => any) | (() => any);
120
- componentWillUnmount?: () => void;
121
- _deleting?: () => void;
122
- componentDidUnmount?: () => void;
123
- _deleted?: () => void;
118
+ componentDidMount?: () => void | Promise<void>;
119
+ _mounted?: () => void | Promise<void>;
120
+ componentDidHydrate?: () => void | Promise<void>;
121
+ _hydrated?: () => void | Promise<void>;
122
+ abstract componentDidUpdate?: ((prevProps: Props, state: any) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
123
+ abstract _updated?: ((prevProps: Props, state: any) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
124
+ abstract componentDidRender?: ((prevProps: Props, state: any) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
125
+ abstract _rendered?: ((prevProps: Props, state: any) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
126
+ componentWillUnmount?: () => void | Promise<void>;
127
+ _deleting?: () => void | Promise<void>;
128
+ componentDidUnmount?: () => void | Promise<void>;
129
+ _deleted?: () => void | Promise<void>;
124
130
  shouldStoreComponentUpdate?: (key: Key, data: unknown) => boolean;
125
131
  static tagName?: string;
126
132
  static displayName?: string;
127
133
  constructor(pkg: ConstructPackage<Props, RouteData>);
128
134
  get globalData(): GlobalData;
129
- __runLifecycle: (phase: string, lifecycle: () => unknown) => void;
135
+ __runLifecycle: (phase: string, lifecycle: () => void | Promise<void>) => void;
130
136
  __queueUpdate: () => void;
131
137
  triggerUpdate: () => Promise<UpdateResult>;
132
138
  reactive: (code: any) => void;
@@ -142,18 +148,18 @@ export declare abstract class TungstenBaseComponent<Props extends TungstenCompon
142
148
  }
143
149
  export declare abstract class TungstenSimpleComponent<Props extends TungstenComponentPropsBase = TungstenComponentPropsBase, RouteData = undefined> extends TungstenBaseComponent<Props, RouteData> {
144
150
  state?: never;
145
- init?: ((props: Props) => void) | (() => void);
146
- clientInit?: ((props: Props) => void) | (() => void);
147
- serverInit?: ((props: Props) => void) | (() => void);
151
+ init?: ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
152
+ clientInit?: ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
153
+ serverInit?: ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
148
154
  title?: string | number | ((props: Props) => any) | (() => any);
149
155
  abstract content: ContentFunctionStatic<Props>;
150
156
  render?: ContentFunctionStatic<Props>;
151
- componentDidUpdate?: ((prevProps: Props) => any) | (() => any);
152
- _updated?: ((prevProps: Props) => any) | (() => any);
153
- componentDidRender?: ((prevProps: Props) => any) | (() => any);
154
- _rendered?: ((prevProps: Props) => any) | (() => any);
157
+ componentDidUpdate?: ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
158
+ _updated?: ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
159
+ componentDidRender?: ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
160
+ _rendered?: ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
155
161
  __init: () => Promise<void>;
156
- __initialContent: () => Promise<ContentNode>;
162
+ __initialContent: () => ContentNode | Promise<ContentNode>;
157
163
  __update: () => Promise<UpdateResult>;
158
164
  __updateAndReturnContent: () => Promise<{
159
165
  content: ContentNode;
@@ -161,53 +167,53 @@ export declare abstract class TungstenSimpleComponent<Props extends TungstenComp
161
167
  }>;
162
168
  __newUpdateCompleted: (props: Props) => void;
163
169
  __handleTitle: () => void;
164
- __content: () => Promise<ContentNode>;
165
- __styledContent: () => Promise<ContentNode>;
170
+ __content: () => ContentNode | Promise<ContentNode>;
171
+ __styledContent: () => ContentNode | Promise<ContentNode>;
166
172
  __didRender: () => void;
167
173
  }
168
174
  export declare abstract class TungstenComponent<Props extends TungstenComponentPropsBase = object, State extends TungstenComponentStateConstraint | undefined = undefined, RouteData = undefined> extends TungstenBaseComponent<Props, RouteData> {
169
175
  state?: State;
170
- init?: ((props: Props, state: State) => void) | ((props: Props) => void) | (() => void);
171
- clientInit?: ((props: Props, state: State) => void) | ((props: Props) => void) | (() => void);
172
- serverInit?: ((props: Props, state: State) => void) | ((props: Props) => void) | (() => void);
176
+ init?: ((props: Props, state: State) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
177
+ clientInit?: ((props: Props, state: State) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
178
+ serverInit?: ((props: Props, state: State) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
173
179
  title?: string | number | ((props: Props, state: State) => string) | ((props: Props) => string) | (() => string);
174
180
  content?: ContentFunctionStateful<Props, State>;
175
181
  render?: ContentFunctionStateful<Props, State>;
176
- componentDidUpdate?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
177
- _updated?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
178
- componentDidRender?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
179
- _rendered?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
182
+ componentDidUpdate?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
183
+ _updated?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
184
+ componentDidRender?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
185
+ _rendered?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
180
186
  static tagName?: string;
181
187
  static displayName?: string;
182
188
  constructor(pkg: ConstructPackage<Props, RouteData>);
183
189
  __init: () => Promise<void>;
184
- __initialContent: () => Promise<any>;
190
+ __initialContent: () => ContentNode | Promise<ContentNode>;
185
191
  __update: () => Promise<UpdateResult>;
186
192
  __handleTitle: () => void;
187
193
  setState: (stateUpdates: State) => void;
188
194
  __doSetState: (stateUpdates: State) => void;
189
195
  __stateUpdated: () => void;
190
196
  __stateCopy: (item: unknown) => unknown;
191
- __content: () => Promise<any>;
192
- __styledContent: () => Promise<any>;
197
+ __content: () => ContentNode | Promise<ContentNode>;
198
+ __styledContent: () => ContentNode | Promise<ContentNode>;
193
199
  }
194
200
  export declare abstract class TungstenStatefulComponent<Props extends TungstenComponentPropsBase, State extends TungstenComponentStateConstraint, RouteData = undefined> extends TungstenBaseComponent<Props, RouteData> {
195
201
  abstract state: State;
196
- init?: ((props: Props, state: State) => void) | ((props: Props) => void) | (() => void);
197
- clientInit?: ((props: Props, state: State) => void) | ((props: Props) => void) | (() => void);
198
- serverInit?: ((props: Props, state: State) => void) | ((props: Props) => void) | (() => void);
202
+ init?: ((props: Props, state: State) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
203
+ clientInit?: ((props: Props, state: State) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
204
+ serverInit?: ((props: Props, state: State) => void | Promise<void>) | ((props: Props) => void | Promise<void>) | (() => void | Promise<void>);
199
205
  title?: string | number | ((props: Props, state: State) => string) | ((props: Props) => string) | (() => string);
200
206
  abstract content: ContentFunctionStateful<Props, State>;
201
207
  render?: ContentFunctionStateful<Props, State>;
202
- componentDidUpdate?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
203
- _updated?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
204
- componentDidRender?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
205
- _rendered?: ((prevProps: Props, prevState: State) => void) | ((prevProps: Props) => void) | (() => void);
208
+ componentDidUpdate?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
209
+ _updated?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
210
+ componentDidRender?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
211
+ _rendered?: ((prevProps: Props, prevState: State) => void | Promise<void>) | ((prevProps: Props) => void | Promise<void>) | (() => void | Promise<void>);
206
212
  static tagName?: string;
207
213
  static displayName?: string;
208
214
  constructor(pkg: ConstructPackage<Props, RouteData>);
209
215
  __init: () => Promise<void>;
210
- __initialContent: () => Promise<ContentNode>;
216
+ __initialContent: () => ContentNode | Promise<ContentNode>;
211
217
  __update: () => Promise<UpdateResult>;
212
218
  __updateAndReturnContent: () => Promise<{
213
219
  content: ContentNode;
@@ -219,8 +225,8 @@ export declare abstract class TungstenStatefulComponent<Props extends TungstenCo
219
225
  __doSetState: (stateUpdates: State) => void;
220
226
  __stateUpdated: () => void;
221
227
  __stateCopy: (item: unknown) => unknown;
222
- __content: () => Promise<ContentNode>;
223
- __styledContent: () => Promise<ContentNode>;
228
+ __content: () => ContentNode | Promise<ContentNode>;
229
+ __styledContent: () => ContentNode | Promise<ContentNode>;
224
230
  __didRender: () => void;
225
231
  pickState: <Key extends keyof State>(...keys: Key[]) => Pick<State, Key> extends infer T ? { [K in keyof T]: T[K]; } : never;
226
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Components.d.ts","sourceRoot":"","sources":["../src/Components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Components.d.ts","sourceRoot":"","sources":["../src/Components.tsx"],"names":[],"mappings":"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"}
@@ -38,6 +38,9 @@ function debug(...texts) {
38
38
  //console.log(...texts)
39
39
  //console.log(getStackTrace().split('\n')[2])
40
40
  }
41
+ function isPromise(value) {
42
+ return value !== null && (typeof value === 'object' || typeof value === 'function') && typeof Reflect.get(value, 'then') === 'function';
43
+ }
41
44
  function elementDelete() {
42
45
  if (this.__unmountStarted) return;
43
46
  this.__unmountStarted = true;
@@ -95,6 +98,21 @@ export class TungstenBaseComponent {
95
98
  // tree, so HMR can find and replace it without a tree walk. Kept in sync in
96
99
  // integrateUpdateVdom.ts wherever a wrapper for this component is created.
97
100
  _defineProperty(this, "__renderedNode", void 0);
101
+ /**
102
+ * An async update can be unmounted while it is suspended building content. In that
103
+ * case its DOM region has already been removed and must not be reconciled.
104
+ */
105
+ _defineProperty(this, "__cancelledUpdateResult", () => ({
106
+ renderedContent: this.__currentContent === $contentNull ? makeRenderedContentNodeNonRendered() : this.__currentContent,
107
+ nodesLength: 0
108
+ }));
109
+ _defineProperty(this, "__applyStyle", content => {
110
+ if (this.style === undefined) return content;
111
+ if (typeof this.style !== 'object') {
112
+ throw new TungstenError(`style property of ${this.constructor.name} is invalid.` + ' Should be a template string tagged with an accepted language name' + ', starting with an upper case letter, e.g. Sass`...styles...`.' + ` Received (${typeof this.style}) ${this.style}`);
113
+ }
114
+ return styleContent(content, this.style);
115
+ });
98
116
  // lifecycle hooks
99
117
  // render?
100
118
  // content?
@@ -171,8 +189,12 @@ export class TungstenBaseComponent {
171
189
  // !!! needs checking
172
190
  _defineProperty(this, "__didHydrate", () => {
173
191
  this.__didMount();
174
- if (typeof this.componentDidHydrate === 'function') this.componentDidHydrate();
175
- if (typeof this._hydrated === 'function') this._hydrated();
192
+ if (typeof this.componentDidHydrate === 'function') {
193
+ this.__runLifecycle('componentDidHydrate', () => this.componentDidHydrate());
194
+ }
195
+ if (typeof this._hydrated === 'function') {
196
+ this.__runLifecycle('_hydrated', () => this._hydrated());
197
+ }
176
198
  });
177
199
  // _preDelete = () => {
178
200
  // if (typeof this.componentDidHydrate === 'function') this.componentDidHydrate()
@@ -274,9 +296,9 @@ export class TungstenSimpleComponent extends TungstenBaseComponent {
274
296
  _defineProperty(this, "clientInit", void 0);
275
297
  _defineProperty(this, "serverInit", void 0);
276
298
  _defineProperty(this, "componentDidUpdate", void 0);
277
- // ignore arg 3 for now: , snapshot: unknown
299
+ // ignore arg 3 for now: snapshot
278
300
  _defineProperty(this, "_updated", void 0);
279
- // ignore arg 3 for now: , snapshot: unknown
301
+ // ignore arg 3 for now: snapshot
280
302
  _defineProperty(this, "componentDidRender", void 0);
281
303
  _defineProperty(this, "_rendered", void 0);
282
304
  _defineProperty(this, "__init", async /*instance: Instance*/ () => {
@@ -325,7 +347,9 @@ export class TungstenSimpleComponent extends TungstenBaseComponent {
325
347
  // clearing the token cancels any microtask still queued against it
326
348
  delete this.__queuedUpdateHandle;
327
349
  // do update
328
- const styledContent = await this.__styledContent();
350
+ let styledContent = this.__styledContent();
351
+ if (isPromise(styledContent)) styledContent = await styledContent;
352
+ if (this.__dead || this.__unmountStarted) return this.__cancelledUpdateResult();
329
353
  debug('styledContent', styledContent, 'for', this);
330
354
  debug('TSsC new content', styledContent);
331
355
  //console.log(`A ${this.constructor.name} TCI ${this.tci} is updating its content`)
@@ -352,7 +376,8 @@ export class TungstenSimpleComponent extends TungstenBaseComponent {
352
376
  _defineProperty(this, "__updateAndReturnContent", async () => {
353
377
  // clearing the token cancels any microtask still queued against it
354
378
  delete this.__queuedUpdateHandle;
355
- const styledContent = await this.__styledContent();
379
+ let styledContent = this.__styledContent();
380
+ if (isPromise(styledContent)) styledContent = await styledContent;
356
381
  const {
357
382
  props,
358
383
  state
@@ -384,31 +409,23 @@ export class TungstenSimpleComponent extends TungstenBaseComponent {
384
409
  }
385
410
  this.__instance.setTitle(this.title.toString());
386
411
  });
387
- _defineProperty(this, "__content", async () => {
412
+ _defineProperty(this, "__content", () => {
388
413
  if (this.content === undefined) {
389
414
  // eslint-disable-line @typescript-eslint/no-unnecessary-condition -- we were going to support this to support react components
390
415
  if (this.render !== undefined) return this.render(this.props);else throw new TungstenError(`${this.constructor.name} has no render or content function.`);
391
416
  } else {
392
- return await this.content(this.props);
417
+ return this.content(this.props);
393
418
  }
394
419
  });
395
- _defineProperty(this, "__styledContent", async () => {
420
+ _defineProperty(this, "__styledContent", () => {
396
421
  if (this.content === undefined && this.render !== undefined) {
397
422
  // eslint-disable-line @typescript-eslint/no-unnecessary-condition -- we were going to support this to support react components
398
423
  return this.render(this.props);
399
424
  }
400
425
  //console.log('__styledContent checking __content')
401
- const content = await this.__content();
402
- if (this.style !== undefined) {
403
- if (typeof this.style !== 'object') {
404
- throw new TungstenError(`style property of ${this.constructor.name} is invalid.` + ' Should be a template string tagged with an accepted language name' + ', starting with an upper case letter, e.g. Sass`...styles...`.' + ` Received (${typeof this.style}) ${this.style}`);
405
- }
406
- const styledContent = styleContent(content, this.style);
407
- //console.log(`styledContent for ${this.constructor.name}`, styledContent)
408
- return styledContent;
409
- } else {
410
- return content;
411
- }
426
+ const content = this.__content();
427
+ if (!isPromise(content)) return this.__applyStyle(content);
428
+ return content.then(this.__applyStyle);
412
429
  });
413
430
  _defineProperty(this, "__didRender", () => {
414
431
  if (typeof this.componentDidRender === 'function') {
@@ -430,9 +447,9 @@ export class TungstenComponent extends TungstenBaseComponent {
430
447
  _defineProperty(this, "clientInit", void 0);
431
448
  _defineProperty(this, "serverInit", void 0);
432
449
  _defineProperty(this, "componentDidUpdate", void 0);
433
- // ignore arg 3 for now: , snapshot: unknown
450
+ // ignore arg 3 for now: snapshot
434
451
  _defineProperty(this, "_updated", void 0);
435
- // ignore arg 3 for now: , snapshot: unknown
452
+ // ignore arg 3 for now: snapshot
436
453
  _defineProperty(this, "componentDidRender", void 0);
437
454
  _defineProperty(this, "_rendered", void 0);
438
455
  _defineProperty(this, "__init", async /*instance: Instance*/ () => {
@@ -486,7 +503,9 @@ export class TungstenComponent extends TungstenBaseComponent {
486
503
  // clearing the token cancels any microtask still queued against it
487
504
  delete this.__queuedUpdateHandle;
488
505
  // do update
489
- const styledContent = await this.__styledContent();
506
+ let styledContent = this.__styledContent();
507
+ if (isPromise(styledContent)) styledContent = await styledContent;
508
+ if (this.__dead || this.__unmountStarted) return this.__cancelledUpdateResult();
490
509
  debug(`${this.constructor.name}' styledContent`, styledContent, 'for', this);
491
510
  //console.log(`A ${this.constructor.name} TCI ${this.tci} is updating its content`)
492
511
  // Splits the update into building the new vdom vs reconciling it against the dom.
@@ -534,7 +553,10 @@ export class TungstenComponent extends TungstenBaseComponent {
534
553
  // return val
535
554
  // }
536
555
  _defineProperty(this, "__stateUpdated", () => {
537
- if (isDev && this.__dead) throwError('TungstenStatefulComponent.__stateUpdated', `A dead component ${this.constructor.name} received a notice that it's state has updated`);
556
+ if (isDev && (this.__dead || this.__unmountStarted)) {
557
+ warn(`Tungsten warning: ${this.constructor.name} changed state after unmount. The change will not be rendered.`);
558
+ return;
559
+ }
538
560
  this.__queueUpdate();
539
561
  });
540
562
  // this could be moved out of the component
@@ -544,29 +566,21 @@ export class TungstenComponent extends TungstenBaseComponent {
544
566
  if (!objectTypesToCopy.includes(item.constructor.name)) return item; // if it is not a plain object, return the original item
545
567
  return structuredClone(item);
546
568
  });
547
- _defineProperty(this, "__content", async () => {
569
+ _defineProperty(this, "__content", () => {
548
570
  if (this.content === undefined) {
549
571
  if (this.render !== undefined) {
550
572
  return this.render(this.props, this.state);
551
573
  } else throw new TungstenError(`${this.constructor.name} has no render or content function.`);
552
574
  } else {
553
- return await this.content(this.props, this.state);
575
+ return this.content(this.props, this.state);
554
576
  }
555
577
  });
556
- _defineProperty(this, "__styledContent", async () => {
578
+ _defineProperty(this, "__styledContent", () => {
557
579
  if (this.content === undefined && this.render !== undefined) return this.render(this.props, this.state);
558
580
  //console.log('__styledContent checking __content')
559
- const content = await this.__content();
560
- if (this.style !== undefined) {
561
- if (typeof this.style !== 'object') {
562
- throw new TungstenError(`style property of ${this.constructor.name} is invalid.` + ' Should be a template string tagged with an accepted language name' + ', starting with an upper case letter, e.g. Sass`...styles...`.' + ` Received (${typeof this.style}) ${this.style}`);
563
- }
564
- const styledContent = styleContent(content, this.style);
565
- //console.log(`styledContent for ${this.constructor.name}`, styledContent)
566
- return styledContent;
567
- } else {
568
- return content;
569
- }
581
+ const content = this.__content();
582
+ if (!isPromise(content)) return this.__applyStyle(content);
583
+ return content.then(this.__applyStyle);
570
584
  });
571
585
  }
572
586
  }
@@ -580,9 +594,9 @@ export class TungstenStatefulComponent extends TungstenBaseComponent {
580
594
  _defineProperty(this, "clientInit", void 0);
581
595
  _defineProperty(this, "serverInit", void 0);
582
596
  _defineProperty(this, "componentDidUpdate", void 0);
583
- // ignore arg 3 for now: , snapshot: unknown
597
+ // ignore arg 3 for now: snapshot
584
598
  _defineProperty(this, "_updated", void 0);
585
- // ignore arg 3 for now: , snapshot: unknown
599
+ // ignore arg 3 for now: snapshot
586
600
  _defineProperty(this, "componentDidRender", void 0);
587
601
  _defineProperty(this, "_rendered", void 0);
588
602
  _defineProperty(this, "__init", async /*instance: Instance*/ () => {
@@ -638,7 +652,9 @@ export class TungstenStatefulComponent extends TungstenBaseComponent {
638
652
  // clearing the token cancels any microtask still queued against it
639
653
  delete this.__queuedUpdateHandle;
640
654
  // do update
641
- const styledContent = await this.__styledContent();
655
+ let styledContent = this.__styledContent();
656
+ if (isPromise(styledContent)) styledContent = await styledContent;
657
+ if (this.__dead || this.__unmountStarted) return this.__cancelledUpdateResult();
642
658
  debug('styledContent', styledContent, 'for', this);
643
659
  //console.log(`A ${this.constructor.name} TCI ${this.tci} is updating its content`)
644
660
  // Splits the update into building the new vdom vs reconciling it against the dom.
@@ -664,7 +680,8 @@ export class TungstenStatefulComponent extends TungstenBaseComponent {
664
680
  _defineProperty(this, "__updateAndReturnContent", async () => {
665
681
  // clearing the token cancels any microtask still queued against it
666
682
  delete this.__queuedUpdateHandle;
667
- const styledContent = await this.__styledContent();
683
+ let styledContent = this.__styledContent();
684
+ if (isPromise(styledContent)) styledContent = await styledContent;
668
685
  const {
669
686
  props,
670
687
  state
@@ -715,19 +732,12 @@ export class TungstenStatefulComponent extends TungstenBaseComponent {
715
732
  }
716
733
  });
717
734
  _defineProperty(this, "__stateUpdated", () => {
718
- if (isDev && this.__dead) throwError('TungstenStatefulComponent.__stateUpdated', `A dead component ${this.constructor.name} received a notice that it's state has updated`);
735
+ if (isDev && (this.__dead || this.__unmountStarted)) {
736
+ warn(`Tungsten warning: ${this.constructor.name} changed state after unmount. The change will not be rendered.`);
737
+ return;
738
+ }
719
739
  this.__queueUpdate();
720
740
  });
721
- // I think this is called by the babel'd code to trigger update when state is modified
722
- // __updateState = (val: unknown): unknown => { // what is this?
723
- // console.log('__updateState', isDev, this.__dead)
724
- // if (isDev && this.__dead) throwError(
725
- // 'TungstenStatefulComponent.__updateState',
726
- // `A dead component ${this.constructor.name} received a notice that it's state has updated`
727
- // )
728
- // this.__queueUpdate()
729
- // return val
730
- // }
731
741
  // this could be moved out of the component
732
742
  // that would shorten references to it by not needing 'this.'
733
743
  _defineProperty(this, "__stateCopy", item => {
@@ -735,15 +745,15 @@ export class TungstenStatefulComponent extends TungstenBaseComponent {
735
745
  if (!objectTypesToCopy.includes(item.constructor.name)) return item; // if it is not a plain object, return the original item
736
746
  return structuredClone(item);
737
747
  });
738
- _defineProperty(this, "__content", async () => {
748
+ _defineProperty(this, "__content", () => {
739
749
  if (isDev && this.content === undefined) {
740
750
  // eslint-disable-line @typescript-eslint/no-unnecessary-condition -- left over from earlier dev, isDev'd it so that it will be removed in prod
741
751
  if (this.render !== undefined) return this.render(this.props, this.state);else throw new TungstenError(`${this.constructor.name} has no render or content function.`);
742
752
  } else {
743
- return await this.content(this.props, this.state);
753
+ return this.content(this.props, this.state);
744
754
  }
745
755
  });
746
- _defineProperty(this, "__styledContent", async () => {
756
+ _defineProperty(this, "__styledContent", () => {
747
757
  // what is this?
748
758
  // for an old style component, just return the result of render()
749
759
  //if (this.constructor.name === 'Highlight') {
@@ -756,17 +766,9 @@ export class TungstenStatefulComponent extends TungstenBaseComponent {
756
766
  return this.render(this.props, this.state);
757
767
  }
758
768
  //console.log('__styledContent checking __content')
759
- const content = await this.__content();
760
- if (this.style !== undefined) {
761
- if (typeof this.style !== 'object') {
762
- throw new TungstenError(`style property of ${this.constructor.name} is invalid.` + ' Should be a template string tagged with an accepted language name' + ', starting with an upper case letter, e.g. Sass`...styles...`.' + ` Received (${typeof this.style}) ${this.style}`);
763
- }
764
- const styledContent = styleContent(content, this.style);
765
- //console.log(`styledContent for ${this.constructor.name}`, styledContent)
766
- return styledContent;
767
- } else {
768
- return content;
769
- }
769
+ const content = this.__content();
770
+ if (!isPromise(content)) return this.__applyStyle(content);
771
+ return content.then(this.__applyStyle);
770
772
  });
771
773
  // __filterText(t) {
772
774
  // return (typeof t === 'boolean' || t === null || t === undefined) ? '' : t
@@ -794,7 +796,7 @@ class TungstenSignalsComponent extends TungstenBaseComponent {
794
796
  _defineProperty(this, "clientInit", void 0);
795
797
  _defineProperty(this, "serverInit", void 0);
796
798
  _defineProperty(this, "componentDidUpdate", void 0);
797
- // ignore arg 3 for now: , snapshot: unknown
799
+ // ignore arg 3 for now: snapshot
798
800
  _defineProperty(this, "componentDidRender", void 0);
799
801
  _defineProperty(this, "__init", async /*instance: Instance*/ () => {
800
802
  if (typeof window !== 'undefined' && typeof process === 'undefined') {
@@ -848,7 +850,9 @@ class TungstenSignalsComponent extends TungstenBaseComponent {
848
850
  // clearing the token cancels any microtask still queued against it
849
851
  delete this.__queuedUpdateHandle;
850
852
  // do update
851
- const styledContent = await this.__styledContent();
853
+ let styledContent = this.__styledContent();
854
+ if (isPromise(styledContent)) styledContent = await styledContent;
855
+ if (this.__dead || this.__unmountStarted) return this.__cancelledUpdateResult();
852
856
  debug('styledContent', styledContent, 'for', this);
853
857
  //console.log(`A ${this.constructor.name} TCI ${this.tci} is updating its content`)
854
858
  // Splits the update into building the new vdom vs reconciling it against the dom.
@@ -865,7 +869,8 @@ class TungstenSignalsComponent extends TungstenBaseComponent {
865
869
  _defineProperty(this, "__updateAndReturnContent", async () => {
866
870
  // clearing the token cancels any microtask still queued against it
867
871
  delete this.__queuedUpdateHandle;
868
- const styledContent = await this.__styledContent();
872
+ let styledContent = this.__styledContent();
873
+ if (isPromise(styledContent)) styledContent = await styledContent;
869
874
  return {
870
875
  content: styledContent,
871
876
  complete: () => {
@@ -895,25 +900,18 @@ class TungstenSignalsComponent extends TungstenBaseComponent {
895
900
  }
896
901
  this.__instance.setTitle(this.title.toString());
897
902
  });
898
- _defineProperty(this, "__content", async () => {
903
+ _defineProperty(this, "__content", () => {
899
904
  if (this.content === undefined) {
900
905
  if (this.render !== undefined) return this.render(this.props, this.signals);else throw new TungstenError(`${this.constructor.name} has no render or content function.`);
901
906
  } else {
902
- return await this.content(this.props, this.signals);
907
+ return this.content(this.props, this.signals);
903
908
  }
904
909
  });
905
- _defineProperty(this, "__styledContent", async () => {
910
+ _defineProperty(this, "__styledContent", () => {
906
911
  if (this.content === undefined && this.render !== undefined) return this.render(this.props, this.signals);
907
- const content = await this.__content();
908
- if (this.style !== undefined) {
909
- if (typeof this.style !== 'object') {
910
- throw new TungstenError(`style property of ${this.constructor.name} is invalid.` + ' Should be a template string tagged with an accepted language name' + ', starting with an upper case letter, e.g. Sass`...styles...`.' + ` Received (${typeof this.style}) ${this.style}`);
911
- }
912
- const styledContent = styleContent(content, this.style);
913
- return styledContent;
914
- } else {
915
- return content;
916
- }
912
+ const content = this.__content();
913
+ if (!isPromise(content)) return this.__applyStyle(content);
914
+ return content.then(this.__applyStyle);
917
915
  });
918
916
  }
919
917
  }
@@ -923,10 +921,12 @@ import { objectMap } from "./objectMap.js";
923
921
  import { getStateProxyHandler, proxyObjectContent } from "./componentProxyHandlers.js";
924
922
  import { markRendered, trace, tracing } from "./stateTracking.js";
925
923
  import { $contentNull } from "./symbols.js";
924
+ import { makeRenderedContentNodeNonRendered } from "./RenderedContentNode.js";
926
925
  import { getInternalStore } from "./Store/getInternalStore.js";
927
926
  import { objects } from 'sxy-lib';
928
927
  import { isDev } from "./isDev.js";
929
928
  import { throwError } from "./throwError.js";
929
+ import { warn } from "./output.js";
930
930
  export function __proxyStore(store) {
931
931
  const proxiedStore = objectMap(store, (valueKey, valueObject) => {
932
932
  const handler = {
@@ -3,7 +3,7 @@ export type ContentFunctionStaticSync<Props> = (props: Props) => ContentNode;
3
3
  export type ContentFunctionStaticAsync<Props> = (props: Props) => Promise<ContentNode>;
4
4
  export type ContentFunctionStatefulSync<Props, State> = (props: Props, state: State) => ContentNode;
5
5
  export type ContentFunctionStatefulAsync<Props, State> = (props: Props, state: State) => Promise<ContentNode>;
6
- export type ContentFunctionStatic<Props> = ContentFunctionStaticSync<Props> | ContentFunctionStaticAsync<Props>;
7
- export type ContentFunctionStateful<Props, State> = ContentFunctionStatefulSync<Props, State> | ContentFunctionStatefulAsync<Props, State>;
6
+ export type ContentFunctionStatic<Props> = (props: Props) => ContentNode | Promise<ContentNode>;
7
+ export type ContentFunctionStateful<Props, State> = (props: Props, state: State) => ContentNode | Promise<ContentNode>;
8
8
  export type ContentFunction = ContentFunctionStatic<any> | ContentFunctionStateful<any, any>;
9
9
  //# sourceMappingURL=ContentFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentFunction.d.ts","sourceRoot":"","sources":["../src/ContentFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,MAAM,yBAAyB,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,CAAA;AAC5E,MAAM,MAAM,0BAA0B,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAEtF,MAAM,MAAM,2BAA2B,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,WAAW,CAAA;AACnG,MAAM,MAAM,4BAA4B,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAI7G,MAAM,MAAM,qBAAqB,CAAC,KAAK,IAAI,yBAAyB,CAAC,KAAK,CAAC,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAA;AAE/G,MAAM,MAAM,uBAAuB,CAAC,KAAK,EAAE,KAAK,IAAI,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAE1I,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"ContentFunction.d.ts","sourceRoot":"","sources":["../src/ContentFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,MAAM,yBAAyB,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,CAAA;AAC5E,MAAM,MAAM,0BAA0B,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAEtF,MAAM,MAAM,2BAA2B,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,WAAW,CAAA;AACnG,MAAM,MAAM,4BAA4B,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;AAI7G,MAAM,MAAM,qBAAqB,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAE/F,MAAM,MAAM,uBAAuB,CAAC,KAAK,EAAE,KAAK,IAC1C,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAExE,MAAM,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA"}
package/dist/Framework.js CHANGED
@@ -25,7 +25,7 @@ import { throwError } from "./throwError.js";
25
25
  import { existsSync, readFileSync, openSync, closeSync, writeFileSync, copyFileSync } from 'fs';
26
26
  import dotenv from 'dotenv';
27
27
  import { getEnvSchemas } from "./env/getEnvSchemas.js";
28
- import { injectEnv } from "./env/injectEnv.js";
28
+ import { addToEnv } from "./env/addToEnv.js";
29
29
  //import { ValueOf } from 'sxy-lib'
30
30
  import { windowGlobalEnvStatement } from "./env/windowGlobalEnvStatement.js";
31
31
  import { loadEnvsDev } from "./Servers/loadEnvsDev.js";
@@ -189,7 +189,7 @@ export class Framework {
189
189
  const envSchemas = await getEnvSchemas(config);
190
190
  let someEnvLoaded = false; // eslint-disable-line no-type-assertion/no-type-assertion -- widening
191
191
  // snapshot the real environment before any .env file is loaded, so those files can
192
- // never overwrite it - see injectEnv()
192
+ // never overwrite it - see addToEnv()
193
193
  const trueEnv = {
194
194
  ...process.env
195
195
  };
@@ -198,7 +198,7 @@ export class Framework {
198
198
  const env = dotenv.parse(readFileSync(filePath, 'utf-8'));
199
199
  someEnvLoaded = true;
200
200
  cliOut(`${fileName} loaded from ${filePath}`);
201
- injectEnv(env, process.env, prefix, trueEnv, config.suppressEnvOverwriteWarnings);
201
+ addToEnv(env, process.env, prefix, trueEnv, config.suppressEnvOverwriteWarnings);
202
202
  //console.log('process.env after injecting ' + fileName, process.env)
203
203
  }
204
204
  const projectDir = process.cwd();
@@ -4,7 +4,7 @@ import { remap as objectRemap, filter as objectFilter } from 'sxy-lib/objects.js
4
4
  import { getEnvSchemasDev } from "../env/getEnvSchemas.js";
5
5
  import dotenv from 'dotenv';
6
6
  import { cliLog, cliOut } from "../cliOutput.js";
7
- import { injectEnv } from "../env/injectEnv.js";
7
+ import { addToEnv } from "../env/addToEnv.js";
8
8
  import { throwError } from 'tungsten/throwError.js';
9
9
  import { tungstenCorePrivateEnvSchema } from "./tungstenCorePrivateEnvSchema.js";
10
10
  import { tungstenCorePublicEnvSchema } from "./tungstenCorePublicEnvSchema.js";
@@ -44,7 +44,7 @@ iteration, initialProcessEnv, _firstLoad, useTestEnvFiles = false) {
44
44
  someEnvLoaded = true;
45
45
  if (_firstLoad) cliOut(`${fileName} loaded from ${filePath}`);
46
46
  //cliOut(fileName, JSON.stringify(env, null, 4))
47
- injectEnv(env, tempEnv, prefix, initialProcessEnv, config.suppressEnvOverwriteWarnings);
47
+ addToEnv(env, tempEnv, prefix, initialProcessEnv, config.suppressEnvOverwriteWarnings);
48
48
  //if (_firstLoad) console.log('loaded env file', fileName)
49
49
  } catch (e) {
50
50
  if (e !== null && typeof e === 'object' && 'errno' in e && e.errno === -4058) {
@@ -1,9 +1,10 @@
1
1
  import { NodePath } from '@babel/core';
2
- import type { ConditionalExpression, IfStatement } from '@babel/types';
2
+ import type { ConditionalExpression, ExpressionStatement, IfStatement } from '@babel/types';
3
3
  export declare function MakeBabelTransformRemoveDevBlocks(): () => {
4
4
  visitor: {
5
5
  IfStatement(path: NodePath<IfStatement>): void;
6
6
  ConditionalExpression(path: NodePath<ConditionalExpression>): void;
7
+ ExpressionStatement(path: NodePath<ExpressionStatement>): void;
7
8
  };
8
9
  };
9
10
  //# sourceMappingURL=BabelTransformRemoveDevBlocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BabelTransformRemoveDevBlocks.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformRemoveDevBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAc,WAAW,EAAE,MAAM,cAAc,CAAA;AAOlF,wBAAgB,iCAAiC;;0BAef,QAAQ,CAAC,WAAW,CAAC;oCAUX,QAAQ,CAAC,qBAAqB,CAAC;;EAS1E"}
1
+ {"version":3,"file":"BabelTransformRemoveDevBlocks.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformRemoveDevBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAc,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAOvG,wBAAgB,iCAAiC;;0BAwBf,QAAQ,CAAC,WAAW,CAAC;oCAUX,QAAQ,CAAC,qBAAqB,CAAC;kCAMjC,QAAQ,CAAC,mBAAmB,CAAC;;EAatE"}
@@ -14,6 +14,10 @@ export function MakeBabelTransformRemoveDevBlocks() {
14
14
  }
15
15
  return false;
16
16
  }
17
+ function isDevGuardedExpression(expression) {
18
+ if (expression.type === 'Identifier') return expression.name === 'isDev';
19
+ return expression.type === 'LogicalExpression' && expression.operator === '&&' && isDevGuardedExpression(expression.left);
20
+ }
17
21
  return {
18
22
  visitor: {
19
23
  IfStatement(path) {
@@ -31,6 +35,12 @@ export function MakeBabelTransformRemoveDevBlocks() {
31
35
  if (investigationCondition(test)) {
32
36
  path.replaceWith(path.node.alternate);
33
37
  }
38
+ },
39
+ ExpressionStatement(path) {
40
+ const expression = path.node.expression;
41
+ if (expression.type === 'LogicalExpression' && expression.operator === '&&' && isDevGuardedExpression(expression)) {
42
+ path.remove();
43
+ }
34
44
  }
35
45
  }
36
46
  };
@@ -1,9 +1,10 @@
1
1
  import { NodePath } from '@babel/core';
2
- import type { ConditionalExpression, IfStatement } from '@babel/types';
2
+ import type { ConditionalExpression, ExpressionStatement, IfStatement } from '@babel/types';
3
3
  export declare function MakeBabelTransformRemoveServerBlocks(): () => {
4
4
  visitor: {
5
5
  IfStatement(path: NodePath<IfStatement>): void;
6
6
  ConditionalExpression(path: NodePath<ConditionalExpression>): void;
7
+ ExpressionStatement(path: NodePath<ExpressionStatement>): void;
7
8
  };
8
9
  };
9
10
  //# sourceMappingURL=BabelTransformRemoveServerBlocks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BabelTransformRemoveServerBlocks.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformRemoveServerBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAc,WAAW,EAAE,MAAM,cAAc,CAAA;AASlF,wBAAgB,oCAAoC;;0BAgBlB,QAAQ,CAAC,WAAW,CAAC;oCAWX,QAAQ,CAAC,qBAAqB,CAAC;;EAS1E"}
1
+ {"version":3,"file":"BabelTransformRemoveServerBlocks.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformRemoveServerBlocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,qBAAqB,EAAc,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AASvG,wBAAgB,oCAAoC;;0BAyBlB,QAAQ,CAAC,WAAW,CAAC;oCAWX,QAAQ,CAAC,qBAAqB,CAAC;kCAMjC,QAAQ,CAAC,mBAAmB,CAAC;;EAatE"}
@@ -15,6 +15,10 @@ export function MakeBabelTransformRemoveServerBlocks() {
15
15
  }
16
16
  return false;
17
17
  }
18
+ function isServerGuardedExpression(expression) {
19
+ if (expression.type === 'Identifier') return expression.name === 'isServer';
20
+ return expression.type === 'LogicalExpression' && expression.operator === '&&' && isServerGuardedExpression(expression.left);
21
+ }
18
22
  //let require
19
23
  return {
20
24
  visitor: {
@@ -33,6 +37,12 @@ export function MakeBabelTransformRemoveServerBlocks() {
33
37
  if (investigationCondition(test)) {
34
38
  path.replaceWith(path.node.alternate);
35
39
  }
40
+ },
41
+ ExpressionStatement(path) {
42
+ const expression = path.node.expression;
43
+ if (expression.type === 'LogicalExpression' && expression.operator === '&&' && isServerGuardedExpression(expression)) {
44
+ path.remove();
45
+ }
36
46
  }
37
47
  }
38
48
  };
@@ -10,9 +10,9 @@ export function getTungstenClientPackageAliases() {
10
10
  // I think these are only used in dev
11
11
  const importAliases = {
12
12
  'tungsten': `${frameworkDestLocation}/index.js`,
13
- 'tungsten/jsxRuntime.js': `${frameworkDestLocation}/jsxRuntime.js`,
13
+ 'tungsten/jsxRuntime.js': `${frameworkDestLocation}/jsxRuntime.js`
14
14
  // The component library, mirroring the `./library` subpath in exports.
15
- 'tungsten/library': `${frameworkDestLocation}/components/library/index.js`
15
+ //'tungsten/library': `${frameworkDestLocation}/components/library/index.js`,
16
16
  //'tungsten': `${frameworkDestLocation}/indexBundle.js`,
17
17
  //'tungsten/jsxRuntime.js': `${frameworkDestLocation}/indexBundle.js`,
18
18
  //'tungsten/TungstenError.js': `${frameworkDestLocation}/TungstenError.js`,
@@ -1,2 +1,2 @@
1
- @import "i/T-components-library-RichTextEditor-RichTextEditor.css";
2
- @import "i/T-components-library-__StatefulMessage-StatefulMessage.css";
1
+ @import "i/T-components-library-__StatefulMessage-StatefulMessage.css";
2
+ @import "i/T-components-library-RichTextEditor-RichTextEditor.css";
@@ -0,0 +1,2 @@
1
+ export declare function addToEnv(newEnv: Record<string, string>, env?: Record<string, unknown>, prefix?: string, trueEnv?: Record<string, unknown>, suppressOverwriteWarnings?: boolean): void;
2
+ //# sourceMappingURL=addToEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addToEnv.d.ts","sourceRoot":"","sources":["../../src/env/addToEnv.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAe,EAC1C,MAAM,GAAE,MAAW,EAGnB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,yBAAyB,GAAE,OAAe,QAmB7C"}
@@ -1,5 +1,5 @@
1
1
  import { cliWarn } from "../cliOutput.js";
2
- export function injectEnv(newEnv, env = process.env, prefix = '',
2
+ export function addToEnv(newEnv, env = process.env, prefix = '',
3
3
  // the real (OS/shell) environment as it was before any .env file was loaded - these values
4
4
  // always win over .env files, they're never overwritten, only warned about on conflict
5
5
  trueEnv = {}, suppressOverwriteWarnings = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"propsAreEqual.d.ts","sourceRoot":"","sources":["../src/propsAreEqual.ts"],"names":[],"mappings":"AA+DA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAwC9E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvF"}
1
+ {"version":3,"file":"propsAreEqual.d.ts","sourceRoot":"","sources":["../src/propsAreEqual.ts"],"names":[],"mappings":"AA4EA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAsD9E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAEvF"}
@@ -1,5 +1,6 @@
1
1
  import { objectTypesToProxy } from "./objectTypesToProxy.js";
2
2
  import { changedAt } from "./stateTracking.js";
3
+ import { $key, $props, $type } from "./contentNodeSymbols.js";
3
4
  /**
4
5
  * Structural comparison of component props, used to skip updating a child whose
5
6
  * props have not changed.
@@ -24,6 +25,10 @@ function isTraversable(value) {
24
25
  const name = constructorNameOf(value);
25
26
  return name !== undefined && objectTypesToProxy.includes(name);
26
27
  }
28
+ /** A JSX element node, whose semantic fields are stored under symbol keys. */
29
+ function isContentNodeElement(value) {
30
+ return typeof value === 'object' && value !== null && !Array.isArray(value) && $type in value && $props in value;
31
+ }
27
32
  /**
28
33
  * Has anything inside this object been mutated since the given tick?
29
34
  *
@@ -57,6 +62,9 @@ function hasChangedSince(value, since, seen) {
57
62
  * help: deep state is mutated in place, so both sides are the already-mutated object.
58
63
  */
59
64
  export function valuesAreEqual(a, b, since) {
65
+ //console.log('valuesAreEqual')
66
+ //console.log('a', a)
67
+ //console.log('b', b)
60
68
  if (a === b) {
61
69
  // primitives cannot have been mutated behind our back
62
70
  if (typeof a !== 'object' || a === null) return true;
@@ -80,6 +88,12 @@ export function valuesAreEqual(a, b, since) {
80
88
  }
81
89
  return true;
82
90
  }
91
+ // JSX nodes keep their meaningful fields under symbols, so Object.keys() below sees
92
+ // them as empty objects. Compare their rendering identity and recursively compare props.
93
+ if (isContentNodeElement(a) || isContentNodeElement(b)) {
94
+ if (!isContentNodeElement(a) || !isContentNodeElement(b)) return false;
95
+ return a[$type] === b[$type] && a[$key] === b[$key] && valuesAreEqual(a[$props], b[$props], since);
96
+ }
83
97
  // class instances are integral entities: not equal unless the same object,
84
98
  // which `a === b` above already covered
85
99
  if (!isTraversable(a) || !isTraversable(b)) return false;
@@ -1 +1 @@
1
- {"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACH,WAAW,EAAwC,eAAe,EAElE,uBAAuB,EAG1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAIlD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAA;AAE1D,OAAO,EACe,mBAAmB,EAIT,4BAA4B,EAI3D,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAYhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAwEhE,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAC5C,wBAAwB,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,KAAK,GAAG,CAAA;IACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB,CAAA;AAYD,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,GAC/C,OAAO,CAAC,YAAY,CAAC,CA4HvB;AAiCD,MAAM,MAAM,eAAe,GAAG;IAC1B,eAAe,EAAE,YAAY,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAAA;IAC3C,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,WAAW,CAAA;CAC1B,CAAA;AAGD,wBAAsB,WAAW,CAC7B,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,eAAe,GACnG,OAAO,CAAC,mBAAmB,CAAC,CAmV/B;AA0JD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,mBAAmB,QAuC5E;AA2DD,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,QAkK7E;AA0WD,KAAK,2BAA2B,GAAG;IAC/B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,uBAAuB,CAAC;IAE9B,UAAU,EAAE,UAAU,CAAA;CACzB,CAAA;AACD,wBAAsB,uBAAuB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,2BAA2B,GAC3G,OAAO,CAAC,4BAA4B,CAAC,CAU1C;AAED,MAAM,MAAM,mBAAmB,CAC3B,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,IACzD;IACA,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;IACtC,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAsB,2BAA2B,CAC7C,aAAa,SAAS,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,EAEzD,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAC3C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/C,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,WAAW,GACvB,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAqD7C;AAED,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAC/D,IAAI,CAON;AA4QD,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC5E,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAiC3C;AAED,wBAAsB,qBAAqB,CACvC,UAAU,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,yBAAyB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC1F,OAAO,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAyCjD"}
1
+ {"version":3,"file":"integrateUpdateVdom.d.ts","sourceRoot":"","sources":["../../src/update/integrateUpdateVdom.ts"],"names":[],"mappings":"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"}
@@ -605,7 +605,7 @@ export function deleteNodeIfRendered(node) {
605
605
  } else if (RenderedContentNodeSingleIsHtml(node)) {
606
606
  debug('delete node html', node);
607
607
  deleteNodeIfRendered(node.renderedChildren);
608
- if ('ref' in node[$props] && node[$props].ref?.current === node.domNode) {
608
+ if ('ref' in node[$props] && node[$props].ref.current === node.domNode) {
609
609
  node[$props].ref.current = null;
610
610
  }
611
611
  node.domNode.remove();
@@ -1291,6 +1291,8 @@ async function updateClassComponent({
1291
1291
  // re-rendering it is wasted work -- which for a large list child means reconciling
1292
1292
  // every row so an unrelated sibling can update. componentDidUpdate deliberately does
1293
1293
  // not fire: the component did not update.
1294
+ //console.log('old props', element.props)
1295
+ //console.log('new props', newNode[$props])
1294
1296
  if (propsAreEqual(element.props, newNode[$props], renderedAt(element))) {
1295
1297
  if (tracing()) trace('SKIP', element.constructor.name, '(props unchanged since tick', renderedAt(element), ')');
1296
1298
  // the dom is current for these props, so the baseline moves with it -- otherwise a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tungsten",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,2 +0,0 @@
1
- export declare function injectEnv(newEnv: Record<string, string>, env?: Record<string, unknown>, prefix?: string, trueEnv?: Record<string, unknown>, suppressOverwriteWarnings?: boolean): void;
2
- //# sourceMappingURL=injectEnv.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectEnv.d.ts","sourceRoot":"","sources":["../../src/env/injectEnv.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAe,EAC1C,MAAM,GAAE,MAAW,EAGnB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,yBAAyB,GAAE,OAAe,QAmB7C"}