@jscad/dxf-serializer 3.0.3-alpha.0 → 3.0.4-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jscad/dxf-serializer",
3
- "version": "3.0.3-alpha.0",
3
+ "version": "3.0.4-alpha.0",
4
4
  "description": "DXF Serializer for JSCAD",
5
5
  "homepage": "https://openjscad.xyz/",
6
6
  "repository": "https://github.com/jscad/OpenJSCAD.org",
@@ -37,16 +37,15 @@
37
37
  ],
38
38
  "license": "MIT",
39
39
  "dependencies": {
40
- "@jscad/array-utils": "3.0.1-alpha.0",
41
- "@jscad/modeling": "3.0.3-alpha.0"
40
+ "@jscad/array-utils": "3.0.2-alpha.0",
41
+ "@jscad/modeling": "3.0.4-alpha.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@rollup/plugin-node-resolve": "^15.0.1",
45
- "@rollup/plugin-terser": "^0.4.3",
46
- "ava": "^4.3.3",
47
- "c8": "^8.0.0",
48
- "rollup": "^2.79.1",
49
- "rollup-plugin-banner": "^0.2.1"
44
+ "@rollup/plugin-node-resolve": "^15.0.0",
45
+ "@rollup/plugin-terser": "^0.4.0",
46
+ "ava": "^6.3.0",
47
+ "c8": "^10.1.0",
48
+ "rollup": "^4.52.0"
50
49
  },
51
- "gitHead": "b0a83db054ec02ccddd9e19e51f86bf30f72a69e"
50
+ "gitHead": "1de52a2b7b6bd31134fd0b72a2842f31ecf8f237"
52
51
  }
package/rollup.config.js CHANGED
@@ -1,7 +1,10 @@
1
- import banner from 'rollup-plugin-banner'
1
+ import * as fs from 'fs'
2
+
2
3
  import { nodeResolve } from '@rollup/plugin-node-resolve'
3
4
  import terser from '@rollup/plugin-terser'
4
5
 
6
+ const {name, version, license} = JSON.parse(fs.readFileSync('package.json'))
7
+
5
8
  export default {
6
9
  input: 'src/index.js',
7
10
 
@@ -9,17 +12,18 @@ export default {
9
12
  {
10
13
  file: 'dist/jscad-dxf-serializer.min.js',
11
14
  format: 'umd',
12
- name: 'jscadDxfSerializer'
15
+ name: 'jscadDxfSerializer',
16
+ banner: `/*! ${name} V${version} (${license}) */`
13
17
  },
14
18
  {
15
19
  file: 'dist/jscad-dxf-serializer.es.js',
16
- format: 'es'
20
+ format: 'es',
21
+ banner: `/*! ${name} V${version} (${license}) */`
17
22
  }
18
23
  ],
19
24
 
20
25
  plugins: [
21
26
  nodeResolve(),
22
- banner('<%= pkg.description %>\n@module <%= pkg.name %>\n@version <%= pkg.version %>\n@license <%= pkg.license %>'),
23
27
  terser({ compress: { module: true }, mangle: false, format: { comments: 'some' } })
24
28
  ]
25
29
  }
package/src/index.js CHANGED
@@ -8,19 +8,20 @@ const mimeType = 'image/vnd.dxf'
8
8
 
9
9
  /**
10
10
  * Serializer of JSCAD geometries to DXF entities.
11
+ *
11
12
  * @module io/dxf-serializer
12
13
  * @example
13
- * const { serializer, mimeType } = require('@jscad/dxf-serializer')
14
+ * import { serializer, mimeType } from '@jscad/dxf-serializer'
14
15
  */
15
16
 
16
17
  /**
17
18
  * Serialize the give objects to AutoCad DXF format.
19
+ *
18
20
  * @param {Object} options - options for serialization, REQUIRED
19
21
  * @param {String} [options.geom2To='lypolyline'] - target entity for 2D geometries, 'lwpolyline' or 'polyline'
20
22
  * @param {String} [options.geom3To='3dface'] - target entity for 3D geometries, '3dface' or 'polyline'
21
23
  * @param {Object|Array} objects - objects to serialize as DXF
22
24
  * @returns {Array} serialized contents, DXF format
23
- * @alias module:io/dxf-serializer.serialize
24
25
  * @example
25
26
  * const geometry = primitives.cube()
26
27
  * const dxfData = serializer({geom3To: '3dface'}, geometry)
@@ -60,7 +61,7 @@ EOF
60
61
  return [dxfContent]
61
62
  }
62
63
 
63
- /**
64
+ /*
64
65
  * Serialize the given objects as a DXF entity section
65
66
  * @param {Array} objects - objects to serialize as DXF
66
67
  * @param {Object} options - options for serialization
@@ -1,6 +1,6 @@
1
1
  import test from 'ava'
2
2
 
3
- import { arc, path2 } from '@jscad/modeling'
3
+ import { arc, path2, TAU } from '@jscad/modeling'
4
4
 
5
5
  import { serialize } from '../src/index.js'
6
6
  import { dxfHeaders, dxfClasses, dxfTables, dxfBlocks, dxfObjects } from '../src/autocad_AC2017.js'
@@ -12,7 +12,7 @@ test('2D Path to DXF LWPOLYLINE', (t) => {
12
12
  const exp1 = [empty]
13
13
  t.deepEqual(obs1, exp1)
14
14
 
15
- const p2 = arc({ center: [5, 5], endAngle: 45, segments: 16 })
15
+ const p2 = arc({ center: [5, 5], endAngle: TAU / 4, segments: 16 })
16
16
 
17
17
  const obs2 = serialize({}, p2)
18
18
  const exp2 = [lwpolyline0]
@@ -74,7 +74,7 @@ CAD00001
74
74
  100
75
75
  AcDbPolyline
76
76
  90
77
- 4
77
+ 5
78
78
  70
79
79
  0
80
80
  10
@@ -82,17 +82,21 @@ AcDbPolyline
82
82
  20
83
83
  5
84
84
  10
85
- 5.943009745777588
85
+ 5.923879532511287
86
86
  20
87
- 5.33276511140516
87
+ 5.38268343236509
88
88
  10
89
- 5.778534761263023
89
+ 5.707106781186548
90
90
  20
91
- 5.627601486219662
91
+ 5.707106781186548
92
92
  10
93
- 5.525321988817728
93
+ 5.38268343236509
94
94
  20
95
- 5.850903524534119
95
+ 5.923879532511287
96
+ 10
97
+ 5
98
+ 20
99
+ 6
96
100
  0
97
101
  ENDSEC
98
102
  ${dxfObjects({})}