[devdocsgjs/main: 1371/1867] Update Npm to 7.1.2




commit 80bd43af6f0ce381bdd9ecb3155a9194532a269b
Author: MasterEnoc <brianhernandez222 hotmail com>
Date:   Sat Dec 12 16:01:01 2020 -0600

    Update Npm to 7.1.2

 lib/docs/filters/npm/clean_html.rb | 29 ++++----------------
 lib/docs/filters/npm/entries.rb    | 38 ++++++++------------------
 lib/docs/scrapers/npm.rb           | 55 +++++++++++++++++++++++++++++++++-----
 3 files changed, 65 insertions(+), 57 deletions(-)
---
diff --git a/lib/docs/filters/npm/clean_html.rb b/lib/docs/filters/npm/clean_html.rb
index 86264799..3f85bf6c 100644
--- a/lib/docs/filters/npm/clean_html.rb
+++ b/lib/docs/filters/npm/clean_html.rb
@@ -2,36 +2,17 @@ module Docs
   class Npm
     class CleanHtmlFilter < Filter
       def call
-        if root_page?
-          css('#enterprise', '#policies', '#viewAll').remove
-        else
-          @doc = doc.at_css('#page')
-          css('meta', '.colophon').remove
-        end
 
-        css('a.deep-link[id]', 'a.anchor[id]').each do |node|
-          node.parent['id'] = node['id']
-          node.remove
-        end
+        css('.dZYhXG', '.fONtKn').remove
 
-        css('> section').each do |node|
-          node.before(node.children).remove
-        end
+        css('.kSYjyK').remove
 
-        css('pre.editor').each do |node|
-          node.inner_html = node.inner_html.gsub(/<\/div>(?!\n|\z)/, "</div>\n")
-        end
+        css('.cDvIaH').remove
 
-        css('h1 + h1.subtitle').each do |node|
-          node.name = 'p'
-          node.inner_html += '.'
-        end
-
-        css('pre').each do |node|
-          node.content = node.content
-        end
+        css('.jRndWL').remove_attribute('style')
 
         doc
+
       end
     end
   end
diff --git a/lib/docs/filters/npm/entries.rb b/lib/docs/filters/npm/entries.rb
index 6bf1374e..7e31adde 100644
--- a/lib/docs/filters/npm/entries.rb
+++ b/lib/docs/filters/npm/entries.rb
@@ -1,43 +1,27 @@
 module Docs
   class Npm
     class EntriesFilter < Docs::EntriesFilter
-      def get_name
-        if slug.start_with?('api') && at_css('pre').content =~ /\A\s*npm\.([\w\-]+\.)*[\w\-]+/
-          name = $&.strip
-        else
-          name = at_css('nav > section.active a.active').content
-        end
 
-        name << ' (CLI)' if slug.start_with?('cli')
-        name
+      def get_name
+        at_css('h1').content
       end
 
       def get_type
-        case slug
-        when 'files/package.json'
-          'package.json'
-        when 'misc/config'
-          'Config'
-        else
-          at_css('nav > section.active > h2').content
-        end
+        at_css('.active').content
       end
 
       def additional_entries
-        case slug
-        when 'files/package.json'
-          css('#page > h2').each_with_object [] do |node, entries|
-            next if node.content =~ /\A[A-Z]/
-            entries << ["package.json: #{node.content}", node.at_css('.anchor')['id']]
-          end
-        when 'misc/config'
-          css('h2:contains("Config Settings") ~ h3').map do |node|
-            ["config: #{node.content}", node.at_css('.anchor')['id']]
+        entries = []
+
+        if name == 'config'
+          css('h4').each do |node|
+            entries << [node['id'],  slug + '#' + node['id'], 'Config Settings']
           end
-        else
-          []
         end
+
+        entries
       end
+
     end
   end
 end
diff --git a/lib/docs/scrapers/npm.rb b/lib/docs/scrapers/npm.rb
index 3f868a3c..5fa3764b 100644
--- a/lib/docs/scrapers/npm.rb
+++ b/lib/docs/scrapers/npm.rb
@@ -2,7 +2,7 @@ module Docs
   class Npm < UrlScraper
     self.name = 'npm'
     self.type = 'npm'
-    self.release = '6.4.0'
+    self.release = '7.1.2'
     self.base_url = 'https://docs.npmjs.com/'
     self.force_gzip = true
     self.links = {
@@ -10,14 +10,20 @@ module Docs
       code: 'https://github.com/npm/npm'
     }
 
-    html_filters.push 'npm/entries', 'npm/clean_html', 'title'
+    html_filters.push 'npm/entries', 'npm/clean_html'
 
     options[:max_image_size] = 130_000
-    options[:container] = ->(filter) { filter.root_page? ? '.toc' : nil }
-    options[:title] = false
-    options[:root_title] = 'npm'
 
-    options[:skip] = %w(all misc/index)
+    options[:skip] = [
+      'all',
+      'misc/index',
+      'cli',
+      'orgs/',
+      'removing-members-from-your-org',
+      'adding-members-to-your-org',
+      'downloading-and-installing-packages'
+    ]
+
     options[:skip_patterns] = [
       /\Aenterprise/,
       /\Acompany/,
@@ -30,8 +36,45 @@ module Docs
       npm is a trademark of npm, Inc.
     HTML
 
+    #  fix duplicates
+    options[:fix_urls] = -> (url) do
+      url.sub!('private-modules/intro', 'creating-and-publishing-private-packages')
+      url.sub!('cli/audit', 'cli/v6/commands/npm-audit')
+      url.sub!('cli/uninstall', 'cli/v6/commands/npm-uninstall')
+      url.sub!('cli/npm', 'cli/v6/commands/npm')
+      url.sub!('cli-documentation', 'cli/v6')
+      url.sub!('misc/registry', 'cli/v6/using-npm/registry')
+      url.sub!('cli/adduser', 'cli/v6/commands/npm-adduser')
+      url.sub!('cli/profile', 'cli/v6/commands/npm-profile')
+      url.sub!('cli/token', 'cli/v6/commands/npm-token')
+      url.sub!('cli/publish', 'cli/v6/commands/npm-publish')
+      url.sub!('cli/unpublish', 'cli/v6/commands/npm-unpublish')
+      url.sub!('cli/deprecate', 'cli/v6/commands/npm-deprecate')
+      url.sub!('cli/access', 'cli/v6/commands/npm-access')
+      url.sub!('misc/config', 'cli/v6/using-npm/config')
+      url.sub!('misc/developers', 'cli/v6/using-npm/developers')
+      url.sub!('managing-team-access-to-packages', 'managing-team-access-to-organization-packages')
+      url.sub!('accepting-or-rejecting-an-org-invitation', 
'accepting-or-rejecting-an-organization-invitation')
+      url.sub!('org-roles-and-permissions', 'organization-roles-and-permissions')
+      url.sub!('upgrading-to-a-paid-org-plan', 'upgrading-to-a-paid-organization-plan')
+      url.sub!('files/package.json', 'cli/v6/configuring-npm/package-json')
+      url.sub!('managing-team-access-to-org-packages', 'managing-team-access-to-organization-packages')
+      url.sub!('about-package-json-and-package-lock-json-files', 'creating-a-package-json-file')
+      url.sub!('cli/team', 'cli/v6/commands/npm-team')
+      url.sub!('cli/version', 'cli/v6/commands/npm-version')
+      url.sub!('creating-a-packge-json-file', 'cli/v6/configuring-npm/package-json')
+      url.sub!('cli/outdated', 'cli/v6/commands/npm-outdated')
+      url.sub!('cli/owner', 'cli/v6/commands/npm-owner')
+      url.sub!('cli/install', 'cli/v6/commands/npm-install')
+      url.sub!('cli/update', 'cli/v6/commands/npm-update')
+      url.sub!('cli/config', 'cli/v6/commands/npm-config')
+      url.sub!('cli/dist-tag', 'cli/v6/commands/npm-dist-tag')
+      url
+    end
+
     def get_latest_version(opts)
       get_latest_github_release('npm', 'cli', opts)
     end
+
   end
 end


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]