clowne 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +11 -51
  3. data/.travis.yml +11 -23
  4. data/Gemfile +9 -9
  5. data/README.md +8 -7
  6. data/Rakefile +3 -3
  7. data/clowne.gemspec +14 -8
  8. data/docs/.nojekyll +0 -0
  9. data/docs/.rubocop.yml +8 -2
  10. data/docs/CNAME +1 -0
  11. data/docs/README.md +131 -0
  12. data/docs/_sidebar.md +25 -0
  13. data/docs/active_record.md +2 -5
  14. data/docs/after_clone.md +3 -6
  15. data/docs/after_persist.md +7 -10
  16. data/docs/architecture.md +2 -5
  17. data/docs/assets/docsify.min.js +1 -0
  18. data/docs/assets/prism-ruby.min.js +1 -0
  19. data/docs/assets/styles.css +348 -0
  20. data/docs/assets/vue.css +1 -0
  21. data/docs/clone_mapper.md +2 -5
  22. data/docs/customization.md +1 -4
  23. data/docs/exclude_association.md +1 -4
  24. data/docs/finalize.md +4 -8
  25. data/docs/from_v02_to_v1.md +2 -10
  26. data/docs/getting_started.md +171 -0
  27. data/docs/implicit_cloner.md +1 -4
  28. data/docs/include_association.md +3 -6
  29. data/docs/index.html +29 -0
  30. data/docs/init_as.md +4 -8
  31. data/docs/inline_configuration.md +1 -4
  32. data/docs/nullify.md +1 -5
  33. data/docs/operation.md +3 -6
  34. data/docs/parameters.md +5 -8
  35. data/docs/sequel.md +1 -4
  36. data/docs/supported_adapters.md +3 -6
  37. data/docs/testing.md +18 -21
  38. data/docs/traits.md +1 -4
  39. data/gemfiles/activerecord42.gemfile +5 -5
  40. data/gemfiles/jruby.gemfile +6 -6
  41. data/gemfiles/railsmaster.gemfile +6 -6
  42. data/lib/clowne.rb +11 -11
  43. data/lib/clowne/adapters/active_record.rb +3 -3
  44. data/lib/clowne/adapters/active_record/associations.rb +7 -7
  45. data/lib/clowne/adapters/active_record/associations/base.rb +1 -1
  46. data/lib/clowne/adapters/active_record/associations/belongs_to.rb +1 -1
  47. data/lib/clowne/adapters/active_record/associations/has_one.rb +1 -1
  48. data/lib/clowne/adapters/active_record/resolvers/association.rb +1 -1
  49. data/lib/clowne/adapters/base.rb +6 -6
  50. data/lib/clowne/adapters/sequel.rb +7 -7
  51. data/lib/clowne/adapters/sequel/associations.rb +6 -6
  52. data/lib/clowne/adapters/sequel/associations/base.rb +2 -2
  53. data/lib/clowne/adapters/sequel/associations/many_to_many.rb +4 -4
  54. data/lib/clowne/adapters/sequel/associations/one_to_many.rb +1 -1
  55. data/lib/clowne/adapters/sequel/associations/one_to_one.rb +1 -1
  56. data/lib/clowne/adapters/sequel/operation.rb +3 -2
  57. data/lib/clowne/adapters/sequel/resolvers/after_persist.rb +1 -1
  58. data/lib/clowne/adapters/sequel/resolvers/association.rb +1 -1
  59. data/lib/clowne/adapters/sequel/specifications/after_persist_does_not_support.rb +1 -1
  60. data/lib/clowne/cloner.rb +8 -8
  61. data/lib/clowne/declarations.rb +15 -15
  62. data/lib/clowne/declarations/after_clone.rb +1 -1
  63. data/lib/clowne/declarations/after_persist.rb +1 -1
  64. data/lib/clowne/declarations/finalize.rb +1 -1
  65. data/lib/clowne/declarations/include_association.rb +1 -1
  66. data/lib/clowne/declarations/init_as.rb +1 -1
  67. data/lib/clowne/declarations/nullify.rb +1 -1
  68. data/lib/clowne/ext/orm_ext.rb +1 -1
  69. data/lib/clowne/ext/record_key.rb +1 -1
  70. data/lib/clowne/ext/string_constantize.rb +1 -1
  71. data/lib/clowne/ext/yield_self_then.rb +1 -1
  72. data/lib/clowne/planner.rb +1 -1
  73. data/lib/clowne/rspec.rb +3 -3
  74. data/lib/clowne/rspec/clone_association.rb +3 -3
  75. data/lib/clowne/rspec/clone_associations.rb +2 -2
  76. data/lib/clowne/rspec/helpers.rb +1 -1
  77. data/lib/clowne/utils/clone_mapper.rb +1 -1
  78. data/lib/clowne/utils/operation.rb +3 -3
  79. data/lib/clowne/utils/params.rb +1 -1
  80. data/lib/clowne/version.rb +1 -1
  81. metadata +50 -35
  82. data/docs/alternatives.md +0 -26
  83. data/docs/basic_example.md +0 -83
  84. data/docs/installation.md +0 -46
  85. data/docs/overview.md +0 -25
  86. data/docs/web/.gitignore +0 -11
  87. data/docs/web/README.md +0 -6
  88. data/docs/web/core/Footer.js +0 -88
  89. data/docs/web/i18n/en.json +0 -141
  90. data/docs/web/package.json +0 -14
  91. data/docs/web/pages/en/help.js +0 -50
  92. data/docs/web/pages/en/index.js +0 -231
  93. data/docs/web/pages/en/users.js +0 -47
  94. data/docs/web/sidebars.json +0 -38
  95. data/docs/web/siteConfig.js +0 -46
  96. data/docs/web/static/css/custom.css +0 -235
  97. data/docs/web/static/fonts/FiraCode-Medium.woff +0 -0
  98. data/docs/web/static/fonts/FiraCode-Regular.woff +0 -0
  99. data/docs/web/static/img/favicon/favicon.ico +0 -0
  100. data/docs/web/yarn.lock +0 -1741
@@ -1,26 +0,0 @@
1
- ---
2
- id: alternatives
3
- title: Motivation & Alternatives
4
- ---
5
-
6
- ### Why did we decide to build our own cloning gem instead of using the existing solutions?
7
-
8
- First, the existing solutions turned out not to be stable and flexible enough for us.
9
-
10
- Secondly, they are Rails-only (or, more precisely, ActiveRecord-only).
11
-
12
- Nevertheless, thanks to [amoeba](https://github.com/amoeba-rb/amoeba) and [deep_cloneable](https://github.com/moiristo/deep_cloneable) for inspiration.
13
-
14
- For ActiveRecord we support amoeba-like [in-model configuration](active_record.md) and you can add missing DSL declarations yourself [easily](customization.md).
15
-
16
- We also provide an ability to specify cloning [configuration in-place](inline_configuration.md) like `deep_clonable` does.
17
-
18
- So, we took the best of these too and brought to the outside-of-Rails world.
19
-
20
- ### Why build a gem to clone models at all?
21
-
22
- That's a good question. Of course, you can write plain old Ruby services do handle the cloning logic. But for complex models hierarchies, this approach has major disadvantages: high code complexity and lack of re-usability.
23
-
24
- The things become even worse when you deal with STI models and different cloning contexts.
25
-
26
- That's why we decided to build a specific cloning tool.
@@ -1,83 +0,0 @@
1
- ---
2
- id: basic_example
3
- title: Basic Example
4
- ---
5
-
6
- Assume that you have the following model:
7
-
8
- ```ruby
9
- class User < ActiveRecord::Base
10
- # create_table :users do |t|
11
- # t.string :login
12
- # t.string :email
13
- # t.timestamps null: false
14
- # end
15
-
16
- has_one :profile
17
- has_many :posts
18
- end
19
-
20
- class Profile < ActiveRecord::Base
21
- # create_table :profiles do |t|
22
- # t.string :name
23
- # end
24
- end
25
-
26
- class Post < ActiveRecord::Base
27
- # create_table :posts
28
- end
29
- ```
30
-
31
- Let's declare our cloners first:
32
-
33
- ```ruby
34
- class UserCloner < Clowne::Cloner
35
- adapter :active_record
36
-
37
- include_association :profile, clone_with: SpecialProfileCloner
38
- include_association :posts
39
-
40
- nullify :login
41
-
42
- # params here is an arbitrary Hash passed into cloner
43
- finalize do |_source, record, params|
44
- record.email = params[:email]
45
- end
46
- end
47
-
48
- class SpecialProfileCloner < Clowne::Cloner
49
- adapter :active_record
50
-
51
- nullify :name
52
- end
53
- ```
54
-
55
- Now you can use `UserCloner` to clone existing records:
56
-
57
- ```ruby
58
- user = User.last
59
- # => <#User id: 1, login: 'clown', email: 'clown@circus.example.com'>
60
-
61
- operation = UserCloner.call(user, email: 'fake@example.com')
62
- # => <#Clowne::Utils::Operation...>
63
-
64
- operation.to_record
65
- # => <#User id: nil, login: nil, email: 'fake@example.com'>
66
-
67
- operation.persist!
68
- # => true
69
-
70
- cloned = operation.to_record
71
- # => <#User id: 2, login: nil, email: 'fake@example.com'>
72
-
73
- cloned.login
74
- # => nil
75
- cloned.email
76
- # => "fake@example.com"
77
-
78
- # associations:
79
- cloned.posts.count == user.posts.count
80
- # => true
81
- cloned.profile.name
82
- # => nil
83
- ```
@@ -1,46 +0,0 @@
1
- ---
2
- id: installation
3
- title: Installation & Configuration
4
- ---
5
-
6
- ## Installation
7
-
8
- To install Clowne with RubyGems:
9
-
10
- ```ruby
11
- gem install clowne
12
- ```
13
-
14
- Or add this line to your application's Gemfile:
15
-
16
- ```ruby
17
- gem 'clowne'
18
- ```
19
-
20
- ## Configuration
21
-
22
- Basic cloner implementation looks like:
23
-
24
- ```ruby
25
- class SomeCloner < Clowne::Cloner
26
- adapter :active_record # or adapter Clowne::Adapters::ActiveRecord
27
- # some implementation ...
28
- end
29
- ```
30
-
31
- You can configure the default adapter for cloners:
32
-
33
- ```ruby
34
- # put to initializer
35
- # e.g. config/initializers/clowne.rb
36
- Clowne.default_adapter = :active_record
37
- ```
38
-
39
- and skip explicit adapter declaration
40
-
41
- ```ruby
42
- class SomeCloner < Clowne::Cloner
43
- # some implementation ...
44
- end
45
- ```
46
- See the list of [available adapters](supported_adapters.md).
@@ -1,25 +0,0 @@
1
- ---
2
- id: overview
3
- title: Overview
4
- ---
5
-
6
- In [the basic example](basic_example.md), you can see that Clowne consists of flexible DSL which is used in a class inherited of `Clowne::Cloner`.
7
-
8
- You can combinate this DSL via [`traits`](traits.md) and make a cloning plan which exactly you want.
9
-
10
- **We strongly recommend [`write tests`](testing.md) to cover resulting cloner logic**
11
-
12
- Cloner class returns [`Operation`](operation.md) instance as a result of cloning. The operation provides methods to save cloned record. You can wrap this call to a transaction if it is necessary.
13
-
14
- ## Execution Order
15
-
16
- The order of cloning actions depends on the adapter (i.e., could be customized).
17
-
18
- All built-in adapters have the same order and what happens when you call `Operation#persist`:
19
- - init clone (see [`init_as`](init_as.md)) (empty by default)
20
- - [`clone associations`](include_association.md)
21
- - [`nullify`](nullify.md) attributes
22
- - run [`finalize`](finalize.md) blocks. _The order of [`finalize`](finalize.md) blocks is the order they've been written._
23
- - run [`after_clone`](after_clone.md) callbacks
24
- - __SAVE CLONED RECORD__
25
- - run [`after_persist`](after_persist.md) callbacks
@@ -1,11 +0,0 @@
1
- node_modules
2
- .DS_Store
3
- lib/core/metadata.js
4
- lib/core/MetadataBlog.js
5
- website/translated_docs
6
- website/build/
7
- website/yarn.lock
8
- website/node_modules
9
-
10
- website/i18n/*
11
- !website/i18n/en.json
@@ -1,6 +0,0 @@
1
- # Clowne Docs
2
-
3
- 1. Install `node` and `yarn`
4
- 2. `$ yarn` - install frontend deps
5
- 3. `$ yarn run start --port 3002`
6
- 4. `$ open http://localhost:3002`
@@ -1,88 +0,0 @@
1
- /**
2
- * Copyright (c) 2017-present, Facebook, Inc.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
-
8
- const React = require('react');
9
-
10
- class Footer extends React.Component {
11
- docUrl(doc, language) {
12
- const baseUrl = this.props.config.baseUrl;
13
- return baseUrl + 'docs/' + (language ? language + '/' : '') + doc;
14
- }
15
-
16
- pageUrl(doc, language) {
17
- const baseUrl = this.props.config.baseUrl;
18
- return baseUrl + (language ? language + '/' : '') + doc;
19
- }
20
-
21
- render() {
22
- const currentYear = new Date().getFullYear();
23
-
24
- const yearLabel = currentYear > 2018 ? `2018–${currentYear}` : currentYear;
25
-
26
- return (
27
- <footer className="nav-footer" id="footer">
28
- <section className="sitemap">
29
- <div className="footer--block">
30
- <h5>Project</h5>
31
- <div className="footer--list--item">
32
- <a href={this.props.config.repoUrl} target="_blank">
33
- GitHub
34
- </a>
35
- </div>
36
- <div className="footer--list--item">
37
- <a href={this.props.config.gemUrl} target="_blank">
38
- RubyGems
39
- </a>
40
- </div>
41
- </div>
42
- {/* <div className="footer--block">
43
- <h5>Community</h5>
44
- <div className="footer--list--item">
45
- <a href="https://discordapp.com/" target="_blank">Project Chat</a>
46
- </div>
47
- <div className="footer--list--item">
48
- <a href="https://twitter.com/" target="_blank">
49
- Twitter
50
- </a>
51
- </div>
52
- </div>
53
- */}
54
- <div className="footer--block">
55
- <h5>Resources</h5>
56
- <div className="footer--list--item">
57
- <a href="https://evilmartians.com/chronicles/clowne-clone-ruby-models-with-a-smile" target="_blank">Clowne: clone Ruby models with a smile</a>
58
- </div>
59
- </div>
60
- <div className="footer--block legals">
61
- <p className="footer--copy">
62
- <span className="copy">{yearLabel}</span>&nbsp;
63
- <a href="https://evilmartians.com" target="_blank">Evil Martians</a>
64
- </p>
65
- <div className="footer--list--item">
66
- <p>Released under the <a href="https://github.com/palkan/clowne/blob/master/LICENSE.txt" target="_blank">MIT license</a></p>
67
- </div>
68
- <div className="footer--list--item">
69
- <p>Built with <a href="https://docusaurus.io" target="_blank">Docusaurus</a></p>
70
- </div>
71
- </div>
72
- </section>
73
- <div className="footer--humanoids">
74
- <div className="humanoids">
75
- <div className="humanoids__martian">
76
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 108 92"><path fill="#E2CBB5" d="M26 88L8 78l18-10"></path><path fill="#9FA628" d="M94 92v-6H44c-5.5 0-10-4.5-10-10s4.5-10 10-10h50V32c0-14-7.9-22-22-22H48c-14.1 0-22 8-22 22v60h68z"></path><circle fill="#FFF" cx="48" cy="50" r="8"></circle><circle fill="#FFF" cx="72" cy="50" r="8"></circle><circle fill="#BF6C35" cx="48" cy="50" r="4"></circle><circle fill="#BF6C35" cx="72" cy="50" r="4"></circle><g fill="#663F4C"><path d="M48 60c-5.5 0-10-4.5-10-10s4.5-10 10-10 10 4.5 10 10-4.5 10-10 10zm0-16c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zM82 50c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10zm-16 0c0 3.3 2.7 6 6 6s6-2.7 6-6-2.7-6-6-6-6 2.7-6 6z"></path><path d="M102 8c-3.8 0-6-2.2-6-6 0-1.1-.9-2-2-2s-2 .9-2 2c0 2.2.5 4.1 1.5 5.7L88.2 13c-4-3.3-9.5-5-16.2-5H48c-6.7 0-12.2 1.7-16.2 4.9l-5.3-5.3C27.5 6.1 28 4.2 28 2c0-1.1-.9-2-2-2s-2 .9-2 2c0 3.8-2.2 6-6 6-1.1 0-2 .9-2 2s.9 2 2 2c2.2 0 4.1-.5 5.7-1.5l5.3 5.3c-3.2 4-4.9 9.5-4.9 16.2v34.8L3.9 78 24 89v3h4V32c0-12.9 7.1-20 20-20h24c12.9 0 20 7.1 20 20v32H44c-6.6 0-12 5.4-12 12s5.4 12 12 12h48v4h4v-8h-2l-4-8-4 8h-4l-4-8-4 8h-4l-4-8-4 8h-4l-4-8-4 8h-4l-4-8-3.1 6.2C37.1 80.7 36 78.5 36 76c0-4.4 3.6-8 8-8l4 8 4-8h4l4 8 4-8h4l4 8 4-8h4l4 8 4-8h8V32c0-6.7-1.7-12.2-4.9-16.2l5.3-5.3c1.6 1 3.5 1.5 5.7 1.5 1.1 0 2-.9 2-2s-1-2-2.1-2zM24 84.4L12.1 78 24 71.4v13z"></path></g></svg>
77
- </div>
78
- <div className="humanoids__human">
79
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 108 92"><path fill="#E2CBB5" d="M14 62v30h68v-6H32c-5.5 0-10-4.5-10-10s4.5-10 10-10h50v-4c4 0 8-3.6 8-8s-4-8-8-8V32c0-14-7.9-22-22-22H36c-14.1 0-22 8-22 22v14c-4 0-8 3.6-8 8s4 8 8 8z"></path><circle fill="#FFF" cx="36" cy="50" r="8"></circle><circle fill="#FFF" cx="60" cy="50" r="8"></circle><circle fill="#9FA628" cx="36" cy="50" r="4"></circle><circle fill="#9FA628" cx="60" cy="50" r="4"></circle><path fill="#BF6C35" d="M60 10H36c-14.1 0-22 8-22 22v2l4-4 6 6 6-6 6 6 6-6 6 6 6-6 6 6 6-6 6 6 6-6 4 4v-2c0-14-7.9-22-22-22z"></path><g fill="#663F4C"><path d="M36 60c-5.5 0-10-4.5-10-10s4.5-10 10-10 10 4.5 10 10-4.5 10-10 10zm0-16c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6zM60 60c-5.5 0-10-4.5-10-10s4.5-10 10-10 10 4.5 10 10-4.5 10-10 10zm0-16c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z"></path><path d="M12 63.8V92h4V32c0-12.9 7.1-20 20-20h24c12.9 0 20 7.1 20 20v32H32c-6.6 0-12 5.4-12 12s5.4 12 12 12h48v4h4v-8H74v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1h-6v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1h-6v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1h-6v-1c0-1.7-1.3-3-3-3s-3 1.3-3 3v1c-4 0-8-3.6-8-8s3.6-8 8-8h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h6v1c0 1.7 1.3 3 3 3s3-1.3 3-3v-1h4v-4.2c5-.9 8-5 8-9.8s-3-8.9-8-9.8V32c0-15.3-8.7-24-24-24H36c-15.3 0-24 8.7-24 24v12.2c-5 .9-8 5-8 9.8s3 8.9 8 9.8zm72-15.5c2 .8 4 3 4 5.7s-2 4.8-4 5.7V48.3zm-72 0v11.3c-2-.8-4-3-4-5.7s2-4.7 4-5.6z"></path></g></svg>
80
- </div>
81
- </div>
82
- </div>
83
- </footer>
84
- );
85
- }
86
- }
87
-
88
- module.exports = Footer;
@@ -1,141 +0,0 @@
1
- {
2
- "_comment": "This file is auto-generated by write-translations.js",
3
- "localized-strings": {
4
- "next": "Next",
5
- "previous": "Previous",
6
- "tagline": "A flexible gem for cloning your models",
7
- "active_record": "Active Record",
8
- "after_clone": "After Clone",
9
- "after_persist": "After Persist",
10
- "alternatives": "Motivation & Alternatives",
11
- "architecture": "Architecture",
12
- "basic_example": "Basic Example",
13
- "clone_mapper": "Clone mapper",
14
- "customization": "Customization",
15
- "exclude_association": "Exclude Association",
16
- "finalize": "Finalization",
17
- "Finalize": "Finalize",
18
- "from_v02_to_v10": "From v0.2.x to v1.0.0",
19
- "implicit_cloner": "Implicit Cloner",
20
- "include_association": "Include Association",
21
- "init_as": "Initialize Cloning Target",
22
- "Init As": "Init As",
23
- "inline_configuration": "Inline Configuration",
24
- "installation": "Installation & Configuration",
25
- "nullify": "Nullify Attributes",
26
- "Nullify": "Nullify",
27
- "operation": "Operation",
28
- "overview": "Overview",
29
- "parameters": "Parameters",
30
- "sequel": "Sequel",
31
- "supported_adapters": "Supported Adapters",
32
- "testing": "Testing",
33
- "traits": "Traits",
34
- "HISTORY": "HISTORY",
35
- "README": "README",
36
- "readme": "readme",
37
- "CHANGES": "CHANGES",
38
- "LICENSE": "LICENSE",
39
- "CHANGELOG": "CHANGELOG",
40
- "CONTRIBUTING": "CONTRIBUTING",
41
- "History": "History",
42
- "Readme": "Readme",
43
- "extending-remarkable": "extending-remarkable",
44
- "local-third-party-project-testing": "local-third-party-project-testing",
45
- "publish": "publish",
46
- "testing-changes-on-Docusaurus-itself": "testing-changes-on-Docusaurus-itself",
47
- "CODE_OF_CONDUCT": "CODE_OF_CONDUCT",
48
- "2016-03-11-blog-post": "Blog Title",
49
- "2017-04-10-blog-post-two": "New Blog Post",
50
- "2017-09-25-testing-rss": "Adding RSS Support - RSS Truncation Test",
51
- "2017-09-26-adding-rss": "Adding RSS Support",
52
- "2017-10-24-new-version-1.0.0": "New Version 1.0.0",
53
- "doc1": "Latin-ish",
54
- "Example Page": "Example Page",
55
- "doc2": "document number 2",
56
- "doc3": "This is document number 3",
57
- "doc4": "Other Document",
58
- "doc5": "Fifth Document",
59
- "copy-sync": "copy-sync",
60
- "copy": "copy",
61
- "emptyDir-sync": "emptyDir-sync",
62
- "emptyDir": "emptyDir",
63
- "ensureDir-sync": "ensureDir-sync",
64
- "ensureDir": "ensureDir",
65
- "ensureFile-sync": "ensureFile-sync",
66
- "ensureFile": "ensureFile",
67
- "ensureLink-sync": "ensureLink-sync",
68
- "ensureLink": "ensureLink",
69
- "ensureSymlink-sync": "ensureSymlink-sync",
70
- "ensureSymlink": "ensureSymlink",
71
- "fs-read-write": "fs-read-write",
72
- "move-sync": "move-sync",
73
- "move": "move",
74
- "outputFile-sync": "outputFile-sync",
75
- "outputFile": "outputFile",
76
- "outputJson-sync": "outputJson-sync",
77
- "outputJson": "outputJson",
78
- "pathExists-sync": "pathExists-sync",
79
- "pathExists": "pathExists",
80
- "readJson-sync": "readJson-sync",
81
- "readJson": "readJson",
82
- "remove-sync": "remove-sync",
83
- "remove": "remove",
84
- "writeJson-sync": "writeJson-sync",
85
- "writeJson": "writeJson",
86
- "changelog": "changelog",
87
- "http_signing": "http_signing",
88
- "Changelog": "Changelog",
89
- "license": "license",
90
- "ERROR-HANDLING": "ERROR-HANDLING",
91
- "LIMITS": "LIMITS",
92
- "block-bq-flat": "block-bq-flat",
93
- "block-bq-nested": "block-bq-nested",
94
- "block-code": "block-code",
95
- "block-fences": "block-fences",
96
- "block-heading": "block-heading",
97
- "block-hr": "block-hr",
98
- "block-html": "block-html",
99
- "block-lheading": "block-lheading",
100
- "block-list-flat": "block-list-flat",
101
- "block-list-nested": "block-list-nested",
102
- "block-ref-flat": "block-ref-flat",
103
- "block-ref-nested": "block-ref-nested",
104
- "block-tables-large": "block-tables-large",
105
- "block-tables": "block-tables",
106
- "inline-autolink": "inline-autolink",
107
- "inline-backticks": "inline-backticks",
108
- "inline-em-flat": "inline-em-flat",
109
- "inline-em-nested": "inline-em-nested",
110
- "inline-em-worst": "inline-em-worst",
111
- "inline-entity": "inline-entity",
112
- "inline-escape": "inline-escape",
113
- "inline-html": "inline-html",
114
- "inline-links-flat": "inline-links-flat",
115
- "inline-links-nested": "inline-links-nested",
116
- "inline-newlines-large": "inline-newlines-large",
117
- "inline-newlines": "inline-newlines",
118
- "rawtabs": "rawtabs",
119
- "example": "example",
120
- "parser": "parser",
121
- "parsing_block": "parsing_block",
122
- "parsing_core": "parsing_core",
123
- "parsing_inline": "parsing_inline",
124
- "plugins": "plugins",
125
- "renderer": "renderer",
126
- "AUTHORS": "AUTHORS",
127
- "PULL_REQUEST_TEMPLATE": "PULL_REQUEST_TEMPLATE",
128
- "Docs": "Docs",
129
- "GitHub": "GitHub",
130
- "Getting Started": "Getting Started",
131
- "API": "API",
132
- "Adapters": "Adapters",
133
- "Advanced Options": "Advanced Options",
134
- "Upgrade Notes": "Upgrade Notes"
135
- },
136
- "pages-strings": {
137
- "Help Translate|recruit community translators for your project": "Help Translate",
138
- "Edit this Doc|recruitment message asking to edit the doc source": "Edit",
139
- "Translate this Doc|recruitment message asking to translate the docs": "Translate"
140
- }
141
- }
@@ -1,14 +0,0 @@
1
- {
2
- "scripts": {
3
- "examples": "docusaurus-examples",
4
- "start": "docusaurus-start",
5
- "build": "docusaurus-build",
6
- "publish-gh-pages": "docusaurus-publish",
7
- "write-translations": "docusaurus-write-translations",
8
- "version": "docusaurus-version",
9
- "rename-version": "docusaurus-rename-version"
10
- },
11
- "devDependencies": {
12
- "docusaurus": "^1.0.5"
13
- }
14
- }