tungsten 0.1.59 → 0.1.60

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.
Files changed (202) hide show
  1. package/dist/AnyComponent.d.ts.map +1 -1
  2. package/dist/ComponentInstance.d.ts +1 -2
  3. package/dist/ComponentInstance.d.ts.map +1 -1
  4. package/dist/ComponentInstance.js +4 -1
  5. package/dist/ComponentRenderInfo.type.d.ts +6 -0
  6. package/dist/ComponentRenderInfo.type.d.ts.map +1 -0
  7. package/dist/ComponentRenderInfo.type.js +1 -0
  8. package/dist/Components.d.ts +4 -2
  9. package/dist/Components.d.ts.map +1 -1
  10. package/dist/Components.js +10 -4
  11. package/dist/ContentNode.d.ts +3 -1
  12. package/dist/ContentNode.d.ts.map +1 -1
  13. package/dist/ContentNode.js +1 -0
  14. package/dist/Framework.d.ts +1 -1
  15. package/dist/Framework.d.ts.map +1 -1
  16. package/dist/Framework.js +42 -25
  17. package/dist/FrameworkConfig.d.ts +20 -4
  18. package/dist/FrameworkConfig.d.ts.map +1 -1
  19. package/dist/FunctionComponent.d.ts +2 -0
  20. package/dist/FunctionComponent.d.ts.map +1 -1
  21. package/dist/FunctionComponentStandIn.d.ts +4 -4
  22. package/dist/FunctionComponentStandIn.d.ts.map +1 -1
  23. package/dist/FunctionComponentStandIn.js +4 -2
  24. package/dist/Instance/InstanceConfig.d.ts +2 -0
  25. package/dist/Instance/InstanceConfig.d.ts.map +1 -1
  26. package/dist/RenderedContentNode.d.ts +1 -1
  27. package/dist/RenderedContentNode.d.ts.map +1 -1
  28. package/dist/RenderedContentNode.js +2 -2
  29. package/dist/RenderingNode.d.ts +23 -8
  30. package/dist/RenderingNode.d.ts.map +1 -1
  31. package/dist/RenderingNode.js +39 -8
  32. package/dist/Servers/DevServer.d.ts.map +1 -1
  33. package/dist/Servers/DevServer.js +74 -25
  34. package/dist/Servers/ProdServer.d.ts +5 -1
  35. package/dist/Servers/ProdServer.d.ts.map +1 -1
  36. package/dist/Servers/ProdServer.js +49 -33
  37. package/dist/TungstenElement.d.ts +3 -0
  38. package/dist/TungstenElement.d.ts.map +1 -0
  39. package/dist/TungstenElement.js +1 -0
  40. package/dist/_client/client.d.ts +4 -1
  41. package/dist/_client/client.d.ts.map +1 -1
  42. package/dist/_client/client.js +16 -9
  43. package/dist/babelPlugins/BabelTransformCjsToEsm.d.ts +1 -1
  44. package/dist/babelPlugins/BabelTransformCjsToEsm.d.ts.map +1 -1
  45. package/dist/babelPlugins/BabelTransformCjsToFunction.d.ts +1 -1
  46. package/dist/babelPlugins/BabelTransformCjsToFunction.d.ts.map +1 -1
  47. package/dist/babelPlugins/BabelTransformCjsToFunction2.d.ts +1 -1
  48. package/dist/babelPlugins/BabelTransformCjsToFunction2.d.ts.map +1 -1
  49. package/dist/babelPlugins/{BabelTransformCssImport.d.ts → BabelTransformCssImports.d.ts} +3 -2
  50. package/dist/babelPlugins/BabelTransformCssImports.d.ts.map +1 -0
  51. package/dist/babelPlugins/{BabelTransformCssImport.js → BabelTransformCssImports.js} +27 -5
  52. package/dist/babelPlugins/BabelTransformPackageImports.d.ts.map +1 -1
  53. package/dist/babelPlugins/BabelTransformPackageImports.js +75 -37
  54. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.d.ts.map +1 -1
  55. package/dist/babelPlugins/BabelTransformRemoveServerBlocks.js +5 -0
  56. package/dist/babelPlugins/BabelTransformRemoveServerCode.d.ts +2 -0
  57. package/dist/babelPlugins/BabelTransformRemoveServerCode.d.ts.map +1 -0
  58. package/dist/babelPlugins/BabelTransformRemoveServerCode.js +1 -0
  59. package/dist/babelPlugins/fixImportsInSassErrorMessage.d.ts.map +1 -1
  60. package/dist/babelPlugins/{BabelTransformDependencyImportsCjs.d.ts → transformPackageImports/BabelTransformDependencyImportsCjs.d.ts} +1 -1
  61. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.d.ts.map +1 -0
  62. package/dist/babelPlugins/{BabelTransformDependencyImportsCjs.js → transformPackageImports/BabelTransformDependencyImportsCjs.js} +12 -3
  63. package/dist/babelPlugins/{BabelTransformDependencyImportsEsm.d.ts → transformPackageImports/BabelTransformDependencyImportsEsm.d.ts} +1 -1
  64. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.d.ts.map +1 -0
  65. package/dist/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.js +112 -0
  66. package/dist/bin/commands/compileSimplePackage.d.ts +2 -0
  67. package/dist/bin/commands/compileSimplePackage.d.ts.map +1 -0
  68. package/dist/bin/commands/compileSimplePackage.js +51 -0
  69. package/dist/bin/commands/static.js +2 -2
  70. package/dist/bin/index.d.ts.map +1 -1
  71. package/dist/bin/index.js +5 -0
  72. package/dist/build/babel.user.common.config.js +9 -3
  73. package/dist/build/bundle.d.ts +1 -2
  74. package/dist/build/bundle.d.ts.map +1 -1
  75. package/dist/build/bundle.js +7 -4
  76. package/dist/build/compileJavascript.d.ts.map +1 -1
  77. package/dist/build/compileJavascript.js +22 -11
  78. package/dist/build/compilePackages.d.ts +0 -5
  79. package/dist/build/compilePackages.d.ts.map +1 -1
  80. package/dist/build/compilePackages.js +89 -82
  81. package/dist/build/compileUserApp.d.ts.map +1 -1
  82. package/dist/build/copyPackageModulesToPackagesFolder.d.ts.map +1 -1
  83. package/dist/build/copyPackageModulesToPackagesFolder.js +3 -1
  84. package/dist/build/createClientFiles.d.ts.map +1 -1
  85. package/dist/build/createClientFiles.js +43 -52
  86. package/dist/build/createInstanceConfigFile.d.ts +4 -0
  87. package/dist/build/createInstanceConfigFile.d.ts.map +1 -0
  88. package/dist/build/{createAppConfig.js → createInstanceConfigFile.js} +2 -2
  89. package/dist/build/makeBabelUserDevConfig.d.ts.map +1 -1
  90. package/dist/build/makeBabelUserDevConfig.js +3 -2
  91. package/dist/build/makeBabelUserProdConfig.js +3 -2
  92. package/dist/components/Stylesheet.d.ts +1 -0
  93. package/dist/components/Stylesheet.d.ts.map +1 -1
  94. package/dist/components/Stylesheet.js +24 -3
  95. package/dist/createRef.d.ts +4 -2
  96. package/dist/createRef.d.ts.map +1 -1
  97. package/dist/createRef.js +5 -2
  98. package/dist/defaultConfig.d.ts +1 -0
  99. package/dist/defaultConfig.d.ts.map +1 -1
  100. package/dist/defaultConfig.js +1 -0
  101. package/dist/findUserConfig.d.ts.map +1 -1
  102. package/dist/findUserConfig.js +1 -1
  103. package/dist/frameworkConfigSchema.d.ts +188 -0
  104. package/dist/frameworkConfigSchema.d.ts.map +1 -0
  105. package/dist/frameworkConfigSchema.js +65 -0
  106. package/dist/getConfig.d.ts +1 -15
  107. package/dist/getConfig.d.ts.map +1 -1
  108. package/dist/getConfig.js +12 -11
  109. package/dist/getRoutes.d.ts.map +1 -1
  110. package/dist/getRoutes.js +20 -15
  111. package/dist/getUserConfig.d.ts +3 -0
  112. package/dist/getUserConfig.d.ts.map +1 -0
  113. package/dist/getUserConfig.js +25 -0
  114. package/dist/hooks/getCurrentComponent.d.ts +4 -0
  115. package/dist/hooks/getCurrentComponent.d.ts.map +1 -1
  116. package/dist/hooks/getCurrentComponent.js +8 -2
  117. package/dist/hooks/globalType.d.ts +2 -0
  118. package/dist/hooks/globalType.d.ts.map +1 -0
  119. package/dist/hooks/globalType.js +1 -0
  120. package/dist/hooks/useState.d.ts +1 -1
  121. package/dist/hooks/useState.d.ts.map +1 -1
  122. package/dist/hooks/useState.js +5 -5
  123. package/dist/hydrate/hydrate.d.ts +1 -1
  124. package/dist/hydrate/hydrate.d.ts.map +1 -1
  125. package/dist/hydrate/hydrate.js +192 -53
  126. package/dist/jsx-runtime.d.ts +2 -0
  127. package/dist/jsx-runtime.d.ts.map +1 -0
  128. package/dist/jsx-runtime.js +1 -0
  129. package/dist/jsxRuntime.d.ts.map +1 -1
  130. package/dist/jsxRuntime.js +5 -1
  131. package/dist/makeFinalConfig.d.ts.map +1 -1
  132. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts +4 -0
  133. package/dist/makeInstanceConfigFromFrameworkConfig.d.ts.map +1 -0
  134. package/dist/makeInstanceConfigFromFrameworkConfig.js +12 -0
  135. package/dist/render/componentNodeToRenderingTree.d.ts +6 -0
  136. package/dist/render/componentNodeToRenderingTree.d.ts.map +1 -0
  137. package/dist/render/componentNodeToRenderingTree.js +41 -0
  138. package/dist/render/contentToHtml.d.ts +9 -0
  139. package/dist/render/contentToHtml.d.ts.map +1 -0
  140. package/dist/render/contentToHtml.js +44 -0
  141. package/dist/render/contentToHtmlDev.d.ts +9 -0
  142. package/dist/render/contentToHtmlDev.d.ts.map +1 -0
  143. package/dist/render/contentToHtmlDev.js +4 -0
  144. package/dist/render/contentTreeToRenderingTree.d.ts.map +1 -1
  145. package/dist/render/contentTreeToRenderingTree.js +8 -8
  146. package/dist/render/functionComponentNodeToRenderingTree.d.ts.map +1 -1
  147. package/dist/render/functionComponentNodeToRenderingTree.js +4 -2
  148. package/dist/render/instantiateClassComponent.d.ts +2 -2
  149. package/dist/render/instantiateClassComponent.d.ts.map +1 -1
  150. package/dist/render/instantiateClassComponent.js +1 -1
  151. package/dist/render/instantiateComponent.d.ts.map +1 -1
  152. package/dist/render/processProps.d.ts.map +1 -1
  153. package/dist/render/processProps.js +1 -1
  154. package/dist/render/renderingTreeToHtml.d.ts.map +1 -1
  155. package/dist/render/renderingTreeToHtml.js +42 -8
  156. package/dist/render/rootToHtml.d.ts +2 -1
  157. package/dist/render/rootToHtml.d.ts.map +1 -1
  158. package/dist/render/rootToHtml.js +12 -6
  159. package/dist/render/rootToHtmlDev.d.ts +4 -3
  160. package/dist/render/rootToHtmlDev.d.ts.map +1 -1
  161. package/dist/render/rootToHtmlDev.js +2 -2
  162. package/dist/routing/MatchedRoute.d.ts.map +1 -1
  163. package/dist/routing/MatchedRoute.js +0 -3
  164. package/dist/routing/runContentFunction.d.ts +2 -0
  165. package/dist/routing/runContentFunction.d.ts.map +1 -0
  166. package/dist/routing/runContentFunction.js +13 -0
  167. package/dist/staticGen/getAppRoutes.d.ts.map +1 -1
  168. package/dist/staticGen/getAppRoutes.js +7 -6
  169. package/dist/staticGen/staticGen.d.ts.map +1 -1
  170. package/dist/staticGen/staticGen.js +9 -1
  171. package/dist/update/integrateUpdateVdom.d.ts +13 -1
  172. package/dist/update/integrateUpdateVdom.d.ts.map +1 -1
  173. package/dist/update/integrateUpdateVdom.js +112 -49
  174. package/dist/validChildren.d.ts +4 -2
  175. package/dist/validChildren.d.ts.map +1 -1
  176. package/dist/validChildren.js +4 -0
  177. package/package.json +11 -10
  178. package/types/jsx/jsx.d.ts +10 -7
  179. package/dist/babelPlugins/BabelTransformCssImport.d.ts.map +0 -1
  180. package/dist/babelPlugins/BabelTransformDependencyImportsCjs.d.ts.map +0 -1
  181. package/dist/babelPlugins/BabelTransformDependencyImportsEsm.d.ts.map +0 -1
  182. package/dist/babelPlugins/BabelTransformDependencyImportsEsm.js +0 -85
  183. package/dist/build/compileEnv.d.ts +0 -2
  184. package/dist/build/compileEnv.d.ts.map +0 -1
  185. package/dist/build/compileEnv.js +0 -132
  186. package/dist/build/createAppConfig.d.ts +0 -4
  187. package/dist/build/createAppConfig.d.ts.map +0 -1
  188. package/dist/build/webpack.user.prod.config.d.ts +0 -2
  189. package/dist/build/webpack.user.prod.config.d.ts.map +0 -1
  190. package/dist/build/webpack.user.prod.config.js +0 -337
  191. package/dist/createInstanceConfigFromFrameworkConfig.d.ts +0 -4
  192. package/dist/createInstanceConfigFromFrameworkConfig.d.ts.map +0 -1
  193. package/dist/createInstanceConfigFromFrameworkConfig.js +0 -9
  194. package/dist/getAppConfig.d.ts +0 -3
  195. package/dist/getAppConfig.d.ts.map +0 -1
  196. package/dist/getAppConfig.js +0 -12
  197. package/dist/render/componentNodeToRenderingToTree.d.ts +0 -6
  198. package/dist/render/componentNodeToRenderingToTree.d.ts.map +0 -1
  199. package/dist/render/componentNodeToRenderingToTree.js +0 -15
  200. package/dist/render/componentNodeToTree.d.ts +0 -5
  201. package/dist/render/componentNodeToTree.d.ts.map +0 -1
  202. package/dist/render/componentNodeToTree.js +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"BabelTransformCjsToFunction.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformCjsToFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAa5C,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI,WACH,KAAK;eASrC,GAAG;;yBAkBO,QAAQ,CAAC,UAAU,CAAC;wBAMrB,QAAQ,CAAC,SAAS,CAAC;;gBAM3B,GAAG;EA4B1B"}
1
+ {"version":3,"file":"BabelTransformCjsToFunction.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformCjsToFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAa5C,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI,WACH,KAAK;eASrC,OAAO;;yBAkBG,QAAQ,CAAC,UAAU,CAAC;wBAMrB,QAAQ,CAAC,SAAS,CAAC;;gBAM3B,GAAG;EA4B1B"}
@@ -10,7 +10,7 @@ export declare function MakeBabelTransformCjsToFunction(opts: Opts): (babel: any
10
10
  Identifier(path: NodePath<Identifier>): void;
11
11
  Directive(path: NodePath<Directive>): void;
12
12
  };
13
- post(state: any): void;
13
+ post(state: unknown): void;
14
14
  };
15
15
  export {};
16
16
  //# sourceMappingURL=BabelTransformCjsToFunction2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BabelTransformCjsToFunction2.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformCjsToFunction2.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA6DnE,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI;eAcnC,GAAG;;6BAqCW,QAAQ,CAAC,cAAc,CAAC;yBAgC5B,QAAQ,CAAC,UAAU,CAAC;wBAerB,QAAQ,CAAC,SAAS,CAAC;;gBAM3B,GAAG;EAuI1B"}
1
+ {"version":3,"file":"BabelTransformCjsToFunction2.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformCjsToFunction2.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA6DnE,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI;eAcnC,GAAG;;6BAqCW,QAAQ,CAAC,cAAc,CAAC;yBAgC5B,QAAQ,CAAC,UAAU,CAAC;wBAerB,QAAQ,CAAC,SAAS,CAAC;;gBAM3B,OAAO;EAuI9B"}
@@ -2,13 +2,14 @@ import { Babel, NodePath } from './BabelTypes.js';
2
2
  import type { ImportDeclaration } from 'babel-types';
3
3
  import { BabelState } from './BabelState.type.js';
4
4
  type Opts = {
5
+ absSourceDir: string;
5
6
  absCodeDir: string;
6
7
  };
7
- export declare function MakeBabelTransformCssImport(opts: Opts): (babel: Babel) => {
8
+ export declare function MakeBabelTransformCssImports(opts: Opts): (babel: Babel) => {
8
9
  pre: (state: BabelState) => void;
9
10
  visitor: {
10
11
  ImportDeclaration: (path: NodePath<ImportDeclaration>) => void;
11
12
  };
12
13
  };
13
14
  export {};
14
- //# sourceMappingURL=BabelTransformCssImport.d.ts.map
15
+ //# sourceMappingURL=BabelTransformCssImports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BabelTransformCssImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformCssImports.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAc,MAAM,iBAAiB,CAAA;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAOjD,KAAK,IAAI,GAAG;IACR,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AACD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,WACH,KAAK;iBAKvB,UAAU;;kCAIO,QAAQ,CAAC,iBAAiB,CAAC;;EAiH7E"}
@@ -1,4 +1,4 @@
1
- // BabelTransformCssImport
1
+ // BabelTransformCssImports
2
2
  // exports MakeBabelTransformComponentStyles (function)
3
3
  //
4
4
  // Converts imports of raw CSS files into a variable declaration
@@ -10,8 +10,11 @@
10
10
  // that stylesheet
11
11
  import { dirname } from 'path';
12
12
  import slash from 'slash';
13
- export function MakeBabelTransformCssImport(opts) {
14
- return function BabelTransformCssImport(babel) {
13
+ import { cliError } from 'tungsten/cliOutput.js';
14
+ import { throwError } from 'tungsten/throwError.js';
15
+ import { existsSync } from 'fs';
16
+ export function MakeBabelTransformCssImports(opts) {
17
+ return function BabelTransformCssImports(babel) {
15
18
  const t = babel.types;
16
19
  //let projectDir
17
20
  let filename;
@@ -21,7 +24,8 @@ export function MakeBabelTransformCssImport(opts) {
21
24
  },
22
25
  visitor: {
23
26
  ImportDeclaration: function (path /*, state*/) {
24
- let location = path.node.source.value;
27
+ const importTarget = path.node.source.value;
28
+ let location = importTarget;
25
29
  //.slice(2) // remove ./
26
30
  if (location.endsWith('.css') || location.endsWith('.scss') || location.endsWith('.sass')) {
27
31
  //console.log('found a css import in', filename)
@@ -39,7 +43,25 @@ export function MakeBabelTransformCssImport(opts) {
39
43
  if (fileRelDir === '/') fileRelDir = '';
40
44
  location = fileRelDir + '/' + location;
41
45
  }
42
- const varName = path.node.specifiers[0].local.name;
46
+ //console.log('found stylesheet import', location)
47
+ const cssPath = opts.absSourceDir + location;
48
+ //console.log('BabelTransformCssImports searching for css file', cssPath)
49
+ if (!existsSync(cssPath)) {
50
+ throwError('Stylesheet', `Could not find stylesheet '${importTarget}'`);
51
+ }
52
+ //console.log('css import path.node.specifiers', path.node.specifiers)
53
+ const specifiers = path.node.specifiers;
54
+ const firstSpecifier = specifiers[0];
55
+ // !!! guard
56
+ if (firstSpecifier === undefined) {
57
+ cliError('Tungsten BabelTransformCssImports Error: ' + `CSS file '${location}' is not being imported to a variable.` + '\nCSS files should be imported like ' + '`import globalStyles from \'./style/global.css\'`' + '\nThen used in a <Stylesheet> component like ' + '`<Stylesheet>{globalStyles}</Stylesheet>`');
58
+ return;
59
+ }
60
+ if (specifiers.length >= 2) {
61
+ cliError('Tungsten BabelTransformCssImports Error: ' + `The import of CSS file '${location}' has too any specifiers.` + '\nOnly 1 specifier should be used, e.g. ' + '`import globalStyles from \'./style/global.css\'`');
62
+ return;
63
+ }
64
+ const varName = firstSpecifier.local.name;
43
65
  const locationWithCssExt = location.slice(0, location.lastIndexOf('.')) + '.css';
44
66
  const assignment = t.variableDeclaration('const', [t.variableDeclarator(t.identifier(varName), t.objectExpression([t.objectProperty(t.identifier('href'), t.stringLiteral(locationWithCssExt))]))]);
45
67
  path.replaceWith(assignment);
@@ -1 +1 @@
1
- {"version":3,"file":"BabelTransformPackageImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformPackageImports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BabelTransformPackageImports.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformPackageImports.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  import { join, dirname, relative } from 'path';
9
9
  import slash from 'slash';
10
10
  import precinct from 'precinct';
11
+ //import sxyPrecinct from 'sxy-precinct'
11
12
  import cabinet from 'sxy-filing-cabinet';
12
13
  import { existsSync, mkdirSync, promises as fsPromises, readFileSync, writeFileSync } from 'fs';
13
14
  import { createRequire } from 'module';
@@ -18,8 +19,8 @@ const babelPluginSyntaxImportAssertions = babelPluginSyntaxImportAssertionsModul
18
19
  import { init as lexerInit, parse as lexerParse } from 'cjs-module-lexer';
19
20
  lexerInit();
20
21
  import { MakeBabelTransformCjsToFunction } from "./BabelTransformCjsToFunction.js";
21
- import { MakeBabelTransformDependencyImportsEsm } from "./BabelTransformDependencyImportsEsm.js";
22
- import { MakeBabelTransformDependencyImportsCjs } from "./BabelTransformDependencyImportsCjs.js";
22
+ import { MakeBabelTransformDependencyImportsEsm } from "./transformPackageImports/BabelTransformDependencyImportsEsm.js";
23
+ import { MakeBabelTransformDependencyImportsCjs } from "./transformPackageImports/BabelTransformDependencyImportsCjs.js";
23
24
  import { devBuildFolder, frameworkDistFolder, packageName as frameworkPackageName, packageName, packagesCacheFolder, packagesFolder /*, packagesCacheInfoName*/ } from "../settings.js";
24
25
  import { findProjectDir } from "../findProjectDir.js";
25
26
  import { cliError, cliWarn, cliNote } from "../cliOutput.js";
@@ -33,6 +34,7 @@ function debug(...texts) {
33
34
  //console.log(...texts)
34
35
  }
35
36
  export function MakeBabelTransformPackageImports(opts) {
37
+ //console.log('making BabelTransformPackageImports')
36
38
  const buildLocation = join(opts.projectDir, devBuildFolder);
37
39
  const packagesLocation = join(buildLocation, packagesFolder);
38
40
  // get info about the packages cache
@@ -44,7 +46,7 @@ export function MakeBabelTransformPackageImports(opts) {
44
46
  if (location.startsWith('./') || location.startsWith('../')) {
45
47
  throw new TungstenError(`applyImportAliases() error: received a relative import, expected a bare import: ${location}`);
46
48
  }
47
- const segments = location.split('/');
49
+ const segments = location.split('/'); // as [string, string, ...string[]]
48
50
  const [packageName, remaining] = location.startsWith('@') ? [segments[0] + '/' + segments[1], segments.slice(2).join('/')] : [segments[0], segments.slice(1).join('/')];
49
51
  if (packageName === 'react') {
50
52
  const sxyFrameworkBase = fileType === 'esm' ? 'tungsten/' : 'tungsten/sync/';
@@ -63,9 +65,18 @@ export function MakeBabelTransformPackageImports(opts) {
63
65
  } else {
64
66
  // aliases - at this point just redirecting react imports to tungsten
65
67
  location = applyImportAliases(location, fileType);
66
- const fullLocation = require.resolve(location, {
67
- paths: [sourcePackageDir]
68
- });
68
+ //cliNews(`trying to resolve ${location} from ${sourcePackageDir}`)
69
+ //cliOut(`sourceFile: ${sourceFile}`)
70
+ //cliInfo(`while processing: `)
71
+ let fullLocation;
72
+ try {
73
+ fullLocation = require.resolve(location, {
74
+ paths: [sourcePackageDir]
75
+ });
76
+ } catch (e) {
77
+ cliError(`BabelTransformPackageImports Error, failed to resolve ${location} from ${sourcePackageDir}`);
78
+ throw e;
79
+ }
69
80
  if (fullLocation === location) {
70
81
  return fullLocation;
71
82
  }
@@ -87,8 +98,9 @@ export function MakeBabelTransformPackageImports(opts) {
87
98
  };
88
99
  const cjsRequireCache = {};
89
100
  function getCjsRequire(file) {
90
- if (file in cjsRequireCache) {
91
- return cjsRequireCache[file];
101
+ const r = cjsRequireCache[file];
102
+ if (r !== undefined) {
103
+ return r;
92
104
  } else {
93
105
  return cjsRequireCache[file] = createRequire(file);
94
106
  }
@@ -135,7 +147,7 @@ export function MakeBabelTransformPackageImports(opts) {
135
147
  if (f === '') throw new TungstenError(`resolvePrecinctDependencies() err: cabinet returned empty string for ${dep} in ${packageDir}`);
136
148
  out.push(f);
137
149
  } catch (error) {
138
- errorOut(`dependency lookup failed for dependency "${dep}" in file "${file}" originating in file ${sourceFilename}`);
150
+ errorOut(`dependency lookup failed for dependency "${dep}"` + ` in file "${file}" originating in file ${sourceFilename}`);
139
151
  throw error;
140
152
  }
141
153
  }
@@ -172,7 +184,9 @@ export function MakeBabelTransformPackageImports(opts) {
172
184
  }
173
185
  }
174
186
  const getPackageDirForFile = function getPackageDirForFile(file) {
175
- return getPackageDirForDir(dirname(file));
187
+ const dir = getPackageDirForDir(dirname(file));
188
+ if (dir === undefined) throw new TungstenError(`MakeBabelTransformPackageImports Error: could not find package dir for file ${file}`);
189
+ return dir;
176
190
  };
177
191
  function packageIsEsm(packageJson) {
178
192
  return packageJson.type === 'module';
@@ -180,8 +194,9 @@ export function MakeBabelTransformPackageImports(opts) {
180
194
  const importedPackageLocations = {};
181
195
  function getPackageInfo(packageDir) {
182
196
  //console.log('getPackageInfo', packageDir)
183
- if (packageDir in importedPackageLocations) {
184
- return importedPackageLocations[packageDir];
197
+ const packageInfo = importedPackageLocations[packageDir];
198
+ if (packageInfo !== undefined) {
199
+ return packageInfo;
185
200
  } else {
186
201
  const packageJson = require(join(packageDir, 'package.json'));
187
202
  const packageName = packageJson.name;
@@ -201,9 +216,10 @@ export function MakeBabelTransformPackageImports(opts) {
201
216
  finalLocation
202
217
  //dependencyPackagesInfo
203
218
  };
204
- if (packageIdentifier in packages) {
205
- if (packages[packageIdentifier].packageDir !== packageDir) {
206
- cliWarn(`BabelTransformPackageImports found the same package in 2 different locations:` + `\n${packages[packageIdentifier].packageDir}` + `\nand\n${packageDir}`);
219
+ const packageLogItem = packages[packageIdentifier];
220
+ if (packageLogItem !== undefined) {
221
+ if (packageLogItem.packageDir !== packageDir) {
222
+ cliWarn(`BabelTransformPackageImports found the same package in 2 different locations:` + `\n${packageLogItem.packageDir}` + `\nand\n${packageDir}`);
207
223
  }
208
224
  }
209
225
  if (!(packageIdentifier in packages)) {
@@ -253,7 +269,7 @@ export function MakeBabelTransformPackageImports(opts) {
253
269
  throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (1) returned null: ${file}`);
254
270
  }
255
271
  if (result.code === null || result.code === undefined) {
256
- throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (1) returned code was null or undefined: ${typeof result.code}, ${file}`);
272
+ throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (1)` + ` returned code was null or undefined: ${typeof result.code}, ${file}`);
257
273
  }
258
274
  return result.code;
259
275
  }
@@ -287,22 +303,24 @@ export function MakeBabelTransformPackageImports(opts) {
287
303
  throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (2) returned null: ${file}`);
288
304
  }
289
305
  if (result.code === null || result.code === undefined) {
290
- throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (2) returned code was null or undefined: ${typeof result.code}, ${file}`);
306
+ throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (2)` + ` returned code was null or undefined: ${typeof result.code}, ${file}`);
291
307
  }
292
308
  const intermedCacheLocation = getFileEsmGenIntermediateCacheLocation(file, packageInfo);
293
309
  await fsPromises.mkdir(dirname(intermedCacheLocation), {
294
310
  recursive: true
295
311
  });
312
+ //console.log('writing file', intermedCacheLocation)
296
313
  await fsPromises.writeFile(intermedCacheLocation, result.code); // rel contains the slash at start
297
314
  result = await babelTransformAsync(result.code, {
298
315
  filename: file,
299
316
  ...makeModifyImportsCjsBabelOptions(nonEsmDepsWebPath)
300
317
  });
301
318
  if (result === null) {
302
- throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (3) returned null: ${file}`);
319
+ throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (3) returned null: ${file}
320
+ `);
303
321
  }
304
322
  if (result.code === null || result.code === undefined) {
305
- throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (3) returned code was null or undefined: ${typeof result.code}, ${file}`);
323
+ throw new TungstenError(`BabelTransformPackageImports error: sub file babel transform (3)` + ` returned code was null or undefined: ${typeof result.code}, ${file}`);
306
324
  }
307
325
  //if (file.includes('domexception')) console.log('transformed imports', code)
308
326
  return result.code;
@@ -369,16 +387,30 @@ export function MakeBabelTransformPackageImports(opts) {
369
387
  });
370
388
  //if (file.endsWith('index.cjs')) console.log('checking type for *index.cjs file:', packageInfo.type)
371
389
  if (packageInfo.type === 'esm' && file.endsWith('.js') || file.endsWith('.mjs')) {
372
- const code = await babelFileEsm(file /*, packageInfo*/, nonEsmDependenciesFull);
373
- await fsPromises.writeFile(cacheDest, code); // rel contains the slash at start
374
- await fsPromises.writeFile(finalDest, code); // rel contains the slash at start
390
+ try {
391
+ const code = await babelFileEsm(file /*, packageInfo*/, nonEsmDependenciesFull);
392
+ //console.log('writing file', cacheDest)
393
+ //console.log('writing file', finalDest)
394
+ await fsPromises.writeFile(cacheDest, code); // rel contains the slash at start
395
+ await fsPromises.writeFile(finalDest, code); // rel contains the slash at start
396
+ } catch (e) {
397
+ cliError(`Error transforming file '${file}' with bableFileEsm`);
398
+ throw e;
399
+ }
375
400
  } else {
376
- //if (file.endsWith('index.cjs')) console.log('trying to transform a *index.cjs file:', file)
377
- const code = await babelFileCjs(file, cacheDest, finalDest, packageInfo, nonEsmDependenciesFull);
378
- //if (file.endsWith('index.cjs')) console.log('writing a transformed *index.cjs file to cache:', cacheDest)
379
- await fsPromises.writeFile(cacheDest, code); // rel contains the slash at start
380
- //if (file.endsWith('index.cjs')) console.log('writing a transformed *index.cjs file to final:', finalDest)
381
- await fsPromises.writeFile(finalDest, code); // rel contains the slash at start
401
+ try {
402
+ //if (file.endsWith('index.cjs')) console.log('trying to transform a *index.cjs file:', file)
403
+ const code = await babelFileCjs(file, cacheDest, finalDest, packageInfo, nonEsmDependenciesFull);
404
+ //console.log('writing file', cacheDest)
405
+ //console.log('writing file', finalDest)
406
+ //if (file.endsWith('index.cjs')) console.log('writing a transformed *index.cjs file to cache:', cacheDest)
407
+ await fsPromises.writeFile(cacheDest, code); // rel contains the slash at start
408
+ //if (file.endsWith('index.cjs')) console.log('writing a transformed *index.cjs file to final:', finalDest)
409
+ await fsPromises.writeFile(finalDest, code); // rel contains the slash at start
410
+ } catch (e) {
411
+ cliError(`Error transforming file '${file}' with babelFileCjs`);
412
+ throw e;
413
+ }
382
414
  }
383
415
  const dependenciesFileIndentifiers = dependenciesFull.map(d => d.fileIdentifier);
384
416
  addToDependencyGraphFromFileInfo(fileInfo, dependenciesFileIndentifiers);
@@ -405,14 +437,15 @@ export function MakeBabelTransformPackageImports(opts) {
405
437
  }
406
438
  async function processCacheDependencies(dependencies) {
407
439
  for (const dep of dependencies) {
408
- if (!(dep in opts.oldDependencyGraph)) {
440
+ const cacheNode = opts.oldDependencyGraph[dep];
441
+ if (cacheNode === undefined) {
409
442
  throw new TungstenError(`processCacheDependencies() Error: ${dep} not found in existing dependency graph`);
410
443
  }
411
- const cacheNode = opts.oldDependencyGraph[dep];
444
+ //const cacheNode = opts.oldDependencyGraph[dep]
412
445
  if (existsSync(cacheNode.originalLocation)) {
413
446
  await copyFileFromCache(dep, cacheNode);
414
447
  } else {
415
- throw new TungstenError(`processCacheDependencies() Error: source file ${cacheNode.originalLocation} for ${dep} does not exist` + `perhaps the package version was increased, and we need to process anew`);
448
+ throw new TungstenError(`processCacheDependencies() Error: source file ${cacheNode.originalLocation}` + ` for ${dep} does not exist.` + ` Perhaps the package version was increased, and we need to process anew`);
416
449
  // find the import/require specification
417
450
  // resolve with sxy-filing-cabinet
418
451
  // resolveFile
@@ -508,8 +541,9 @@ export function MakeBabelTransformPackageImports(opts) {
508
541
  const lexInnerCache = {};
509
542
  function lexInternal(file) {
510
543
  const cache = lexInnerCache;
511
- if (file in cache) {
512
- return cache[file];
544
+ const result = cache[file];
545
+ if (result !== undefined) {
546
+ return result;
513
547
  } else {
514
548
  const code = readFileSync(file, 'utf8');
515
549
  const {
@@ -532,8 +566,9 @@ export function MakeBabelTransformPackageImports(opts) {
532
566
  const makeCjsEntryFile = function makeCjsEntryFile(orginalFile, newLocationSiteRel) {
533
567
  //console.log('makeCjsEntryFile', 'orginalFile', orginalFile, 'newLocationSiteRel', newLocationSiteRel)
534
568
  const cache = makeCjsEntryFileCache;
535
- if (newLocationSiteRel in cache) {
536
- return cache[newLocationSiteRel];
569
+ const result = cache[newLocationSiteRel];
570
+ if (result !== undefined) {
571
+ return result;
537
572
  } else {
538
573
  const entryFile = newLocationSiteRel.slice(0, newLocationSiteRel.lastIndexOf('.')) + '.sxy-entry.js';
539
574
  const entryFileAbs = join(buildLocation, entryFile);
@@ -587,7 +622,7 @@ export function MakeBabelTransformPackageImports(opts) {
587
622
  return {
588
623
  pre(state) {
589
624
  filename = slash(state.opts.filename);
590
- //console.log('BabelTransformPackageImports on', filename)
625
+ //cliWarn('BabelTransformPackageImports on', filename)
591
626
  const relativeFilename = filename.slice(opts.codeDir.length + 1);
592
627
  destinationFilename = join(buildLocation, relativeFilename);
593
628
  //console.log('filename', filename, 'destinationFilename', destinationFilename)
@@ -640,7 +675,9 @@ export function MakeBabelTransformPackageImports(opts) {
640
675
  //// location relative to this file
641
676
  // relative assumes to source to be a dir, so use only the dirname not the full path
642
677
  let newLocationRelative = relative(dirname(destinationFilename), finalDest);
643
- if (!newLocationRelative.startsWith('../')) newLocationRelative = './' + newLocationRelative;
678
+ if (!newLocationRelative.startsWith('../')) {
679
+ newLocationRelative = './' + newLocationRelative;
680
+ }
644
681
  //console.log('bare import type', type)
645
682
  if (type === 'esm') {
646
683
  addImportAlias(location, webLocation);
@@ -668,6 +705,7 @@ export function MakeBabelTransformPackageImports(opts) {
668
705
  // }
669
706
  },
670
707
  post() {
708
+ //cliWarn('Finished BabelTransformPackageImports on', filename)
671
709
  //promises.push(destinationFilename)
672
710
  //console.log(promises)
673
711
  //setTimeout(() => console.log('post'), 0)
@@ -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,aAAa,CAAA;AAEjF,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,WAAW,EAAE,MAAM,aAAa,CAAA;AASjF,wBAAgB,oCAAoC;;0BAgBlB,QAAQ,CAAC,WAAW,CAAC;oCAWX,QAAQ,CAAC,qBAAqB,CAAC;;EAS1E"}
@@ -1,3 +1,8 @@
1
+ //////////////////////////////////////
2
+ //////////////////////////////////////
3
+ // TODO: Remove serverInit functions
4
+ //////////////////////////////////////
5
+ //////////////////////////////////////
1
6
  export function MakeBabelTransformRemoveServerBlocks() {
2
7
  return function BabelTransformRemoveServerBlocks(/*babel*/
3
8
  ) {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BabelTransformRemoveServerCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BabelTransformRemoveServerCode.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/BabelTransformRemoveServerCode.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"fixImportsInSassErrorMessage.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/fixImportsInSassErrorMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAazE,KAAK,kCAAkC,GAAG;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,kCAAkC,CAsF7H"}
1
+ {"version":3,"file":"fixImportsInSassErrorMessage.d.ts","sourceRoot":"","sources":["../../src/babelPlugins/fixImportsInSassErrorMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAazE,KAAK,kCAAkC,GAAG;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAC7C,kCAAkC,CAsFpC"}
@@ -2,7 +2,7 @@ import type * as BabelCore from '@babel/core';
2
2
  import { NodePath } from '@babel/core';
3
3
  type Babel = typeof BabelCore;
4
4
  import { ExportAllDeclaration, ExportNamedDeclaration, type CallExpression, type ImportDeclaration } from 'babel-types';
5
- import type { GetPackageDirForFile, GetPackageInfoForFile, GetExternalImportFinalImportLocation, GetCjsRelativeImportFinalImportLocation, GetFileFinalLocation } from './BabelTransformPackageImports.js';
5
+ import type { GetPackageDirForFile, GetPackageInfoForFile, GetExternalImportFinalImportLocation, GetCjsRelativeImportFinalImportLocation, GetFileFinalLocation } from '../BabelTransformPackageImports.js';
6
6
  type Opts = {
7
7
  nonEsmDeps: string[];
8
8
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BabelTransformDependencyImportsCjs.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/transformPackageImports/BabelTransformDependencyImportsCjs.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAc,MAAM,aAAa,CAAA;AAClD,KAAK,KAAK,GAAG,OAAO,SAAS,CAAC;AAM9B,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAA0B,KAAK,cAAc,EAAmB,KAAK,iBAAiB,EAAsB,MAAM,aAAa,CAAA;AAIpL,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oCAAoC,EAAE,uCAAuC,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAU1M,KAAK,IAAI,GAAG;IACR,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,KAAK,KAAK,GAAG;IACT,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oCAAoC,EAAE,oCAAoC,CAAA;IAC1E,uCAAuC,EAAE,uCAAuC,CAAA;IAChF,oBAAoB,EAAE,oBAAoB,CAAA;CAC7C,CAAA;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,WACjB,KAAK;eAsC5C,GAAG;;kCAQyB,QAAQ,CAAC,iBAAiB,CAAC;uCAKtB,QAAQ,CAAC,sBAAsB,CAAC;qCAOlC,QAAQ,CAAC,oBAAoB,CAAC;6BAO/C,QAAQ,CAAC,cAAc,CAAC;;EAgE5D"}
@@ -9,9 +9,10 @@
9
9
  // }
10
10
  import { dirname, relative } from 'path';
11
11
  import slash from 'slash';
12
- import { isBareImport } from "./isBareImport.js";
13
- import { cliWarn } from "../cliOutput.js";
14
- import { warn } from "../output.js";
12
+ import { isBareImport } from "../isBareImport.js";
13
+ import { cliNews, cliOut, cliWarn } from "../../cliOutput.js";
14
+ import { warn } from "../../output.js";
15
+ import { TungstenError } from 'tungsten/TungstenError.js';
15
16
  export function MakeBabelTransformDependencyImportsCjs(opts, funcs) {
16
17
  return function BabelTransformDependencyImportsCjs(babel) {
17
18
  const t = babel.types;
@@ -22,6 +23,8 @@ export function MakeBabelTransformDependencyImportsCjs(opts, funcs) {
22
23
  //console.log('MakeBabelTransformDependencyImportsCjs', 'getNewLocation', location)
23
24
  if (isBareImport(location)) {
24
25
  //console.log('***')
26
+ cliNews('BabelTransformDependencyImportsCjs');
27
+ cliOut(filename);
25
28
  const final = funcs.getExternalImportFinalImportLocation(location, filename, packageDir, 'cjs');
26
29
  if (final === location) {
27
30
  // perhaps a node module
@@ -82,6 +85,9 @@ export function MakeBabelTransformDependencyImportsCjs(opts, funcs) {
82
85
  //console.log('import call ex', path.node)
83
86
  const arg0 = path.node.arguments[0];
84
87
  //console.log('first arg', arg0)
88
+ if (arg0 === undefined) {
89
+ throw new TungstenError(`BabelTransformDependencyImportsCjs Error: no arg0 of CallExpression`);
90
+ }
85
91
  if (arg0.type === 'StringLiteral') {
86
92
  const location = arg0.value;
87
93
  const [transform, newLocation] = getNewLocation(location);
@@ -96,6 +102,9 @@ export function MakeBabelTransformDependencyImportsCjs(opts, funcs) {
96
102
  //console.log('require call ex', path.node)
97
103
  const arg0 = path.node.arguments[0];
98
104
  //console.log('first arg', arg0)
105
+ if (arg0 === undefined) {
106
+ throw new TungstenError(`BabelTransformDependencyImportsCjs Error: no arg0 of CallExpression`);
107
+ }
99
108
  if (arg0.type === 'StringLiteral') {
100
109
  const location = arg0.value;
101
110
  //console.log(chalk.red`found a require`, location)
@@ -2,7 +2,7 @@ import type * as BabelCore from '@babel/core';
2
2
  import { NodePath } from '@babel/core';
3
3
  type Babel = typeof BabelCore;
4
4
  import { CallExpression, ExportAllDeclaration, ExportNamedDeclaration, ImportDeclaration } from '@babel/types';
5
- import type { GetPackageDirForFile, GetPackageInfoForFile, GetExternalImportFinalImportLocation, GetFileFinalLocation, MakeCjsEntryFile } from './BabelTransformPackageImports.js';
5
+ import type { GetPackageDirForFile, GetPackageInfoForFile, GetExternalImportFinalImportLocation, GetFileFinalLocation, MakeCjsEntryFile } from '../BabelTransformPackageImports.js';
6
6
  type Opts = {
7
7
  nonEsmDeps: string[];
8
8
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BabelTransformDependencyImportsEsm.d.ts","sourceRoot":"","sources":["../../../src/babelPlugins/transformPackageImports/BabelTransformDependencyImportsEsm.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,SAAS,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAc,MAAM,aAAa,CAAA;AAClD,KAAK,KAAK,GAAG,OAAO,SAAS,CAAC;AAO9B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAI9G,OAAO,KAAK,EACR,oBAAoB,EAAE,qBAAqB,EAAE,oCAAoC,EACjF,oBAAoB,EAAE,gBAAgB,EACzC,MAAM,oCAAoC,CAAA;AAM3C,KAAK,IAAI,GAAG;IACR,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB,CAAA;AAED,KAAK,KAAK,GAAG;IACT,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oCAAoC,EAAE,oCAAoC,CAAA;IAC1E,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,gBAAgB,EAAE,gBAAgB,CAAA;CACrC,CAAA;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,WACjB,KAAK;eA0B5C,GAAG;;gCAOc,QAAQ,CAAC,iBAAiB,CAAC;uCAYX,QAAQ,CAAC,sBAAsB,CAAC;qCAalC,QAAQ,CAAC,oBAAoB,CAAC;6BAa/C,QAAQ,CAAC,cAAc,CAAC;;EAiC5D"}
@@ -0,0 +1,112 @@
1
+ // BabelTransformDependencyImportsEsm
2
+ // exports MakeBabelTransformDependencyImportsEsm (function)/
3
+ // Arg 1: opts {
4
+ // nonEsmDeps: string[] (should it be an obj?) -- a list of CJS/presumed CJS direct dependencies to let us switch between ESM (defualt) and CJS handling
5
+ // }
6
+ // Arg 2: funcs {
7
+ // funcs from the parent to do various things.
8
+ // passed in from the parent because this allows them to use a central cache
9
+ // }
10
+ import { dirname, relative } from 'path';
11
+ import slash from 'slash';
12
+ import { isBareImport } from "../isBareImport.js";
13
+ import { throwError } from 'tungsten/throwError.js';
14
+ import { cliError, cliOut } from 'tungsten/cliOutput.js';
15
+ export function MakeBabelTransformDependencyImportsEsm(opts, funcs) {
16
+ return function BabelTransformDependencyImportsEsm(babel) {
17
+ const t = babel.types;
18
+ let filename;
19
+ let futureFilename;
20
+ let packageDir;
21
+ function getNewLocation(location) {
22
+ //console.log('BabelTransformDependencyImportsEsm', 'getNewLocation', location, filename)
23
+ if (isBareImport(location)) {
24
+ //cliNews('BabelTransformDependencyImportsEsm')
25
+ //cliOut(filename)
26
+ const final = funcs.getExternalImportFinalImportLocation(location, filename, packageDir, 'esm');
27
+ if (final === location) {
28
+ // do we need this anymore?
29
+ //cliNote('calculated final location is the same as the original', location)
30
+ // perhaps a node module
31
+ return [false];
32
+ }
33
+ let rel = slash(relative(dirname(futureFilename), final));
34
+ if (!rel.startsWith('../')) rel = './' + rel;
35
+ return [true, rel];
36
+ } else {
37
+ return [false];
38
+ }
39
+ }
40
+ return {
41
+ pre(state) {
42
+ filename = state.opts.filename;
43
+ const packageInfo = funcs.getPackageInfoForFile(filename);
44
+ packageDir = packageInfo.packageDir;
45
+ futureFilename = funcs.getFileFinalLocation(filename, packageInfo);
46
+ },
47
+ visitor: {
48
+ ImportDeclaration(path) {
49
+ try {
50
+ const location = path.node.source.value;
51
+ //console.log('BabelTransformDependencyImportsEsm', 'ImportDeclaration', path.node)
52
+ const [transform, newLocation] = getNewLocation(location);
53
+ if (transform) path.node.source.value = newLocation;
54
+ } catch (e) {
55
+ cliError(`Error in BabelTransformDependencyImportsEsm->ImportDeclaration`);
56
+ cliOut(e.stack);
57
+ throw e;
58
+ }
59
+ },
60
+ ExportNamedDeclaration: function (path) {
61
+ try {
62
+ if (path.node.source) {
63
+ const location = path.node.source.value;
64
+ const [transform, newLocation] = getNewLocation(location);
65
+ if (transform) path.node.source.value = newLocation;
66
+ }
67
+ } catch (e) {
68
+ cliError(`Error in BabelTransformDependencyImportsEsm->ExportNamedDeclaration`);
69
+ cliOut(e.stack);
70
+ throw e;
71
+ }
72
+ },
73
+ ExportAllDeclaration: function (path) {
74
+ try {
75
+ if (path.node.source) {
76
+ const location = path.node.source.value;
77
+ const [transform, newLocation] = getNewLocation(location);
78
+ if (transform) path.node.source.value = newLocation;
79
+ }
80
+ } catch (e) {
81
+ cliError(`Error in BabelTransformDependencyImportsEsm->ExportAllDeclaration`);
82
+ cliOut(e.stack);
83
+ throw e;
84
+ }
85
+ },
86
+ CallExpression(path) {
87
+ try {
88
+ if (path.node.callee.type === 'Import') {
89
+ const firstArg = path.node.arguments[0];
90
+ if (firstArg) {
91
+ if (firstArg.type === 'StringLiteral') {
92
+ const location = firstArg.value;
93
+ //console.log('BabelTransformDependencyImportsEsm', 'CallExpression', path.node)
94
+ const [transform, newLocation] = getNewLocation(location);
95
+ if (transform) path.node.arguments[0] = t.stringLiteral(newLocation);
96
+ } else {
97
+ throwError(`BabelTransformDependencyImportsEsm`, `The first argument passed to an import call in file ${filename}` + ` was a ${firstArg.type}, we we were expecting a StringLiteral.` + ` Only static imports can be processed. This file was found in the` + ` dependency chain of your Tungsten app, was this a mistake?`);
98
+ }
99
+ } else {
100
+ throwError(`BabelTransformDependencyImportsEsm`, `No args were passed to an import call being processed in file ${filename}`);
101
+ }
102
+ }
103
+ } catch (e) {
104
+ cliError(`Error in BabelTransformDependencyImportsEsm->CallExpression`);
105
+ cliOut(e.stack);
106
+ throw e;
107
+ }
108
+ }
109
+ }
110
+ };
111
+ };
112
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compileSimplePackage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compileSimplePackage.d.ts","sourceRoot":"","sources":["../../../src/bin/commands/compileSimplePackage.ts"],"names":[],"mappings":""}