lukasoppermann / html5sortable

VanillaJS sortable lists and grids using native HTML5 drag and drop API.
http://lukasoppermann.github.io/html5sortable/index.html
MIT License
1.63k stars 462 forks source link

The dependecy 'rollup-plugin-typescript' is deprecated #560

Open kaffarell opened 4 years ago

kaffarell commented 4 years ago

we should change it to this '@rollup/plugin-typescript'. Don't know if this would brake anything.

kaffarell commented 4 years ago

I am going to try later today

kaffarell commented 4 years ago

Getting this error:

src/html5sortable.ts → dist/html5sortable.min.js...
[!] (plugin typescript) Error: @rollup/plugin-typescript TS2339: Property 'items' does not exist on type 'string | void | HTMLElement | configuration'.
  Property 'items' does not exist on type 'string'.
__tests__/api.test.ts (38:19)

38       expect(opts.items).toEqual('li')
                     ~~~~~

Error: @rollup/plugin-typescript TS2339: Property 'items' does not exist on type 'string | void | HTMLElement | configuration'.
  Property 'items' does not exist on type 'string'.
    at error (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup/dist/shared/rollup.js:5171:30)
    at throwPluginError (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup/dist/shared/rollup.js:17396:12)
    at Object.error (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup/dist/shared/rollup.js:18017:24)
    at emitDiagnostic (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/@rollup/plugin-typescript/dist/index.js:415:17)
    at reportDiagnostics (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/@rollup/plugin-typescript/dist/index.js:423:9)
    at Array.forEach (<anonymous>)
    at emitFilesAndReportErrors (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/typescript/lib/typescript.js:105331:21)
    at Object.result.afterProgramCreate (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/typescript/lib/typescript.js:105501:13)
    at Object.afterProgramCreate (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/@rollup/plugin-typescript/dist/index.js:515:29)
    at synchronizeProgram (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/typescript/lib/typescript.js:105765:22)

Don't know what is causing this... the tests shouldn't be affected...

lukasoppermann commented 4 years ago

Hey, this is just a typescript error. Try replacing:

const opts = sortable.__testing.data(ul, 'opts')

with

const opts = <configuration>sortable.__testing.data(ul, 'opts')

On line 37.

kaffarell commented 4 years ago

This did not fix the issue, but I run into a lot of issues with using @rollup/plugin-typescript in personal projects. Although it is the official plugin it still has a lot of issues and is not really popular. I think we should go with the updated version of the previously used plugin rollup-plugin-typescript3. What do you think @lukasoppermann ?

lukasoppermann commented 4 years ago

Sounds good. Let's go ahead with the updated version than. 👍

I updated to the new one for my website, but that was a bit easier I think. Had only 5 things to update. 😁

kaffarell commented 4 years ago

https://github.com/lukasoppermann/html5sortable/blob/cc69e7f4485c51dbfd7d6625491b7d65c06b9274/src/html5sortable.ts#L180-L182

I am getting an error here... the dragDrop property is not defined, also couldn't find it in the type declarations. Above this piece of code there is this comment:

  // @todo: remove this fix
  // IE FIX for ghost
  // can be disabled as it has the side effect that other events
  // (e.g. click) will be ignored
lukasoppermann commented 4 years ago

Hey @kaffarell what are the exact errors you get?

Do remove this fix we would first need to figure out what IE version needs it. If IE11 does need it, it would maybe be better to stick with it as optional but we could definitely move it into its own file.

kaffarell commented 4 years ago

Sorry for the long delay, had a lot to do lately.. This is the exact error I get:

[!] (plugin rpt2) Error: /home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/src/html5sortable.ts(181,23): semantic error TS2339: Property 'dragDrop' does not exist on type 'HTMLSpanElement'.
src/html5sortable.ts
Error: /home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/src/html5sortable.ts(181,23): semantic error TS2339: Property 'dragDrop' does not exist on type 'HTMLSpanElement'.
    at error (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup/dist/shared/rollup.js:5215:30)
    at throwPluginError (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup/dist/shared/rollup.js:17838:12)
    at Object.error (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup/dist/shared/rollup.js:18443:24)
    at Object.error (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup/dist/shared/rollup.js:18007:38)
    at RollupContext.error (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup-plugin-typescript2/src/rollupcontext.ts:37:18)
    at /home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup-plugin-typescript2/src/print-diagnostics.ts:41:11
    at arrayEach (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup-plugin-typescript2/node_modules/lodash/lodash.js:516:11)
    at Function._.each [as forEach] (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup-plugin-typescript2/node_modules/lodash/lodash.js:9368:14)
    at printDiagnostics (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup-plugin-typescript2/src/print-diagnostics.ts:9:2)
    at Object.transform (/home/gabriel/Desktop/Open-Source/html5sortable/html5sortable/node_modules/rollup-plugin-typescript2/src/index.ts:242:5)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! html5sortable@0.9.18 build: `rollup -c && cp $npm_package_main docs/html5sortable.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the html5sortable@0.9.18 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/gabriel/.npm/_logs/2020-10-14T11_44_46_561Z-debug.log
kaffarell commented 4 years ago

I am gonna test this later today on IE...