NPM Resource Changed ? ? Pending

User tests: Successful: Unsuccessful:

avatar wilsonge
wilsonge
28 May 2020

Large npm dependency update

Summary of Changes

Updates all our dependencies to latest and greatest versions

Testing Instructions

Generally navigate around and check for new javascript/css errors as all the minifers/compilers have recieved updates.

Check TinyMCE
Check Codemirror
Check Backend Menu
Check Media Manager

@dgrammatiko I'd appreciate if you could check the change I had to make to the build tools. It came off the back of the issue mentioned here babel/minify#904 but I have to admit I'm not clear what the implications exactly are

Documentation Changes Required

None

avatar wilsonge wilsonge - open - 28 May 2020
avatar wilsonge wilsonge - change - 28 May 2020
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 28 May 2020
Category JavaScript Repository NPM Change Front End Plugins
avatar wilsonge wilsonge - change - 28 May 2020
Title
Update node dependencies
[4.0] Update node dependencies
avatar wilsonge wilsonge - edited - 28 May 2020
avatar dgrammatiko
dgrammatiko - comment - 28 May 2020

@wilsonge builtIns all over babel ecosystem are referring to core browser shipped code. Telling the minified to skip those should be harmless and also the default. In short this should be fine

avatar wilsonge
wilsonge - comment - 28 May 2020

@HLeithner @Hackwar I need the drone image to be running node 10 or 12. The new ESLint major version 7 has removed support for node 8. Given our package.json already says >=10.19 seems logical anyhow :D

avatar C-Lodder
C-Lodder - comment - 29 May 2020

@wilsonge Tests should be done in NodeJS 10.19 and latest (currenctly 14.3.0)

avatar wilsonge
wilsonge - comment - 29 May 2020

Nope. They only need to be done in a single node version because we're testing in browsers. All your doing there is testing our build tools compatibility. Which honestly isn't the end of the world.

Also I don't have any real interest in supporting node 14 until it moves to LTS in october again given it's just a build toolset - it's not our main project focus (of course if it works or someone submits the work all the better).

avatar dgrammatiko
dgrammatiko - comment - 29 May 2020

I don't have any real interest in supporting node 14 until it moves to LTS

You really should be. 14 introduces ESM which is the de facto way of doing modern javascript. Right now all the scripts here are based on CJS (eg const x = require(y) instead of the Js's own way for modules, import x from 'y'). Probably even if the used scripts for the build tools are moved to ESM the old way will work fine for the coming years but it is a reasonable advice to use the ESM over CJS even just for future proofing the tools. In short the tools need to be rewritten with full await support (easier for PHP devs to follow) and eventually with all the modules using their ESM versions.

My 2p

avatar jwaisner
jwaisner - comment - 29 May 2020

After testing, TinyMCE is having issues with displaying after applying the PR:

image

avatar dgrammatiko
dgrammatiko - comment - 29 May 2020

@jwaisner did you download and install this instance eg
Screenshot 2020-05-29 at 17 28 44

If not you're not testing it right

avatar jwaisner
jwaisner - comment - 29 May 2020

I applied the patch via Patchtester and then tested with adding the patch via PHPStorm.

I also ran npm ci as well.

avatar jwaisner
jwaisner - comment - 29 May 2020

@dgrammatiko I have just now tested with the prebuilt package and same issue. The testing methods I am using are not "wrong".

avatar brianteeman
brianteeman - comment - 29 May 2020

@jwaisner is correct. After applying this PR the icons are not found

Failed to load resource: the server responded with a status of 404 (Not Found)
VM15:37 Failed to load icons: default from url http://localhost/joomla-cms/media/vendor/tinymce/icons/default/icons.min.js

avatar brianteeman
brianteeman - comment - 29 May 2020

The problem is in the build scripts. fixing it now

avatar brianteeman
brianteeman - comment - 29 May 2020

Fixed it for you @wilsonge
wilsonge#50

avatar wilsonge wilsonge - change - 29 May 2020
Labels Added: NPM Resource Changed ?
avatar wilsonge
wilsonge - comment - 29 May 2020

Sorry I fixed it before looking at the PR here :( I made the same fix tho. Thankyou for looking into it <3

avatar wilsonge
wilsonge - comment - 29 May 2020

@brianteeman would you be able to test npm ci on your windows machine here. This update might fix #28136 based on the comments in the fsevents issue

avatar brianteeman
brianteeman - comment - 29 May 2020

Which part in particular?
looks like several issues there

avatar wilsonge
wilsonge - comment - 29 May 2020

Does npm ci complete on windows now or does it still blow up over python requirements

avatar brianteeman
brianteeman - comment - 29 May 2020

So the only thing in the logs after completion with npm i


npm WARN eslint-config-airbnb-base@14.1.0 requires a peer of eslint@^5.16.0 || ^6.8.0 but none is installed. You must install peer dependencies yourself.
npm WARN eslint-plugin-import@2.20.2 requires a peer of eslint@2.x - 6.x but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules\watchpack-chokidar2\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

and after completion with npm ci is

Skipping 'fsevents' build as platform win32 is not supported

so all seems good to me but I do have python 3.8.1 installed on this machine

avatar wilsonge
wilsonge - comment - 29 May 2020

If it's skipping I think we are good :)

avatar jwaisner jwaisner - test_item - 29 May 2020 - Not tested
avatar jwaisner
jwaisner - comment - 29 May 2020

I have not tested this item.

Tested TinyMCE and Codemirror editors and no issues found
Tested Backend menus with no issues found
Tested the media manager and functions as expected
npm ci results with no errors and skips fsevents on windows machine


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/29253.

avatar jwaisner jwaisner - test_item - 29 May 2020 - Tested successfully
avatar jwaisner
jwaisner - comment - 29 May 2020

I have tested this item successfully on d04372d


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/29253.

avatar alikon alikon - test_item - 30 May 2020 - Tested successfully
avatar alikon
alikon - comment - 30 May 2020

I have tested this item successfully on d04372d


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/29253.

avatar alikon alikon - change - 30 May 2020
Status Pending Ready to Commit
avatar alikon
alikon - comment - 30 May 2020

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/29253.

avatar wilsonge wilsonge - close - 30 May 2020
avatar wilsonge wilsonge - merge - 30 May 2020
avatar wilsonge wilsonge - change - 30 May 2020
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2020-05-30 10:01:50
Closed_By wilsonge
Labels Added: ?
avatar wilsonge
wilsonge - comment - 30 May 2020

Thanks guys!

avatar richard67
richard67 - comment - 30 May 2020

This PR here could be the new record holder for the number of issues closed with 1 PR.

Add a Comment

Login with GitHub to post a comment