diff --git a/core/modules/book/config/install/core.base_field_override.node.book.promote.yml b/core/modules/book/config/install/core.base_field_override.node.book.promote.yml
deleted file mode 100644
index 79e2ed6..0000000
--- a/core/modules/book/config/install/core.base_field_override.node.book.promote.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-langcode: en
-status: true
-dependencies:
- config:
- - node.type.book
-id: node.book.promote
-field_name: promote
-entity_type: node
-bundle: book
-label: 'Promoted to front page'
-description: ''
-required: false
-translatable: true
-default_value:
- -
- value: 0
-default_value_callback: ''
-settings:
- on_label: 'On'
- off_label: 'Off'
-field_type: boolean
diff --git a/core/modules/book/config/install/core.entity_form_display.node.book.default.yml b/core/modules/book/config/install/core.entity_form_display.node.book.default.yml
deleted file mode 100644
index 1ec4eb1..0000000
--- a/core/modules/book/config/install/core.entity_form_display.node.book.default.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-langcode: en
-status: true
-dependencies:
- config:
- - field.field.node.book.body
- - node.type.book
- module:
- - text
-id: node.book.default
-targetEntityType: node
-bundle: book
-mode: default
-content:
- body:
- type: text_textarea_with_summary
- weight: 26
- settings:
- rows: 9
- summary_rows: 3
- placeholder: ''
- third_party_settings: { }
- created:
- type: datetime_timestamp
- weight: 10
- settings: { }
- third_party_settings: { }
- promote:
- type: boolean_checkbox
- settings:
- display_label: true
- weight: 15
- third_party_settings: { }
- sticky:
- type: boolean_checkbox
- settings:
- display_label: true
- weight: 16
- third_party_settings: { }
- title:
- type: string_textfield
- weight: -5
- settings:
- size: 60
- placeholder: ''
- third_party_settings: { }
- uid:
- type: entity_reference_autocomplete
- weight: 5
- settings:
- match_operator: CONTAINS
- size: 60
- placeholder: ''
- third_party_settings: { }
-hidden: { }
diff --git a/core/modules/book/config/install/core.entity_view_display.node.book.default.yml b/core/modules/book/config/install/core.entity_view_display.node.book.default.yml
deleted file mode 100644
index 729516e..0000000
--- a/core/modules/book/config/install/core.entity_view_display.node.book.default.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-langcode: en
-status: true
-dependencies:
- config:
- - field.field.node.book.body
- - node.type.book
- module:
- - text
- - user
-id: node.book.default
-targetEntityType: node
-bundle: book
-mode: default
-content:
- body:
- label: hidden
- type: text_default
- weight: 100
- settings: { }
- third_party_settings: { }
- links:
- weight: 101
-hidden: { }
diff --git a/core/modules/book/config/install/core.entity_view_display.node.book.teaser.yml b/core/modules/book/config/install/core.entity_view_display.node.book.teaser.yml
deleted file mode 100644
index fb22db6..0000000
--- a/core/modules/book/config/install/core.entity_view_display.node.book.teaser.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-langcode: en
-status: true
-dependencies:
- config:
- - core.entity_view_mode.node.teaser
- - field.field.node.book.body
- - node.type.book
- module:
- - text
- - user
-id: node.book.teaser
-targetEntityType: node
-bundle: book
-mode: teaser
-content:
- body:
- label: hidden
- type: text_summary_or_trimmed
- weight: 100
- settings:
- trim_length: 600
- third_party_settings: { }
- links:
- weight: 101
-hidden: { }
diff --git a/core/modules/book/config/install/core.entity_view_mode.node.print.yml b/core/modules/book/config/install/core.entity_view_mode.node.print.yml
deleted file mode 100644
index d615b03..0000000
--- a/core/modules/book/config/install/core.entity_view_mode.node.print.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-langcode: en
-status: false
-dependencies:
- enforced:
- module:
- - book
- module:
- - node
-id: node.print
-label: Print
-targetEntityType: node
-cache: true
diff --git a/core/modules/book/config/install/field.field.node.book.body.yml b/core/modules/book/config/install/field.field.node.book.body.yml
deleted file mode 100644
index b97b9fa..0000000
--- a/core/modules/book/config/install/field.field.node.book.body.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-langcode: en
-status: true
-dependencies:
- config:
- - field.storage.node.body
- - node.type.book
- module:
- - text
-id: node.book.body
-field_name: body
-entity_type: node
-bundle: book
-label: Body
-description: ''
-required: false
-translatable: true
-default_value: { }
-default_value_callback: ''
-settings:
- display_summary: true
-field_type: text_with_summary
diff --git a/core/modules/book/config/install/node.type.book.yml b/core/modules/book/config/install/node.type.book.yml
deleted file mode 100644
index 0c07a79..0000000
--- a/core/modules/book/config/install/node.type.book.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-langcode: en
-status: true
-dependencies:
- enforced:
- module:
- - book
-name: 'Book page'
-type: book
-description: 'Books have a built-in hierarchical navigation. Use for handbooks or tutorials.'
-help: ''
-new_revision: true
-preview_mode: 1
-display_submitted: true
diff --git a/core/modules/book/config/optional/core.base_field_override.node.book.promote.yml b/core/modules/book/config/optional/core.base_field_override.node.book.promote.yml
new file mode 100644
index 0000000..79e2ed6
--- /dev/null
+++ b/core/modules/book/config/optional/core.base_field_override.node.book.promote.yml
@@ -0,0 +1,21 @@
+langcode: en
+status: true
+dependencies:
+ config:
+ - node.type.book
+id: node.book.promote
+field_name: promote
+entity_type: node
+bundle: book
+label: 'Promoted to front page'
+description: ''
+required: false
+translatable: true
+default_value:
+ -
+ value: 0
+default_value_callback: ''
+settings:
+ on_label: 'On'
+ off_label: 'Off'
+field_type: boolean
diff --git a/core/modules/book/config/optional/core.entity_form_display.node.book.default.yml b/core/modules/book/config/optional/core.entity_form_display.node.book.default.yml
new file mode 100644
index 0000000..1ec4eb1
--- /dev/null
+++ b/core/modules/book/config/optional/core.entity_form_display.node.book.default.yml
@@ -0,0 +1,54 @@
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.node.book.body
+ - node.type.book
+ module:
+ - text
+id: node.book.default
+targetEntityType: node
+bundle: book
+mode: default
+content:
+ body:
+ type: text_textarea_with_summary
+ weight: 26
+ settings:
+ rows: 9
+ summary_rows: 3
+ placeholder: ''
+ third_party_settings: { }
+ created:
+ type: datetime_timestamp
+ weight: 10
+ settings: { }
+ third_party_settings: { }
+ promote:
+ type: boolean_checkbox
+ settings:
+ display_label: true
+ weight: 15
+ third_party_settings: { }
+ sticky:
+ type: boolean_checkbox
+ settings:
+ display_label: true
+ weight: 16
+ third_party_settings: { }
+ title:
+ type: string_textfield
+ weight: -5
+ settings:
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+ uid:
+ type: entity_reference_autocomplete
+ weight: 5
+ settings:
+ match_operator: CONTAINS
+ size: 60
+ placeholder: ''
+ third_party_settings: { }
+hidden: { }
diff --git a/core/modules/book/config/optional/core.entity_view_display.node.book.default.yml b/core/modules/book/config/optional/core.entity_view_display.node.book.default.yml
new file mode 100644
index 0000000..729516e
--- /dev/null
+++ b/core/modules/book/config/optional/core.entity_view_display.node.book.default.yml
@@ -0,0 +1,23 @@
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.field.node.book.body
+ - node.type.book
+ module:
+ - text
+ - user
+id: node.book.default
+targetEntityType: node
+bundle: book
+mode: default
+content:
+ body:
+ label: hidden
+ type: text_default
+ weight: 100
+ settings: { }
+ third_party_settings: { }
+ links:
+ weight: 101
+hidden: { }
diff --git a/core/modules/book/config/optional/core.entity_view_display.node.book.teaser.yml b/core/modules/book/config/optional/core.entity_view_display.node.book.teaser.yml
new file mode 100644
index 0000000..fb22db6
--- /dev/null
+++ b/core/modules/book/config/optional/core.entity_view_display.node.book.teaser.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+ config:
+ - core.entity_view_mode.node.teaser
+ - field.field.node.book.body
+ - node.type.book
+ module:
+ - text
+ - user
+id: node.book.teaser
+targetEntityType: node
+bundle: book
+mode: teaser
+content:
+ body:
+ label: hidden
+ type: text_summary_or_trimmed
+ weight: 100
+ settings:
+ trim_length: 600
+ third_party_settings: { }
+ links:
+ weight: 101
+hidden: { }
diff --git a/core/modules/book/config/optional/core.entity_view_mode.node.print.yml b/core/modules/book/config/optional/core.entity_view_mode.node.print.yml
new file mode 100644
index 0000000..d615b03
--- /dev/null
+++ b/core/modules/book/config/optional/core.entity_view_mode.node.print.yml
@@ -0,0 +1,12 @@
+langcode: en
+status: false
+dependencies:
+ enforced:
+ module:
+ - book
+ module:
+ - node
+id: node.print
+label: Print
+targetEntityType: node
+cache: true
diff --git a/core/modules/book/config/optional/field.field.node.book.body.yml b/core/modules/book/config/optional/field.field.node.book.body.yml
new file mode 100644
index 0000000..b97b9fa
--- /dev/null
+++ b/core/modules/book/config/optional/field.field.node.book.body.yml
@@ -0,0 +1,21 @@
+langcode: en
+status: true
+dependencies:
+ config:
+ - field.storage.node.body
+ - node.type.book
+ module:
+ - text
+id: node.book.body
+field_name: body
+entity_type: node
+bundle: book
+label: Body
+description: ''
+required: false
+translatable: true
+default_value: { }
+default_value_callback: ''
+settings:
+ display_summary: true
+field_type: text_with_summary
diff --git a/core/modules/book/config/optional/node.type.book.yml b/core/modules/book/config/optional/node.type.book.yml
new file mode 100644
index 0000000..0c07a79
--- /dev/null
+++ b/core/modules/book/config/optional/node.type.book.yml
@@ -0,0 +1,13 @@
+langcode: en
+status: true
+dependencies:
+ enforced:
+ module:
+ - book
+name: 'Book page'
+type: book
+description: 'Books have a built-in hierarchical navigation. Use for handbooks or tutorials.'
+help: ''
+new_revision: true
+preview_mode: 1
+display_submitted: true
diff --git a/core/modules/book/src/Tests/BookInstallTest.php b/core/modules/book/src/Tests/BookInstallTest.php
new file mode 100644
index 0000000..44fc8fb
--- /dev/null
+++ b/core/modules/book/src/Tests/BookInstallTest.php
@@ -0,0 +1,40 @@
+drupalCreateContentType(['type' => 'book']);
+
+ // Install the Book module
+ $this->container->get('module_installer')->install(array('book'));
+ }
+
+}
diff --git a/core/modules/migrate_drupal_ui/src/Tests/MigrateUpgradeTestBase.php b/core/modules/migrate_drupal_ui/src/Tests/MigrateUpgradeTestBase.php
index c139291..37605ca 100644
--- a/core/modules/migrate_drupal_ui/src/Tests/MigrateUpgradeTestBase.php
+++ b/core/modules/migrate_drupal_ui/src/Tests/MigrateUpgradeTestBase.php
@@ -175,6 +175,7 @@ protected function testMigrateUpgrade() {
}
}
\Drupal::service('module_installer')->install(['forum']);
+ \Drupal::service('module_installer')->install(['book']);
}
/**