fullstack-lang / gongfly

a fullstack plane simulation
MIT License
0 stars 0 forks source link

Compilation Issue #16

Open thomaspeugeot opened 11 months ago

thomaspeugeot commented 11 months ago

Following upgrade to ng v16 and ts v5. gongflydoes not compile anymore.

error

In detail, vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/lib/gongleafletspecific.module.ts, all import of leaflet stuff cannot be found

.... gongleafletspecific.module.ts:15:0-56 - Error: Module not found: Error: Can't resolve '@asymmetrik/ngx-leaflet'
.... Can't resolve 'leaflet'
...

analysis

gongleat compiles ok

tsconfig & package.json are the same but the gongfly does not compile

what are the paths understood by the ts compiler ?

chat gpt

In the Angular compiler, to display the paths used to import modules, you can use the traceResolution option. This option is actually a TypeScript compiler option and not specific to Angular, but Angular applications typically use TypeScript.
{
  "compilerOptions": {
    ...
    "traceResolution": true
  },
  ...
}
thomaspeugeot commented 11 months ago
======== Resolving module 'leaflet' from '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/lib/mapoptions/mapoptions.component.ts'. ========
Explicitly specified module resolution kind: 'Node10'.
'baseUrl' option is set to '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng', using this value to resolve non-relative module name 'leaflet'.
'paths' option is specified, looking for a pattern to match module name 'leaflet'.
'baseUrl' option is set to '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng', using this value to resolve non-relative module name 'leaflet'.
Resolving module name 'leaflet' relative to base url '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng' - '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet'.
Loading module as file / folder, candidate module location '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet', target file types: TypeScript, Declaration.
File '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet.ts' does not exist.
File '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet.tsx' does not exist.
File '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet.d.ts' does not exist.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet' does not exist, skipping all lookups in it.
Loading module 'leaflet' from 'node_modules' folder, target file types: TypeScript, Declaration.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/lib/mapoptions/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/lib/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/node_modules' does not exist, skipping all lookups in it.
Directory '/node_modules' does not exist, skipping all lookups in it.
'baseUrl' option is set to '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng', using this value to resolve non-relative module name 'leaflet'.
'paths' option is specified, looking for a pattern to match module name 'leaflet'.
'baseUrl' option is set to '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng', using this value to resolve non-relative module name 'leaflet'.
Resolving module name 'leaflet' relative to base url '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng' - '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet'.
Loading module as file / folder, candidate module location '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet', target file types: JavaScript.
File '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet.js' does not exist.
File '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet.jsx' does not exist.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/leaflet' does not exist, skipping all lookups in it.
Loading module 'leaflet' from 'node_modules' folder, target file types: JavaScript.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/lib/mapoptions/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/lib/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/projects/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/ng/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/gongleaflet/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/fullstack-lang/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/github.com/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/vendor/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/github.com/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/src/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/go/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/thomaspeugeot/node_modules' does not exist, skipping all lookups in it.
Directory '/Users/node_modules' does not exist, skipping all lookups in it.
Directory '/node_modules' does not exist, skipping all lookups in it.
thomaspeugeot commented 11 months ago

OK, adding

" "": [ "./node_modules/" ], "

helps the resolution when it goes into the vendor directory

thomaspeugeot commented 11 months ago

Now, there is another problem.

import { Type } from '@angular/core';
import * as gongleaflet from 'gongleaflet';

import * as L from 'leaflet';

compiles in gongleaflet but not in gongfly

Error: ../vendor/github.com/fullstack-lang/gongleaflet/ng/projects/gongleafletspecific/src/lib/mapoptions/manage-leaflet-items.ts:4:20 - error TS7016: Could not find a declaration file for module 'leaflet'. '/Users/thomaspeugeot/go/src/github.com/fullstack-lang/gongfly/ng/node_modules/leaflet/dist/leaflet-src.js' implicitly has an 'any' type.
  If the 'leaflet' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/leaflet'

4 import * as L from 'leaflet';
                     ~~~~~~~~~

Again, this error does not occur in gongleaflet. Why ?